赞
踩
https://arxiv.org/pdf/2104.03602.pdf【萨里大学】
采用ViT进行在无标注数据集上进行自监督学习,降低ViT对大数据量训练的依赖,为视觉Transformer学习一个好的表征,用于下游任务。
为达到这个目的,文中提出了SiT(Self-supervised vIsion Transformer
),网络结构如下图所示,包括三个pretext task:重建任务、旋转方向预测以及对比学习。
网络架构:
SiT的网络结构如上图所示,encoder
采用ViT结构,但与原始ViT不同的是,这里不需要class token
,但针对pretext task
引入了两个额外的token,一个是进行旋转预测的rotation token
,另一个是进行对比学习的contrastive token
,剩下的基本一致。
在进行自监督学习过程中,SiT一共构造了三个任务,下面分别介绍:
任务一:图像重构
CNN架构采用auto-encoder
进行图像重构,由于下采样操作的存在,decoder结构通常比较复杂【包含大量上采样操作】,而SiT的decoder只需要简单的线性映射【因为ViT的感受野本身就是整幅图像】。
SiT通过对局部块采用不同的转换进行group mask model learning (GMML)
。具体转换形式如下图所示,可以分为两种:① Image inpainting,包括随机丢弃(random drop,利用随机噪声替换某些区域)和随机替换(random replace,从其他图像中选取一些块进行粘贴);② colour transformations,包括颜色失真、模糊和灰度化(其中模糊和灰度化只应用在局部图像块中)。
注意,这里与Bert / MAE直接mask token不一样,SiT是先在2维空间结构(未分块前)进行转换再切分patch。
训练时,将图像应用这几种转换后,再送入SiT网络中进行重构,采用l1 loss
进行约束。
l2 loss
容易使边缘过度平滑【Loss functions for image restoration with neural networks】
任务二:旋转预测
输入图像会随机进行旋转(0°, 90°, 180°, 270°),然后SiT会对其旋转方向进行预测,采用交叉熵
进行约束:
旋转预测来自一篇经典的论文
RotNet
,其motivation在于网络需要学习图像中物体的相关概念,才能正确预测其方向。
任务三:对比学习
采用标准的对比学习范式,使用NCE loss
约束同一副图像不同增广形式在特征空间中足够接近,不同图像间在特征空间中距离较远。
最后的损失函数采用uncertainty weighting
方法进行加权,如下所示,其中α是可学习的参数。
这是一篇利用ViT进行自监督学习的工作,整体创新性较弱。就将在CNN应用的几种自监督学习方式在ViT上集成一个大杂烩,并且下游任务只做了小数据集上的分类实验,总体来说比较一般… 看了没什么启发性,浪费时间了属于是。
官方代码已开源:https://www.catalyzex.com/redirect?url=https://github.com/Sara-Ahmed/SiT
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。