这是一篇来自谷歌大脑的paper。这篇paper的主要成果是用transformer[1]取代cnn,并证明了cnn不是必需的,甚至在大规模数据集预训练的基础上在一些benchmarks做到了sota,并且训练时使用的资源更少。
图像分块
要将图片分块是因为transformer是用于nlp领域的,在nlp里面,transformer的输入是一个序列,每个元素是一个word embedding。因此将transformer用于图像时也要找出word的概念,于是就有了这篇paper的title:an image is worth 16x16 words,将一张图片看成是16*16个“单词”。
inductive biases
在机器学习中,人们对算法做了各种的假设,这些假设就是inductive biases(归纳偏置),例如卷积神经网络就有很强的inductive biases。文中做了一个实验,在中等大小数据集训练时,精度会略逊色于resnets。但是这个结果也是应该预料到的,因为transformer缺少了cnn固有的一些inductive biases,比如平移不变性和局部性。所以当没有足够的数据用于训练时,你懂的。但是恰恰transformer就强在这一点,由于transformer运算效率更高,而且模型性能并没有因为数据量的增大而饱和,至少目前是这样的,就是说模型性能的上限很高,所以transformer很适合训练大型的数据集。
vit
在vit中,模型只有encoder的,没有decoder,因为只是用于识别任务,不需要decoder。
首先按照惯例,先把图像的patch映射成一个embedding,即图中的linear projection层。然后加上position embedding,这里的position是1d的,因为按照作者的说法是在2d上并没有性能上的提升。最后还要加上一个learnable classification token放在序列的前面,classification由mlp完成。
hybrid architecture。模型也可以是cnn和transformer的混合,即transformer的输入不是原图像的patch,而是经过cnn得到的feature map的patch。
实验结果
不同大小的vit的参数量。
可以看到在预训练数据集很小的情况下vit的效果并不好,但是好在随着预训练数据集越大时vit的效果越好,最终超过resnet。
bit[2]是谷歌用jft-300m(谷歌内部非公开数据集)训练的resnet模型。noisy student[3]是谷歌提出借助半监督大大提升了imagenet性能的算法。可以看到,在jft-300m预训练的情况下,vit比resnet好上不少,并且开销更小。
总结
vit的成功我认为是以下几点:
1、self-attention比cnn更容易捕捉long-range的信息;
2、大量的数据,在视觉中cnn是人类实践中很成功的inductive biases,显然大量的数据是能战胜inductive biases的;
3、计算效率高,因为self-attention可以看作是矩阵运算,所以效率很高,容易训练大型的模型。
原文标题:视觉新范式transformer之vit
文章出处:【微信公众号:深度学习实战】欢迎添加关注!文章转载请注明出处。
温湿度传感器在机房环境综合监测系统中的应用
小米6最值得期待的四大功能,华为P10一脸闷逼!
高压无线核相器工作原理_高压无线核相器技术参数
Vishay推出了世界上体积最小的汽车级IHLP电感器
一文看懂铝基板与FR4有的区别
视觉新范式Transformer之ViT的成功
iPhone 4S:跟经典难说再见
LCD厂商介绍
华为鸿蒙系统崛起速度出乎意料 鸿蒙系统研发基本完成
AR初创公司Mojo Vision获5800万美元投资,谷歌的Gradient Ventures参投 ...
谈谈二极管单向导电性的内涵与外延
三星辉煌之下现隐忧:过分依赖Android系统
3月全国汽车制造业同比下降1.0%,理想汽车再入美国“预摘牌”名单
Vishay SiC951 DC/DC模块和IHPTT电感器入围年度创新产品奖
7812稳压块能对多大范围内的电压稳压?7812参数特性及稳压电源电路
如何利用智慧化生活更快的享受到科技发展带来的便利?
什么是电阻分压?电阻分压的工作原理是什么?电阻分压和限流是一个概念吗?
梅花香自苦寒来 海思的核“芯”竞争力
意法半导体之家电控制系统—小家电方案
PowiGaN技术能够制造更高效、更可靠的USB PD充电器