©作者 | 残血的三井寿
今天分享的文章是 Facebook AI Reserach(FAIR)发布在 arxiv 的文章“SLIP: Self-supervision meets Language-Image Pre-training”。
论文链接:
https://arxiv.org/pdf/2112.12750.pdf
https://github.com/facebookresearch/SLIP
Motivation
现有的工作(SimCLR,MOCO 等)已经证明自监督预训练在视觉理解方面可以取得很好的效果。CLIP 将文本作为监督信号,对模型进行预训练,从而取得了不错的效果。如果将自监督和语言监督结合起来,能否取得加成的效果呢?FAIR 提出工作 SLIP 将自监督与语言监督结合起来,进行预训练,在下游任务上取得了不错的效果。
随着深度学习的发展,预训练取得了很好的效果。在计算机视觉领域,预训练主要分为基于监督学习的预训练以及基于自监督学习的预训练。在 AlexNet 以后,研究者发现在大规模有标注数据集下对模型进行预训练,模型在下游任务可以取得很好的效果。自监督的预训练首先在自然语言理解领域取得很好的进展,但是在视觉领域也有很多的应用。自监督预训练可以不需要大量的标注数据依然可以取得很好的效果。
CLIP 提出了一种新颖的表示学习方式,提出了一种在监督学习和自监督学习之间的形式,CLIP 仅仅需要图片以及图片对应的文本信息,利用对比学习的思路,对模型进行预训练。
在 SLIP 工作中,作者想探索的问题是“在语言监督的前提下,图片本身的自监督是否可以提升模型的效果?在图像本身自监督的前提下,语言监督是否会提升效果?”目前尚且不清楚这两种训练目标是否可以同时增强。
作者使用三种检测方法测试 SLIP 的图片表示能力,分别是:零样本学习方式,线形探测方式以及端到端的 finetune 方式。
模型方法
SLIP 没有利用标注信息,结合了语言监督以及图片自监督方法学习视觉表示。作者使用同一个图像的 encoder,由自监督 loss 和语言监督 loss 同时对该 encoder 进行更新。
1. 对比学习图片-文本预训练:
CLIP 将图片-文本对作为输入,利用对比学习更新视觉 encoder。CLIP 首先使用文本编码器以及视觉编码器编码视觉信息与文本信息,之后将视觉 embedding 与文本 embedding 经过一个 projector 映射到统一的向量空间中。之后将原本的图片文本对视为正例,将不同的图片文本对之间的图片与文本视为负例,通过 InfoNCE 更新模型的参数。
基于图片-文本对的对比学习方法使得模型可以进行零样本的图像分类。
2. 视觉自监督学习:
视觉自监督学习方法首先将图片进行数据增强得到图片的两个增广,之后将相同图片的数据增广结果视为正例,将不同图片之间的数据增广视为负例,通过 infoNCE 拉近正例之间的距离,拉远正例和负例之间的距离。
模型算法如下图所示:
算法的想法很简单易懂。输入为图片-文本对。首先对图片进行数据增广,之后对增广后的图片输入到自监督的 SimCLR 模型中,得到自监督的 loss。将图片-文本对输入到 CLIP 中,得到语言间的 loss,之后将两个 loss 加权求和,得到最终的 loss。
实现细节:
数据集:数据集 YFCC100M 的子集,该子集中包含图片-英文描述文本对。可以称之为 YFCC15M 数据集。我们同样使用 CC3M 和 CC12M 评估该模型。
数据增强:对于文本,作者选取每张图片的文章标题或者标注作为文本。对于 CLIP 方法,对图片进行 50% 到 100% 的缩放。对于自监督方法,使用的数据增强方法与 MOCO v3 一致。
backbone:对于视觉信息,使用 VIT-S 作为编码器,对于文本信息,使用 trasformer 作为编码器。
zero-shot 实验:直接将预训练后的模型用于实验,使用文本监督的方法(CLIP,SLIP)可以直接将与图片最相关的文本作为图片的类别,所以可以进行 zero-shot 实验。
Linear classification(Linear probing)实验:将预训练好的模型冻结,之后再在后面加入分类层,仅仅更新分类层的参数,而不更新其他的参数。
end-to-end finetune 实验:将整个 encoder 和 classifer 进行参数更新。
实验分析
1. ImageNet Classification:一般情况下的自监督方法都是在无标注的 ImageNet 数据集上进行预训练,之后再使用有标注的 ImageNet 对模型进行微调整。本文作者尝试在 YFCC15M 数据集上对 SimCLR 和 MOCO v3 进行预训练,之后在 ImageNet 数据集对模型进行微调。
实验结果表明使用 YFCC15M 数据集进行预训练后,模型性能下降很多。
作者使用 CLIP,SimCLR 以及 SLIP 在 ImageNet 数据集上进行实验。发现 SLIP 的效果是最好的。
作者使用不同参数量的 ViT 进行实验,同时使用更多的 Epoch 进行实验,得到结果。可以发现随着模型参数量增多,以及模型的训练时间增强,模型的效果会越来越好。
作者使用 zero-shot 的方法在其他 benchmark 上进行实验。
作者更换了自监督方法 SimCLR,使用其他自监督方法进行实验。
感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