VIT论文精读

VIT可以解决cnn难以解决的问题,例如针对一些图片(如遮挡,纹理偏移,对抗贴图,分块排列组合等)
需要解决的难题:如何将2D的图片转换为1D的序列,但是实现起来计算复杂度太高。那怎样才能把自注意力用到视觉里来呢?前期有工作,把最深层的特征图拉成序列形式,来用自注意力;还有一些是取局部的小窗口等。但是这些都很难去训练一个大模型。
VIT将图片切成14✖️14的patch来输入transformer(只要打成块)。transformer缺乏归纳偏置,如locality和translation equivalance(平移等变性,在模型的每一层都有体现)。cnn可以获得很多先验信息。VIT需要大规模的预训练,通过大规模预训练之后,效果拔群。大一统!!!与cnn相比,相对(便宜)。
VIT怎样应用于其他视觉任务?检测这块地工作VIT-FRCNN 分割这块 SETR(CVPR2020中稿,cv太卷了),swin-transformer有引入了多尺度的设计,使其更容易做视觉任务,真正证明了transformer是可以成为视觉领域一个通用地骨干网络的。未来要去探索一下自监督等训练方式。
MAE等这些工作爆火之前,生成式网络在视觉任务上是没法和判别式网络比的。
在模型的设计上是尽可能地用原始的transformer来做的。那些token只是示意,并不是真正地从1到9。从头到位向量长度都是768。对class token做了详细的消融实验,需要好好调参,例如学习率等。这篇paper用的是1D的位置编码,2D的位置编码和1D差不多。
后面还介绍了一些混合结构,先cnn再transformer。
在处理大尺度图片的时候,位置编码不好使用。会采用插值的一个方法,但是容易掉点。只是一个临时等解决方案,算是一个局限性。
VIT在中小型数据集上做预训练,效果是远不如残差网络的。
在同等计算复杂度下transformer的效果是比resnet好的,在比较小的模型上混合模型的精度比他们都高,模型复杂度越高混合模型效果不如transformer,混合模型可能会有点饱和。
自注意力这个操作可以模拟长距离的关系。那张点图说明,自注意力可以在网络刚开始就注意到全局的信息了。自监督被放在了正文里,可见其重要性,nlp里面的自监督无疑是完形填空、或者预测下一个词。而VIT整体仿造的是bert,能不能借鉴bert的目标函数来创建VIT的目标函数,比如用来预测masked patch。对比学习2020年自监督里面效果是最好的。
VIT这篇论文挖了一个很大的坑,从任务角度只做了分类,从改变结构的角度来说可以改中间的transformer block等,模型改进上大有可为,从目标函数上,可以走有监督,也可以尝试不同的自监督,打通了cv和nlp之间的鸿沟,挖了一个更大等多模态的坑,可以去做视频,音频。卷积,自注意力,mlp究竟入手谁手还未可知。

你可能感兴趣的:(深度学习,神经网络)