Transformer自监督学习(2021) - SiT: Self-supervised vIsion Transformer

原文地址

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

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值