On Data Scaling in Masked Image Modeling
https://arxiv.org/abs/2206.04664
清华,西交,微软亚洲
失望,苦劳多于功劳
MIM(masked image modeling, MAE就是一种MIM)是数据可拓展的。
他们在不同模型大小,训练轮询次数条件下实验,研究MIM的数据可拓展能力,结论是MIM不仅是模型可拓展的,也是数据可拓展的,即增大模型,增加数据可以获得精度收益。数据越多越好,但训练轮询次数也要变长。他们认为过去的研究怀疑MIM的数据可拓展性是因为他们忽略了训练时长(training length, 没懂)。同时他们发现预训练时的验证损失和finetune时的acc差不多是相关的,即预训练时你看到验证损失更低的模型,那么finetune时acc也会更高。他们的预训练在imagenet-1k(10%), imagenet-1k(20%), imagenet-1k(50%), imagenet-1k, imagenet-22k上做,finetune在imagenet-1k, iNaturlist-18, COCO检测和分割,ADE20K上都做了, 模型是用了SwinV2-S/B/L/H/g
从他们实验接结果可以看到,用越多数据做预训练,finetune不容易过拟合;使用少数据预训练,finetune时随着训练迭代增多会过拟合,大模型过拟合比小模型严重;那么说要预训练更大的模型,就需要更多数据,训练更久, 预训练用的数据少反而finetune太久容易过拟合。不过,他们的实验结果也显示了,在大/小模型上,使用imagenet-22k没有比imagenet-1k得到多少收益(mocov2, mae也是这个结果),这又弱化了他们的观点,用了1500万张图预训练,结果和用128万张差不多,那不是更说明MIM数据不可拓展吗?
其实我们也做了减少imagenet-1k数据的实验,但老板说不行,这样不能说明问题,可能我没有看仔细,希望有人反驳我一下。
Spatial Cross-Attention Improves Self-Supervised Visual Representation Learning
https://arxiv.org/abs/2206.05028
华为加拿大
有点想法,就是聚类操作反人类
问题的出发点是SSL训练时的random crops:同一张图片里有多个物体,crop出不同的上下文;大面积是背景的物体crop不到前景物体。引出了他们的想法:让网络把注意力放在相同语义的物体上。这就带出了2个核心点:一是要学习一个注意力层(spatial cross-attention),二是要聚类找出相同语义的目标。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LGVtqmTZ-1655691121652)(E:\BaiduNetdiskBackup\自监督学习\imgs\spatial_cross_attention.png)]
看上图,
- 原图Is, 经过数据增强后的图It, It抽取的特征存入右边的memory bank里,每个epoch开始前对这些特征聚类得到pseduo-labels
- 训练时找到和Is同pseduo-label的图的特征(I1, I2,…Ip)
- Is经过backbone后的feature map得到fIs, I1得到fI1, I2得到fI2, …, Ip得到fIp, fIs接一个卷积生成二维的attention-map β,它为什么可以被当做attention-map靠它学习的目标,这个目标是μ,μ和β的shape相同,μ里的每元素是fIs和(fI1, fI2,…fIp)中(空间上的最大相似度)的均值(先fIs上每个点和fI’上每个点做內积,也就是余弦相似,取这些內积的最大值,因为fls和(fl1,…, flp)都要算一次,所以每个点有p个最大值,最后在每个点上平均这p个最大值)。这么做是希望β能表达Is上每个位置(特征图上的一个像素)和目标语义(来自相同伪标签的图片的特征)的相关性,如果attention-map β学到了,就可以当做注意力忽略fls中和目标语义不相关的部分。
- 从Is和It抽取的特征Zs和Zt用于对比学习。
- 为了约束Is的特征同样具有目标语义,在MAP后也从memory bank接入一个分类的监督信号,约束Is和(I1, I2,…Ip)都分到同一个类里。
第3点写的有点乱,我是根据文中Eq3-5总结的。就是下边三个式子,ρ表达的是fls和(fl1…flp)中任意一个fl的逐点的最大內积(相当于最相似),μ只是在1…p内平均,Lμ只是说明要用MSE损失。
ρ
i
j
(
I
s
,
I
′
)
=
1
C
m
a
x
0
≤
i
′
<
H
,
0
≤
j
′
<
W
[
f
I
s
]
i
j
[
f
I
′
]
i
′
j
′
T
\rho_{ij}(I_s,I')=\frac{1}{C}\mathop{max}\limits_{0 \leq i'< H , 0 \leq j' < W}[fI_s]_{ij}[fI']_{i'j'}^T
ρij(Is,I′)=C10≤i′<H,0≤j′<Wmax[fIs]ij[fI′]i′j′T
μ
(
I
s
,
P
)
=
1
P
∑
p
=
1
P
ρ
(
I
s
,
I
p
′
)
\mu(I_s, P)=\frac{1}{P}\sum^P_{p=1}\rho(I_s,I'_p)
μ(Is,P)=P1p=1∑Pρ(Is,Ip′)
L
μ
=
1
H
⋅
W
∑
i
∑
j
[
β
i
j
−
μ
i
j
(
I
s
,
P
)
]
2
L_\mu=\frac{1}{H·W}\sum_i\sum_j[\beta_{ij}-\mu_{ij}(I_s, P)]^2
Lμ=H⋅W1i∑j∑[βij−μij(Is,P)]2
第4点使用的loss是一种对称形式的loss, 下面θ表示MAP之前的网络,h表示MAP后的MLP层,S是一种相似函数
L
s
s
l
=
1
2
S
(
h
(
θ
(
I
s
)
)
,
θ
(
I
t
)
)
+
1
2
S
(
h
(
θ
(
I
t
)
)
,
θ
(
I
s
)
)
L_{ssl}=\frac{1}{2}S(h(\theta(I_s)), \theta(I_t))+\frac{1}{2}S(h(\theta(I_t)), \theta(I_s))
Lssl=21S(h(θ(Is)),θ(It))+21S(h(θ(It)),θ(Is))
该文的新意是预训练方法,他们用自己的模型分别拿SwAV方法训练和这个方法训练,在ImageNet-1K上,linear probe acc只从68.4提升到了68.9 😦 . 在ImageNet-1k上预训练,在VOC上finetune, 在VOC test2012上比较AE, 比他们自己实现的SwAV从91提高到93., 而有监督预训练是93.2 😦
付出了epoch前聚类的反人类操作,得到了这样不咸不淡结果,无疑是伤心的,但是这种利用空间注意力保持相同语义的想法还是有意义的。
总结:以后实验结果得先看仔细一点再看方法 😦