English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french
查看: 3|回复: 0

模态编码器 | DINO-自监督学习在视觉Transformer中的新特性探索

[复制链接]
查看: 3|回复: 0

模态编码器 | DINO-自监督学习在视觉Transformer中的新特性探索

[复制链接]
查看: 3|回复: 0

261

主题

0

回帖

793

积分

高级会员

积分
793
cAJWnYdr

261

主题

0

回帖

793

积分

高级会员

积分
793
6 天前 | 显示全部楼层 |阅读模式

今天看一篇经典方法DINO,Meta AI在2021年的一篇工作。研究动机如下:
Transformer模型在自然语言处理领域取得了显著成就,但在视觉任务中与卷积神经网络(CNNs)相比,并未展现出明显的优越性。自监督学习是NLP中Transformer成功的关键因素之一,如BERT和GPT等;然而,在视觉识别任务中,图像级别的监督往往将丰富的视觉信息简化为单一概念,这可能限制了模型学习更复杂特征的能力。当前的自监督学习方法虽然对图像显示出了潜力,但它们通常依赖于特定组件以避免特征空间坍塌或提升性能,并且这些方法在Vision Transformer上的应用尚未成熟。
DINO(Distillation with No Labels)旨在通过自监督学习挖掘Transformer在视觉识别中的潜力,无需人工标注标签,仅通过输入图像及其变换(如旋转、随机裁剪等),使网络能够学习到图像的语义信息及不同角度和尺度下的特征。这种方法利用大规模无标签数据进行训练,提供了一种有效的特征表示学习方式,解决了监督学习中对大量标注数据的依赖问题。
01、方法介绍

在DINO中,作者提出了一种新的对比学习策略,通过比较原始图像及其随机裁剪版本的特征,促使模型学习更优质的视觉通用表征,从而在无需标签的情况下实现了出色的视觉识别效果。它可以被解释为一种无标签的知识蒸馏形式。DINO通过直接预测一个使用动量编码器构建的教师网络的输出来简化自监督训练,损失函数使用标准的交叉熵损失。

先看下知识蒸馏:
知识蒸馏是一种学生网络 匹配给定教师网络 的学习范式,其参数分别是 。给定输入图片 x,两个网络都输出 K 维上的概率分布,用 表示。概率 P 是通过使用 Softmax 函数对网络 g 的输出进行归一化来获得的:

给定一个固定的教师网络 ,通过最小化学生网络 和教师网络 的参数的交叉熵损失来学习匹配这些分布:

式中,
为了让模型能够学习到更具泛化能力的特征,作者首先使用了多种数据增强策略得到不同的视图,从给定的图像中生成一组不同视图  V 。V这个集合包含两个全局视图 以及几个分辨率较小的局部视图。所有局部视图输入给学生模型,全局视图输入给教师模型,鼓励“局部到全局”的对应关系。然后使用下面的损失函数优化:

这种损失是通用的,可以用于任意数量的视图 (公式中是 2)。分辨率为 224×224 的2个全局视图覆盖原始图像的大 (比如大于 50%) 部分区域,分辨率为 96×96 的局部视图仅仅可以覆盖原始图像的小区域 (比如小于 50%)。教师网络和学生网络共享相同的架构 g,通过随机梯度下降最小化方程来学习参数。
如图所示是 DINO 的算法流程,一张图片 x 的两个View 分别输入给学生模型 和教师模型 两个网络具有相同的架构但参数不同,教师网络的输出通过一个 Batch 的平均值进行 centering 操作,每个网络输出一个 K 维的特征,并使用 Softmax 进行归一化。然后使用交叉熵损失作为目标函数计算学生模型和教师模型之间的相似度在教师模型上使用停止梯度 (stop-gradient, sg) 算子来阻断梯度的传播,只把梯度传给学生模型使其更新参数。教师模型使用学生模型的 EMA 进行更新。
数据增强

DINO 中最核心的数据采样策略便是图像裁剪,这也是自监督学习领域应用非常广泛的主策略之一。一般来说,可以将裁剪后的图像分为两种:

  • Local views: 即局部视角,也称为 small crops,指的是抠图面积小于原始图像的 50%;
  • Global views: 即全局视角,也称为 large crops,指的是抠图面积大于原始图像的 50%;
在 DINO 中,学生模型接收所有预处理过的 crops 图,而教师模型仅接收来自 global views 的裁剪图。这是为了鼓励从局部到全局的响应,从而训练学生模型从一个小的裁剪画面中推断出更广泛的上下文信息。
简单来说,就是把局部特征和全局特征分别交给不同的模型来学习,以便在处理整个图像时,能够更好地对局部细节和上下文进行综合判断。
Centering(中心化)和Sharpening(锐化)

