点击下方卡片,关注 「AI视界引擎」 公众号
大多数领域适应(DA)方法基于卷积神经网络(CNNs)或视觉 Transformer (ViTs)。它们作为编码器对齐域之间的分布差异,但没有考虑到它们独特的特性。例如,由于ViT在捕捉全局表示方面的卓越能力,它在精确度方面表现出色,而CNN在捕捉局部表示方面具有优势。这一事实促使作者设计了一种混合方法,以充分利用ViT和CNN的优势,称为显式类别特定边界(Explicitly Clas-specific Boundaries,ECB)。ECB在ViT上学习CNN,以结合它们各自的优势。特别是,作者利用ViT的特性通过最大化两个分类器输出之间的差异,明确找到类别特定的决策边界,以检测远离源支持的目标样本。
相比之下,CNN编码器通过最小化两个分类器概率之间的差异,根据先前定义的类别特定边界对目标特征进行聚类。最终,ViT和CNN相互交换知识,以提高伪标签的质量并减少这些模型的知识差异。与传统的DA方法相比,ECB实现了更优越的性能,这验证了在混合模型中的有效性。
1 Introduction
在过去的几年里,卷积神经网络(CNNs)一直是深度学习技术在计算机视觉任务中的基石。这一进步主要归功于卷积层,它有效地捕捉局部的空间层次结构,以实现鲁棒的图像表征。这种局部特征提取能力使得CNN在从图像分类到目标检测等多种视觉任务中取得了最先进(SOTA)的性能。尽管其在局部特征提取方面功能强大,但CNN在捕捉更全局和综合的视觉上下文方面存在一定的局限性。
为了克服这一局限,引入了视觉 Transformer (ViT)。ViT首先将图像划分为多个 Patch ,并将其转换为一系列的 Token 。位置嵌入被加入到 Token 中,以保留这些 Patch 的顺序。然后,模型使用 Transformer 块将这些 Token 提取为图像表征的特征。得益于ViT中的自注意力机制,它能够忽略区域间的空间接近性,对图像中不同区域的重要性进行加权,从而得到具有令人印象深刻的精确性的全面全局表征。ViT的进步导致了机器学习领域在一系列任务上对基于CNN的方法的逐渐倾向。
图1:所提出混合网络架构的图解,该架构利用了ViT和CNN模型的优势。
ECB并没有单纯地关注用ViT取代CNN,而是与此趋势有所不同。作者认为,如果结合得当,ViT和CNN架构都有各自的优势可以利用。例如,ViT展示了捕捉全局表示的能力,并在大规模数据集上训练时表现出鲁棒性。然而,由于它由多层感知机(MLP)层组成,如果数据集有限,ViT可能会过拟合。另一方面,由于具有空间不变性和捕捉局部表示的鲁棒性,CNN在相对较小的数据集上表现良好。
受到这一点的启发,作者提出了一种新颖的方法,充分利用这两种架构的独特优势。如图1所示,作者利用ViT在确定更一般的类特定边界方面的优越准确性,通过最大化两个分类器输出之间的差异,使作者能够估计最坏情况下的超空间。一旦定义了这些类特定边界,CNN通过将目标特征聚类到源域附近来最小化差异,旨在降低在已识别的超空间内的错误。然而,ViT和CNN之间的知识差异仍然存在,因此作者采用了额外的协同训练来弥合这一差距,同时提高伪标签的质量。在无监督领域适应(UDA)领域,MCD 强调了对于远离源域支持的目标样本,最大化分类器输出之间的差异的重要性,然后通过特征生成器最小化这种差异,使目标特征更接近源域的支持。
尽管无监督领域自适应(UDA)在领域适应(DA)任务上取得了重大进展,但正如文献[14, 15, 16, 28, 31, 34, 35, 36]中讨论的那样,半监督领域自适应(SSDA)场景被广泛采用,与UDA设置相比,它能显著提高分类精度。这是因为UDA下训练的模型只能访问到标记的源数据,而在SSDA设置下训练的模型除了标记的源数据外,还能从一些标记的目标样例中获得额外的目标信息。然而,之前的DA方法仅充分利用了卷积神经网络(CNN)作为特征提取器的独特优势。
具体来说,文献[12, 15, 21, 31]中的工作采用了CNN编码器后接多层感知器(MLP)分类器的组合,但针对源域的决定边界导致了DA中的数据偏差。为了解决这种偏差,一些之前的工作通过增加一个MLP分类器来引入多模型,该结构包括一个单一的CNN编码器和两个MLP分类器。此外,文献[22, 34]中最初的DA方法使用两个CNN编码器和两个MLP分类器,通过利用协同训练策略来提高分类精度,这种策略通过知识交换确保 未标注 目标数据的一致性。然而,这些方法仍然遵循相同的规则,即选择CNN模型作为编码器,将MLP指派为分类器。
因此,ViT捕捉全局信息的能力尚未被利用。受到这一理念的启发,作者利用这种多模型架构构建了一个新的混合框架,该框架在DA设置中结合了ViT和CNN的优势。然而,与之前的工作相比,所提出的方法在测试阶段并不需要任何额外的复杂性。
本文的贡献总结如下:
- 作者引入了一种混合模型,可以利用ViT的优势。不仅仅是简单地将CNN替换为ViT,作者还可以将ViT的特征空间驱动至CNN。
- ECB展示了ViT和CNN的成功集成,使这两个强大的框架产生了协同效应。
- 所提出的方法优于先前的工作,在数据增强(DA)基准数据集上达到了最新的顶级性能(SOTA)。
2 Related Works
协同训练。 在半监督学习(SSL)领域,协同训练是一种旨在提高鲁棒性的方案,最初由[1]提出,并利用来自双重视角的数据,使得两个模型能够迭代地“教导”对方。在这个过程中,每个模型轮流对 未标注 数据进行预测,最确定的预测用来增强另一个模型的训练集。这种相互教导的策略可以显著提高两个模型的性能,特别是在标记数据稀缺的情况下。
在域适应(DA)的背景下,FixBi,DECOTA 和 MVCL提供了创新的协同训练策略。值得注意的是,FixBi 和 DECOTA 利用两个不同的分支,每个分支包括一个特征提取器和分类器。它们在协同训练过程中使用 MIXUP 增强来减少源域和目标域之间多个中间域的差距。然而,它们忽略了强增强的潜在好处。
相比之下,虽然MVCL在协同训练方法中同时使用弱增强和强增强,但它依赖于单一的基于CNN的编码器和两个分类器来生成两种视角。这限制了 未标注 目标数据的表征,剥夺了其全面的全球信息。为了解决这些限制,作者采用 ViT 与基于CNN的编码器结合使用。这种组合生成了两种表征视角,既包含局部信息又包含全局信息。此外,作者为 未标注 的目标样本整合了弱增强和强增强,这增强了作者协同训练策略的互动性和有效性。
领域适应框架。 在DA领域,已经提出了各种框架。早期的方法如MME,APE,和SENTRY采用了构建具有特征提取器和分类器耦合的深度学习框架的传统方法。然而,源域和目标域共享相同的决策边界,这导致了数据对源域的偏向。
为了减轻数据偏差,MDD和UODA引入了两个不同的分类器。它们证明了使用双重分类器设置可以提高分类任务的性能。这些方法使用单一特征提取器在标记的源数据和目标数据集上进行训练。然而,由于标记的源样本,源域比目标域更可靠,这可能导致特征提取器过分专注于源数据表示。这导致在学习过程中累积错误,对源域的学习偏差。
为了解决这个问题,DECOTA提出了一种新颖的架构,通过分解两个不同的分支,UDA(无监督领域适应)和SSL(半监督学习),每个分支都包含一个特征提取器和单个分类器。具体来说,UDA分支在标记的源数据和 未标注 的目标数据上进行训练,而SSL分支在标记和 未标注 的目标数据上进行训练。得益于SSL分支,仅关注目标域有助于减轻学习偏差。
此外,UDA分支还能够通过协同训练策略利用SSL分支的额外信息来减轻学习偏差。尽管该领域取得了显著的进步,但DECOTA仍然遵循使用CNN作为特征提取器的框架。因此,不可能完全提高 未标注 目标样本的伪标签质量,并基于ViT的性质利用学习空间。因此,仍需探索ViT在捕获全局信息方面的能力。作者不是简单地用ViT替换CNN,而是提出了一种混合模型,结合了两种架构的优势。
3 Methodology
在域适应(DA)场景中,作者处理以下数据设置:
标记源域:表示为 ,包含 个丰富标记的样本。
标记的目标域:表示为 ,包括 个有限标记的目标样本。值得注意的是,在UDA中, 是空的。
未标注 的目标域:表示为 ,包括 个在训练阶段没有对应标签的目标样本。
在这个设置中,源域中的样本和标记的目标域中的样本分别与对应的真实标签和相关联。有一个假设,即标签,和都属于具有个类别的同一标签空间。值得注意的是,,表示 未标注 目标数据的标签,仅在测试阶段使用。此外,标记的目标样本数量远小于和。
此外,作者实现了两种不同的随机数据转换:和。函数是一种弱增强方法,采用轻量级的扰动,如随机水平翻转和随机裁剪,而则是一种强增强方法,使用RandAugment,涉及14种转换技术。
具体来说,和都应用于 未标注 集,将样本转换为两个版本和。随后,作者在标记集和 未标注 集上训练模型,并在上评估训练后的模型。
为了提高在 上的性能,作者提出了一个由ViT和CNN分支组成的混合模型。ViT分支由一个ViT编码器 和一个分类器 组成,而CNN分支包括一个CNN编码器 和一个分类器 。
图2:采用所提出的“寻找以征服”策略的混合网络图解。作者使用ViT构建,它全面推动两个分类器和扩展类别特定的边界。此外,作者选择CNN作为第二个编码器,基于ViT确定的边界对目标特征进行聚类。这些编码器都使用两个分类器,。
作者的训练策略分为三个步骤:
有监督训练:作者分别在 上训练 ViT 和 CNN 分支,其知识被适配到 ,如图2所示。
从发现到征服:在图2中,作者通过最大化和之间的差异,基于固定的找到特定于类的边界。随后,通过最小化差异,基于这些特定于类的边界对目标特征进行聚类。
协同训练:为了在上两个分支之间有效地交换知识,ViT分支为弱版本生成一个伪标签,以用强版本教导CNN分支。然后,也应用相反的过程,如图3所示。
图3:协同训练策略说明。
Supervised Training
在这个阶段,作者采用标准的交叉熵损失来训练模型的两个分支:ViT分支和CNN分支。在ViT分支中,作者的目标是减少标记数据的经验损失,其定义如下:
在此文中, 表示标准的交叉熵损失。当 时, 表示softmax函数,它将 logits 转换为 个类别的概率。首先,ViT编码器 将标记样本 映射到一个 维特征空间。接着,分类器 将输入特征空间 分类的 logits。最后,作者最小化通过 预测的标记概率与提供的真实标签 之间的交叉熵损失,确保在标记数据上的预测准确。
同样地,卷积神经网络(CNN)分支也是使用带标签的数据进行训练,以最小化以下经验损失:
其中 是通过使用CNN编码器从标记样本中提取特征获得的。这些特征随后通过分类器映射到逻辑值。
最后,softmax函数将这些逻辑值转换成个类别的概率。这个过程的主要目标是最小化交叉熵损失,以确保预测概率与真实标签之间的紧密对齐。
Finding to Conquering
不一致性损失定义。 在这项工作中,作者使用两个不同分类器 和 的概率输出 a 和 b 之间的绝对差值,分别对应每个类别,以确保不一致性损失始终为非负,如下所示:
在这里, 和 分别对应于两个分类器对第 类的概率输出。用总类别数进行归一化可以确保差异损失是尺度不变的,并且在0到1之间有界。
差异损失充当了两个分类器 a 和 b 的概率输出之间分歧的度量。差异损失为零表示它们在所有类别上完全一致。另一方面,更高的差异损失指向两个分类器预测之间更显著的分歧。这种损失在那些作者希望扩大特定类别边界的场景中是有益的。
寻找阶段。 在这一阶段,作者旨在通过最大化分类器 与固定的 ViT 编码器 输出之间的差异损失,来扩展分类器特定的边界。这意味着作者有可能估计最坏情况下的超空间,这可以识别出位于更广泛源分布支持范围之外的靶样本,而不是使用 CNN 编码器 。为了避免这个问题,作者在标记样本上加入了一个有监督的损失,如下所示:
在这里, 和 分别表示使用ViT编码器在 未标注 的目标数据上和的概率输出。
通过结合对标记样本的监督损失,作者确保分类器不仅能够区分不同的类别,而且尽可能地偏离当前已学习的类别特定边界,同时确保所有标记样本都能被正确区分。本质上,寻找阶段是在最大化探索类别特定边界的差异与最小化监督损失以保持分类精度之间的一种微妙的平衡。
征服阶段。 在这一阶段,作者利用由ViT编码器建立的特定类别边界作为参考,来指导CNN编码器的优化,同时保持分类器和固定。主要目标是减少两个分类器和输出之间的差异,使得由CNN编码器提取的特征能够被准确分类。
目标函数如下表述:
在公式 和 中,分别表示带有CNN编码器在 未标注 目标数据上和的概率输出。
通过关注最小化分歧损失,由CNN编码器提取的特征在ViT编码器的类特定边界上进行聚类,即使在估计最坏情况下的超空间时也是如此。这种对齐至关重要,因为它确保了 未标注 样本不仅被正确分类,而且对类特定边界的变化具有鲁棒性。
Co-training
遵循“发现-攻克”(FTC)策略,作者认识到在ViT和CNN分支之间存在显著的知识差异,这种差异需要被最小化以达到最佳性能。为了解决这个问题,作者采用了如图3所示的双重目标的协同训练策略。第一个目标是减少两个分支之间的差距,通过相互增强并利用每个分支的优势来提高伪标签的质量。第二个目标是特别提升CNN分支的性能,这得益于ViT分支数据中捕捉复杂模式和关系的能力。
最初,作者使用由ViT分支生成的伪标签来指导CNN分支的学习过程。这是通过设定一个固定阈值,记作 ,并按以下方式应用它来实现的:
其中 是二进制指示器,如果 [] 内的条件满足则返回1,否则返回0。在这个背景下, 表示对于 未标注 目标样本的弱增强版本,ViT分支的预测。然后,将超过固定阈值 的最高预测转换为伪标签 。
最后,在强增强目标样本上,CNN分支的输出预测 通过交叉熵损失调整为与伪标签 密切对齐。这个过程确保了CNN分支有效地从ViT分支的预测中学习,使得两个分支之间的一致性和对齐性更好。
同样地,作者也利用来自CNN分支的伪标签来指导ViT分支的学习过程。这是通过设置另一个固定的阈值,记作,并按如下方式使用它来实现的:
其中 是卷积神经网络分支对弱增强目标样本的预测。伪标签 是从高于阈值 的卷积神经网络分支的最高预测中生成的。同时, 表示 Transformer (ViT)分支在强增强目标样本上的输出预测,并且通过交叉熵损失调整以与伪标签 接近一致。通过协同训练过程,作者增强了模型在 未标注 目标数据上的泛化能力和准确性能。
Testing Phase
为了与之前的领域适应(DA)方法进行公平的比较,作者在测试阶段选择了如图2所示与分类器相关联的CNN编码器,如下所示:
其中 是 未标注 目标样本的预测类别。
4 Experiments
Experiment Setup
数据集。作者在标准的域适应(DA)基准数据集上进行了广泛的评估:Office-Home 和DomainNet。在_Office-Home_数据集上,作者对这4个域的所有可能组合进行了实验:真实()、剪贴画()、艺术()和产品(),共计65个类别。与先前的SSDA方法一致,作者在DomainNet的一个子集上进行了评估,该子集包括4个域中的126个类别:真实()、剪贴画()、绘画()和素描(),使用了这些域的7种不同混合。
实现细节。作者在ViT编码器上使用ViT/B-16,而CNN编码器采用ResNet。对于UDA,作者遵循之前的工作,使用ResNet-50作为 Backbone 网络。同样,作者遵循先前SSDA方法的评估协议,在DomainNet数据集的此场景中应用ResNet-34。每个模型最初都在ImageNet-1K上进行预训练。鉴于 Backbone 架构的不同性质,作者将有两个不同的分类器和,每个分类器由两个全连接层加上softmax函数组成。
作者使用带有动量和权重衰减的随机梯度下降来优化模型。考虑到ViT和CNN分支的不同架构,作者为ViT和CNN设置初始学习率为和。对于和,小批量大小均设置为。伪标签选择的置信度阈值设置为和。对于上的两个分支的预热阶段,作者进行了100,000次迭代的微调。然后,作者更新学习率调度器,继续进行50,000次迭代的方法训练。
Comparison Results
作者评估了ECB方法及之前的SOTA方法在_Office-Home_和_DomainNet_数据集上,分别在UDA和SSDA设置下的表现。为了与其他DA方法进行公平的比较,作者依据CNN分支的分类结果,在UDA中使用ResNet-50作为主干网络,在SSDA中使用ResNet-34。因此,与之前的DA方法相比,ECB并没有增加任何测试复杂性。此外,作者在补充材料中提供了关于实验结果的更多细节。
在UDA设置下对_Office-Home_的结果。 作者实施的ECB方法在所有域偏移任务中显著提高了分类效率,如详细表1所示,在比较方法中一致地表现出色。值得注意的是,ECB分别在,和任务中记录了准确度提升+7.7%,+8.1%和+7.2%,超过了第二佳结果。此外,ECB达到了令人印象深刻的平均分类准确率81.2%,比最近的竞争方法EIDCo高出惊人的5.4个百分点。
表1: 在不同领域偏移下,UDA方法在Office-Home上的准确率(%)。ECB (CNN) 表示将ECB应用于ResNet-50时的性能表现。为了便于识别,最佳的准确率结果和次佳的准确率结果分别以粗体和下划线标注。
在 SSDA 设置下对 DomainNet 数据集的结果。 表2展示了在 DomainNet 数据集上1-shot和3-shot设置下的结果,其中作者ECB方法的CNN分支优于所有先前方法。与最接近的竞争方法,G-ABC相比,ECB(CNN)在3-shot学习任务上实现了令人印象深刻的最大性能提升。即使在更为受限的1-shot学习中,ECB方法也显示出鲁棒的性能,在任务上最低提升了+3.1%。平均而言,ECB方法在1-shot设置中验证了性能提升+6.6%,在3-shot设置中提升+7.1%。
5 Analyses
消融研究。单个分类器同时用标记的源数据和目标数据进行训练。因此,它很容易被标记的源数据所主导。这种不平衡阻止了分类器有效地使用额外的标记目标数据,导致学习到的和真实的类特定边界之间的不匹配。这种不匹配称为数据偏差。因此,作者进行消融研究以评估所提出方法中每个阶段的有效性。重点是解决ViT分支中的数据偏差问题,利用CNN分支在_DomainNet_下进行任务时生成高质量伪标签的能力,如图3(a)所示。
最初,在监督训练阶段,作者只能生成大约8,000个总伪标签。在整合了FTC策略之后,总伪标签顺利增加到14,000,同时稳定保持10,000个正确伪标签。这通过生成大量伪标签在实质性减轻数据偏差方面发挥了关键作用,这提高了 未标注 目标数据集的多样性和代表性。最后的实验是为了强调,在FTC阶段之后,协同训练对于减少剩余差距是必要的,这产生了总共18,000个伪标签和16,000个正确伪标签。
协同训练的有效性。 作者进一步在DomainNet数据集上,针对3-shot设置研究了ECB的一个变体,称为单向教学。在这种方法中,作者使用 或 之一为剩余的分支生成伪标签,同时通过使用监督训练后接FTC策略来保持标准配置。如表3所示,使用单向教学时性能有所下降。
具体来说,在 场景中,ViT分支通过最小化 为 未标注 的目标数据生成伪标签以教导CNN分支。需要强调的是,ViT分支没有从CNN分支接收伪标签,导致CNN分支比ViT分支性能高出+3.3%。相比之下,在 场景中,最小化 ,ViT分支的平均性能比CNN分支高出+10.9%。
表3:在3次射击设置下,针对DomainNet的共训练与单向教学消融研究。
然而,值得一提的是,与 场景相比,ViT分支的性能下降了-1.1%。这种性能下降归因于CNN分支在ViT分支的学习过程中引入了噪声。另一方面,当采用 时,CNN分支显著提高了平均性能,达到+15.3%,突显了与CNN分支相比,ViT分支具有更优秀的泛化能力。这些场景试图通过协同训练策略利用CNN和ViT的独特优势,展示了两个分支之间的相互知识交流及其对 未标注 目标数据泛化的潜力。因此,通过协同训练,ViT和CNN分支在目标域上的平均性能分别达到最优结果85.7%和85.5%。
架构分析。 作者研究了在DomainNet数据集上,使用3-shot设置,基于ResNet-34的CNN和ViT/B-16的ViT,对诸如“CNN + CNN”和“ViT + ViT”等架构变体的独特优势的有效性,如图(b)所示。平均结果显示,仅使用CNN时的“CNN + CNN”架构只能达到大约77.0%,这是由于缺乏全局信息。
图4:(a)在任务的3-shot设置下,使用ResNet-34在DomainNet上由CNN分支生成的伪标签的质量和数量。(b)在DomainNet的3-shot设置下,不同 Backbone 网络的设置比较。显示的是所有域迁移任务的平均准确率。
此外,引入ViT主要目的是提高性能,这使得“ViT + ViT”架构相比于“CNN + CNN”架构取得了显著增加7.0%的成绩。这种架构能够建立更一般的类特定边界,但与之前使用ResNet-34作为 Backbone 网的SSDA方法相比,这是不公平的,局部表示的缺失极为重要。因此,证据显示,结合“CNN + ViT”并通过协同训练的桥梁,两个分支都能达到最高的准确率,大约为85.5%。
注意力图可视化分析。 为了展示作者设计框架方法的有效性,作者使用了Grad-CAM提供的注意力图可视化结果,如表4所示。_CNN支持ViT_:在应用ECB之前,ViT在“_大炮_”类别中对背景敏感,而CNN仍然捕捉到正确的目标。然而,在应用ECB之后,ViT能够明确识别目标目标并回归以增强CNN的鲁棒性。_ViT支持CNN_:在应用ECB之前的“_鸟_”类别中,CNN仅获得了目标的部分信息,而ViT能够覆盖整个输入目标。然后,通过使用ECB,ViT补充了CNN,使其能准确聚焦于目标。因此,这些发现证实了两个分支都提供了独特的专业知识,并相互增强,而不是一个 Mask 另一个。
表4:为‘Cannon’和‘Bird’示例可视化特征图,以研究在使用与不使用所提的ECB方法情况下,CNN和ViT的学习行为。
特征可视化。 作者详细展示了在3-shot设置下,针对_DomainNet_数据集的任务中的特征空间可视化。这个可视化清晰地突出了源域(蓝色)和目标域(红色)。图(a)和图(b)展示了在适配之前,CNN和ViT分支的域对齐情况。
图5:作者在3次射击场景下,使用t-SNE 在 DomainNet 数据集上对 任务的可视化特征空间。图(a)和图(b)分别展示了在适配之前由CNN和ViT分支获得特征。图(c)和图(d)则展示了当实施ECB方法时,依赖于FTC策略存在与否的CNN分支的分布变化。
特别是,图(a)可视化了在应用ECB之前由CNN分支提取的特征空间,展现了一个指示分类器性能较弱的散点分布。相比之下,图(b)则展示了对于同样的 未标注 目标数据,ViT分支中的明确定义的簇,这强调了与CNN分支相比,ViT在识别更一般的类别特定边界时的鲁棒性。图(c)和图(d)则展示了在实施ECB时,根据FTC策略的存在与否,CNN分支的分布变化。最初,图(c)表明在未采用FTC策略实施ECB时,目标表示出现了重叠(用绿色框标出)。另一方面,图(d)显示了在应用FTC策略时,源域和目标域的表示得到了良好对齐,且簇之间有明确的分离,这证明了作者提出方法的有效性。
6 Conclusion
在这项工作中,作者开发了一种在采用ECB策略的ViT上学习CNN的新方法,利用了ViT和CNN的优势。这种创新方法着重于减少数据偏差,并显著提高生成的伪标签的精确度,这在源域和目标域之间保持一致。ECB在CNN分支上的评估也是公平的,并且在各种DA基准数据集上超越了之前的SOTA方法。
讨论。 作者发现确定一个最佳阈值对 { 和 } 是相当耗时的。因此,作者为未来的研究留下了一个开放的课题,即使用动态阈值算法进行域适配,而不是固定阈值。
参考
[1].Learning CNN on ViT: A Hybrid Model to Explicitly Class-specific Boundaries for Domain Adaptation.
点击上方卡片,关注 「AI视界引擎」 公众号