VirTex

VirTex: Learning Visual Representations from Textual Annotations

【CVPR2021】2020.06已放出,还被壕无人性的CLIP引用。

abstract

与无监督训练以求扩展到大量unlabeled图像不同,作者目标:从少量图像学习到高质量的视觉表达。因此回顾有监督预训练分类模型,提出virtex:一种用密集语义描述来学习视觉表示的预训练方法。

最终效果:从头开始训COCO,并将预训练模型迁移到包括分类,检测,分割等下游识别任务,在所有任务上virtex,在使用图像比imagenet少十倍的条件下,生成的特征可以匹配甚至超过,无论有监督无监督的imagenet上学习的特征。

intro

Visual representations from Textual annotations (VirTex)
在这里插入图片描述

  • semantic density。作者认为因为描述中的semantic density所以语言的约束是有利的,而且相比无监督对比学习方法和有监督分类方法,caption可以提供语义更为密集的学习信号,所以想用textual feature用更少的图像来学习visual feature(VF)

  • simplified data collection pipeline。分类的label往往需要专家来建立类别的ontology,而且后面交给非专家的众包人员来建立label,而自然语言描述则不需要显式的ontology而且对于非专家的user来说,任务也比较简单。大量的弱对齐图文对也可以从网上得到。

  • contribution:显示了自然语言可以提供比其他方法更好更高效的可迁移的VF的supervision。
    在这里插入图片描述

method

在这里插入图片描述
visual backbone + textual head(双向),前者生成特征,后者用这些特征生成token来预测caption。其中[SOS]与[COS]分别是固定特殊的token来指定句子开始与结尾。训练目标:maximize the log-likelihood of the correct caption tokens
在这里插入图片描述

language modeling

作者选用image caption作为预训练任务。与BERT那样采用masked language models(MLMs)不同(一些token被随机masked来进行预测),作者初步实验表明MLMs收敛比directional model慢,而且有着poor sample efficiency(因为不预测全部tokens),所以作者研究directional而将MLMs留作后面研究。(提起这句感觉很牵强别扭,莫不是被审稿人胁迫要说一下没用bert)

visual backbone

在下游任务时,可以额外加一个可训练的linear mode,或者整体端到端finetune backbone。在预训练时,visual最后一层在与textual head连接前接了一个linear projection层。但是在部署到下游任务的时候不用这个层

textual head

追求学习可迁移的视觉特征,而不是预测高质量的caption。采用transformer。用GELU替换relu,前向和后向是独立的transformer,并且共享同样的token embedding matrix。、

model size

hidden size Z,attention heads A, 全连接网络feed forward size F,与bert类似采用A=H/64,F=4H.transformer层数L

tokenization

BPE 算法分词caption,建立拥有10K tokens的vocabulary。限制将词与后面的标点符号组合算新词的方式以免产生大量冗余。与之前用空白符作为词分割依据相比,BPE更少的语言假设,并利用subword信息,产生更少的out-of-vocab tokens。

training detail

用COCO的train2017 split,180K image,每图五个caption。

数据增强:随机crop 原始图size的20-100%,采用color jitter(brightness, contrast,
saturation, hue 亮度,对比度,饱和度,色彩),和用imagenet的mean color来normalize,随机水平翻转,和caption 中 interchanging the words ‘left’ and ‘right’

优化器选用 SGD,动量0.9,权重衰减0.0001(用lookahead α = 0.5 \alpha=0.5 α=0.5,step=5),8个GPU分布式训练+BN,256batch大小(每个32),训练500K iteration,近1080epochs,用linear learning rate warmup 前10K iteration,然后余弦衰减到0,visual backbone最大学习率0.2比textual head0.001大,pytorch自动混合精度。

experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

总结

全文诸多实验对比,将详细配置讲了很多,为了证明caption式的预训练的backbone特征提取能力表现效果,在较少训练样本下能表现超出视觉分类型的预训练模型。而且半年后OPENAI的CLIP也引用了这篇文章,其中有这么一句话,自行体会。

在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值