Centering(中心化)和Sharpening(锐化)是两个关键操作,它们共同作用以避免模型输出崩溃(collapse),即防止模型输出变得毫无区分度或被某个维度主导。以下是这两个操作的详细介绍:
中心化:中心化的目的是调整教师网络的输出,使其分布更加稳定,避免任何一个维度的输出值过大,从而导致模型输出崩溃。
中心化操作通过计算教师网络输出的均值(通常是在批次维度上),然后从每个输出向量中减去这个均值来实现。数学上,如果T是教师网络的输出,则中心化操作可以表示为:

其中, E[T]是T在批次上的均值。这种操作有助于防止模型输出在一个维度上过大,从而避免模型输出崩溃到一个点或者被某个维度主导。
锐化:锐化的目的是使教师网络的输出分布更加集中,即增强模型对其预测的“信心”,这有助于提高特征的区分度。
锐化操作通过在softmax函数中使用一个温度参数(temperature)来实现。较低的温度参数会使softmax输出的分布更加尖锐,即更倾向于将概率集中在少数几个类别上。数学上,如果T是教师网络的输出,温度参数为
τ,则锐化操作可以表示为:

其中,P是经过softmax归一化后的概率分布。锐化操作有助于避免模型输出变得过于均匀,即在所有类别上都有相似的概率,这会导致模型失去区分不同输入的能力。
网络架构

DINO 的模型 g 是由一个主干网络 f (ResNet 或者 ViT) 和一个投影头
h组成。投影头h是一个3层的 MLP。DINO 不使用 BYOL 中的 predictor,使得教师和学生的架构完全一致。而且,作者注意到与标准 ConvNet 不同,ViT 架构默认不使用批量归一化 (BN)。因此,当将 DINO 应用于 ViT 时,在投影头中不使用任何 BN,使系统完全达到 BN-free 的架构。
教师网络:与知识蒸馏不同,DINO中没有预先给定的教师网络。相反,教师网络是从学生网络的过去迭代中构建的。论文研究了不同的教师网络更新规则,并发现使用学生权重的指数移动平均(EMA)作为教师网络特别适用于DINO框架。为了避免模型崩溃(即模型输出变得均匀或由一个维度主导),DINO使用了中心化(centering)和锐化(sharpening)技术。中心化操作通过移动教师网络的输出分布来防止一个维度主导,而锐化则通过在教师网络的softmax归一化中使用较低的温度参数来实现。center 可以稳定 momentum 带来的影响,但是会使得教师模型的输出趋近于均匀分布,而 sharpen 正好可以解决这个问题。center 的超参数 c 可以通过下式来计算:

其中,
m是比例参数。sharpen 是通过把知识蒸馏中的温度系数τ设置比较低来实现。
02、实验结果

ImageNet 实验结果

DINO框架在ImageNet数据集上的性能,并与其他自监督学习(SSL)框架进行了比较。这一部分的主要目的是展示DINO在标准自监督学习基准测试中的有效性,并与其他方法进行对比分析。
如下图所示是跨方法层面和跨架构层面的 ImageNet 实验结果对比。
首先,可以观察到 DINO 在 ResNet-50 上的表现与最先进的几个方法相当,验证了 DINO 作为标准自监督学习方法的性能。当切换到 ViT 架构时,DINO 在线性分类方面优于 BYOL、MoCov2 和 SwAV +3.5%,在 k-NN 评估中优于 +7.9%。使用简单的 k-NN 分类器的性能几乎与 Linear Classifier 相当 (74.5% 和 77.0%),这个属性仅在使用带有 ViT 架构的 DINO 时出现,并且不会出现在其他现有的自监督方法和 ResNet-50 中。

最近邻检索

与使用监督学习训练的特征相比,使用DINO预训练的ViT模型在最近邻检索任务上取得了显著的性能提升。表明DINO学习到的特征在捕捉图像的语义和视觉相似性方面更为有效。ViT的优势:从结果还可以观察到,与卷积网络相比,ViT模型在最近邻检索任务中表现更好。这可能是因为ViT模型的全局感受野使其能够更好地捕捉图像的全局结构和上下文信息。

Copy detection 

Copy detection 是一个计算机视觉任务,旨在识别和检索在不同条件下捕获的相同或非常相似的图像。这些条件可能包括不同的光照、角度、尺度、模糊、裁剪等。
DINO预训练的ViT模型在Copy detection任务上表现出色,与专门针对特定对象检索训练的模型(如Multigrain模型)相比具有竞争力。

下游任务迁移学习

DINO自监督预训练的ViT模型在多个下游任务上表现出了很好的迁移学习能力。

场景的语义布局

