赞
踩
标题:Emerging Properties in Self-Supervised Vision Transformers
论文链接:https://arxiv.org/pdf/2104.14294
代码链接:https://github.com/facebookresearch/dino
会议:ICCV 2021
DINO 论文发表时,Transformer 方法出现不久,当时 ViT 相比于 CNN 方法并没有表现出明显的优势:指标差不多,但需要更多训练数据及计算成本。
DINO 想要探究自监督学习在 Transformer 模型上是否能取得比较好的效果,因为自监督方法在 NLP 上效果很好。
从算法示意图可以看出,DINO 的整个过程比较简单。
首先,对于一张图像,进行不同的 augmentation 变换。变换可以生成 global view(
22
4
2
224^2
2242)以及 local view(
9
6
2
96^2
962)的 crop,teacher model 仅接受 global view 的输入,student model 可以接受 global 和 local view 的输入。计算 loss 时,用 teacher model 和 student model 输出的概率之间的交叉熵作为监督信息:
L
=
∑
x
∈
{
x
1
g
,
x
2
g
}
∑
x
′
∈
V
,
x
′
≠
x
H
(
P
t
(
x
)
,
P
s
(
x
′
)
)
L=\sum_{x\in\{x_1^g,x_2^g\}}\sum_{x'\in V,x'\neq x}H(P_t(x),P_s(x'))
L=∑x∈{x1g,x2g}∑x′∈V,x′=xH(Pt(x),Ps(x′))。从 loss 设计可以看出,DINO 训练过程希望模型对于同一张图像的局部和全局能有接近的概率预测结果。
训练过程中,student model 的参数用 sgd 更新,teacher model 的参数由 student model 和 teacher model 的参数加权得到, θ t ← λ θ t + ( 1 − λ ) θ s \theta_t\leftarrow\lambda\theta_t+(1-\lambda)\theta_s θt←λθt+(1−λ)θs。
为了防止训练崩溃,DINO 采取了两个措施:
DINO 在该任务上效果很好,可能是因为该任务与 DINO 用来预训练的任务最接近。
DINO 即使不经过 finetune 在视频分割任务上也能取得不错的效果。
用 DINO 进行预训练,然后 finetune,与直接训练相比效果有所提升。
用实验验证了 DINO 每个模块都是有作用的。
Teacher model 的参数更新方式对模型效果有很大影响。
DINO 的方法设计并不复杂,但是用 DINO 预训练得到的 feature map 与图像分割 mask 有很强的联系,这个性质比较有趣。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。