Vision Transformer预训练模型

2020自监督学习迎来井喷式发展,涌现了一大批优秀的自监督工作。同时,vision Transformer也是2020掷地有声的工作。于是在2021终于自监督与Transformer开始结合,并展现出惊人的效果。

vision transformer

自监督学习

自监督旨在通过无标签的数据来训练模型,但其训练方式是有监督的,其监督标签来自数据本身,这也就是自监督的由来。受益于文字天然存在的语义依赖以及序列性,自监督在NLP领域中使用最为广泛,BERT, GPT等基于Transformer的工作借助自监督方式为NLP研究提供了高质量的预训练与词向量模型。
在计算机视觉中,自监督与对比学习相辅相成。在研究中关注如何设计有效的对比损失或者采样得到对比样本,eg:Moco, BYOL,以此对模型进行有效的训练。随着Transformer在视觉领域中得到重视,研究者开始探索是否能将NLP中自监督的成功经验使用到视觉预训练模型中,最大程度解放视觉模型对数据标签的依赖,下面这个表。
在这里插入图片描述

有监督Vision Transformer

谷歌首先的视觉中使用Transformer,第一次大规模的采用纯transformer做cv任务的文章,验证了Transformer在cv领域的有效性,也拉开了Transformer在cv领域发展的序幕。
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale(Google发表在ICLR 2021)

  1. 将图片分块并拉成一个序列,形成类似NLP中的一句话,每个分块类似一个单词
  2. 加入对每个块的位置编码,并添加class token用于最终分类
  3. 输入Transformer中进行块之间特征的融合
  4. 最终使用class token完成分类

VIT中指出在视觉中使用Transformer需要大量的数据作为支撑,而其自身也是在谷歌私有数据上训练(JFT-300M)得到,所以其复现有一定的难度。针对此Facebook 设计了Deit: Data-efficient image Transformers来缓解VIT对数据的依赖。
Training data-efficient image transformers & distillation through attention(Facebook AI ICML2020)

  1. 在VIT class token基础上加入distillation token用于知识蒸馏
  2. distillation token用于拟合一个teacher netowork(VGG)的输出
  3. 最终使用两个token共同完成分类

由于有teacher network的知识注入,模型能够学习到更加精细的特征,能够有效缓解模型对数据的依赖。

无监督Vision Transformer预训练

Generative Pretraining from Pixels(ICML 2020 cv中GPT)

  1. 通过k-means将RGB值分成512个簇。然后每个像素被分配到最近的簇中心
  2. 首先降低图片分辨率,然后reshape为1D的输入
  3. 选择autoregressive或者BERT目标函数进行无监督训练
  4. 测试结果

BEiT: BERT Pre-Training of Image Transformers(ICLR2022)
出发点:像素级别的auto-encoding不好做,所以本文在patch上做image-pathes + visual-tokens。这篇文章跟Kaiming最新的那篇文章不同之处是,这篇文章把图片离散化成了一个一个的数字,所以可以和文本一样进行处理,另外,Kaiming的文章对patch进行了一定程度的移除,所以可以省计算量,而这篇文章却没有。

  1. 使用VQ-VAE对图片进行编码得到visual tokens(过程类似可学习的聚类)
  2. 将图片分块得到image patches
  3. Mask掉一些图像块,展成1维向量输入VIT中计算
  4. 使用Head预测被Mask掉的image patches的visual tokens
  5. 完成预训练,在下游任务测试精度

PeCo: Perceptual Codebook for BERT Pre-training of Vision Transformers (中科大+微软)
出发点:像素级捕捉不到语义信息,图像稍微平移并不影响语义,但是像素损失却会发生很大变动;相较于BEiT更好的visual token

  1. 在原有VQ-VAE损失基础上加入感知损失来,帮助模型捕捉语义信息

Masked Autoencoders Are Scalable Vision Learners

  1. 75%的image patches被mask掉,mask掉许多使得模型必须使用高层语义信息才可补全
  2. 针对像素级别做重建
  3. 不对称的encoder-decoder,decoder并不负责图像的表达,所以其相对来说不关键,降低它可以有效降低计算时间
  4. 没有mask掉的patch不参与训练

SimMIM: A Simple Framework for Masked Image Modeling(微软亚洲研究院 几乎跟MAE一样)
出发点:
(1)使用中等块进行随机mask就可以得到不错的效果
(2)直接预测原始像素就可以得到不错效果,(无需进行复杂的patch设计)
(3)decoder简单就行

Emerging Properties in Self-Supervised Vision Transformers(ICCV2021 类似BYOL)
出发点:一个新的自监督任务

  1. 使用原始图像产生x1,x2
  2. teacher输出使用centering扰动(为产生不同于student预测)
  3. 交叉熵衡量两个网络的预测损失
  4. student使用反向传播,teacher参数更新来自student(θt ← λθt + (1 − λ)θs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值