DINO自监督预训练的ViT模型不仅能够学习一般的图像特征,还能够捕获可以用于图像分割和对象发现任务的语义布局信息。
DINO训练模型的自注意力图与有监督模型的自注意力图进行比较。比较显示,DINO模型在关注对象和场景结构方面表现得更好,即使在存在复杂背景的情况下,也能在定性和定量上都表现得更优。
在DAVIS 2017视频对象分割基准测试中评估了冻结特征的质量,结果显示即使没有明确针对密集预测任务进行训练,使用DINO训练的ViT模型在基准测试中的表现也具有竞争力。
Figure 3 展示了使用DINO自监督预训练的ViT模型中,不同注意力头能够关注到图像中的不同语义区域。即使在目标重叠或遮挡严重的情况下,不同的注意力头也能区分开来。这个图非常生动形象地展示了DINO模型在无监督的条件下学习到的内部特征表示。具体来说,这个图显示了多个注意力头的激活情况,每个头关注图像的不同部分,这些部分可能代表不同的对象或对象的某些部分。这种能力表明DINO模型能够捕捉到图像中丰富的语义信息,这对于后续的图像分割和对象识别等任务非常有用。

Figure 4 展示了有监督训练的ViT模型与使用DINO自监督训练的ViT模型在生成分割掩码方面的差异。通过阈值化自注意力图来生成分割掩码,并与真实掩码进行比较,可以看到DINO训练的模型在自监督学习下能够生成与真实掩码具有较高Jaccard相似度的分割掩码。这进一步证明了自监督ViT模型在理解场景布局方面的能力。

消融实验结果

不同组件的作用

  • 动量编码器(Mom.):使用动量编码器(momentum encoder)来更新教师网络的参数,这是一种指数移动平均(EMA)策略。
  • Sinkhorn-Knopp(SK):使用Sinkhorn-Knopp算法来避免模型输出的崩溃问题。
  • 多作物训练(MC):使用多作物训练策略,即对同一图像的不同区域进行裁剪并输入到模型中。
  • 交叉熵损失(CE):使用交叉熵损失函数来训练模型。
  • MSE损失(MSE):使用均方误差损失函数来训练模型。
  • InfoNCE损失(INCE):一种特定的对比损失函数。
  • 预测器(Pred.):在学生网络中使用预测器。
  • k-NN:使用k-最近邻分类器来评估模型特征的质量。
  • 线性评估:使用线性分类器来评估模型特征的质量。
下图报告了当添加或删除组件时的不同模型的性能。首先可以观察到,在没有 Momentum 的情况下,DINO 框架不起作用。SK 操作也可以避免坍塌的现象。此外,有了 Momentum 的情况下,使用 SK 几乎没有影响。
比较第 3 行和 9 行:突出了 Momentum 对性能提升的重要性。
比较第 4 行和 5 行:DINO 中的 Multi-crop 训练和 CE Loss 是获得良好特征的重要组成部分。
比较第 6 行:向学生网络添加 Predictor 几乎没有影响。

Patch Size 的作用

下图中比较了不同 Patch size (16×16, 8×8 和 5×5) 的 ViT 模型的 k-NN 分类性能。所有模型都训练了 300 个 Epoch。可以观察到,当减小 Patch size 的大小时,性能会大大提高。有趣的是,在不增加额外参数的情况下可以大大提高性能。然而,使用较小 Patch size 的性能增益是以牺牲吞吐量为代价的。比如,当使用 5×5 的 Patch size 时,吞吐量下降到 44 im/s,而 8×8 Patch size 的吞吐量下降到 180 im/s。

教师模型训练策略的作用

下图比较了不同的教师模型训练策略,Previous epoch:使用来自前一个 Epoch 的学生模型作为教师模型。Previous iter:使用来自前一个 Iteration 的学生模型作为教师模型。Student copy:使用学生模型作为教师模型。
可以观察到使用来自前一个 Epoch 的教师模型得到的性能并不会崩溃,使用动量编码器(即EMA)的教师网络在性能上优于其他策略。动量编码器通过指数移动平均平滑学生网络的参数变化,提供了一个更加稳定的学习目标。与 MoCo-v2 或 BYOL 等现有框架提供有竞争力的 k-NN 评估性能。

03、总结

DINO 提出了一个全新的自监督学习框架,该框架通过“无标签自蒸馏”(self-distillation with no labels)的方式训练模型,使得模型能够在没有标签的情况下从大规模数据中学习到高质量的视觉特征。这一方法不仅减少了对昂贵标签数据的依赖,还为利用互联网上大量的未标注图像数据提供了可能。在实践中,这意味着可以更快、更经济地开发出性能强大的视觉模型,为高效开发性能强大的视觉模型提供了新的路径。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

261

主题

0

回帖

793

积分

高级会员

积分
793

QQ|智能设备 | 粤ICP备2024353841号-1

GMT+8, 2025-5-1 12:35 , Processed in 1.970696 second(s), 24 queries .

Powered by 智能设备

©2025