/FLIP | 恺明团队新作,MAE助力CLIP更快更高精度

FLIP | 恺明团队新作,MAE助力CLIP更快更高精度

paper:https://arxiv.org/abs/2212.00794

本文提出一种用于训练CLIP的简单而有效的方案FLIP(Fast Language-Image Pre-training, FLIP),它在训练过程中对图像块进行大比例的随机Mask移除。Mask机制使得我们可以在有限周期内学习到更多的image-text数据对,同时具有更少的内存占用。所提方案取得了更好的精度与训练时间均衡,相比无Mask基线方案,所提FLIP在精度与训练速度方面具有大幅改善(前期400M对image-text)。

受益于加速训练能力,我们对扩展模型尺寸、数据集大小、训练周期进行了探索,同时取得了喜人的结果。


本文方案


上图为所提FLIP方案示意图,它由两部分构成:

  • Image Masking: 该采用ViT对图像进行编码,参考MAE对图像块进行大比例Mask丢弃(如50%、75%),这种处理方式还可以减少图像编码耗时与内存占用。关于MAE的介绍可参考《何恺明提出简单实用的自监督学习方案MAE,ImageNet-1K 87.8%》。
  • Text Masking:与此同时,我们还可以对text执行类似Image的Mask处理(可选想发)。当执行Mask时,我们仅对可见token进行编码处理。这不同于BERT的处理机制:采用Learned Mask Token进行替换。这种稀疏计算同样可以一定程度减少文本编码耗时。不过,由于文本编码器比较小,这里的加速不会导致更好的均衡。
  • Objective:Image/Text编码器采用对比损失进行训练优化。在这里,作者并未像MAE那样使用重建损失。丢弃解码器与重建损失取得了进一步的加速。
  • Unmasking:尽管编码器是在Masked图像上进行的预训练,但它可以像MAE那样直接作用到无干扰的图像,此可作为对标的基线。为进一步减少因Mask导致的分布差异,作者将Mask比例设为0并进行少量的连续预训练。这种处理机制可以取得有利的精度/耗时均衡。

具体实现

在实现方面,作者参考CLIP与OpenCLIP并进行了以下几点改动:

  • 图像编码器采用的是ViT,但在Patch Embedding后并未使用额外的LayerNorm,此外在图像编码尾部添加了GAP。图像输入尺寸为224.
  • 本文编码器为Non-AutoRegressive Transformer,作者采用了WordPiece序列化方案。序列长度通过pad或cut固定为32。
  • 图像编码器与文本编码器的输出投影到相同的嵌入空间,然后经LTP(Learnable Temperature Parameter)缩放后计算两者的Cosine相似性。
  • 采用JAX实现,在TPUv3集成进行训练。

本文实验

消融实验结果对比如下:


ImageNet1K数据集上结果对比如下:


更多分类数据集上的结果对比如下:


更多消融实验与实验结果请查看原文,为避免误导各位大佬,这里直接略过。

推荐阅读

  1. 何恺明提出简单实用的自监督学习方案MAE,ImageNet-1K 87.8%
  2. Conv2Former | 超简Transformer风格ConvNet,比ConvNeXt还秀,媲美VAN
  3. 恺明团队新作:MAE"入局"视频表达学习
  4. InternImage | 注入新机制,扩展DCNv3,探索视觉大模型,达成COCO新纪录64.5mAP!
  5. 恺明团队新作ViTDet:探索ViT骨干在检测中的应用

本文来自微信公众号“AIWalker”(ID:happyaiwalker)。大作社经授权转载,该文观点仅代表作者本人,大作社平台仅提供信息存储空间服务。