文 | 子龙

多模态已经不是一个新鲜的话题,如何在一个模型中融合CV和NLP的信息同时吸引了两个领域的目光(CV、NLP的会都能投),但是很容易就能想到,来自图片的视觉特征和来自语料的文本特征来自不同的模型,所隐含的信息很难放到同一个隐状态空间中,于是特征融合Fuse成为众多模型所关注的重点。与此同时,多模态的初衷是通过描述相似对象的语料和图片互相促进,进而提升效果,那么怎么才能获得“描述相似对象”的标注呢?这又是多模态面临的另外一个问题特征对齐Align

今天的文章 Align before Fuse: Vision and Language Representation Learning with Momentum Distillation 探索了如何解决多模态中极为重要的两个问题,作者通过图片-文本对比学习、图片-文本匹配、掩码语言模型,三个预训练任务,并提出动量蒸馏Momentum Distillation对抗数据噪音、改进训练过程,在多个任务上刷新了SOTA。

论文题目:
Align before Fuse: Vision and Language Representation Learning with Momentum Distillation

论文链接:
https://arxiv.org/abs/2107.07651

介绍

这片文章开宗明义,题目中就涵盖了文章的重点:对齐Align+融合Fuse,正是多模态所关注的重点,作者将模型称作ALBEF(ALign BEfore Fuse),即现将相关的部分“对齐”,再进行融合。

具体模型如下图:

从图中可以清晰地看到模型的结构,图片和文本分为“双流”分别处理。这里为了减小图片特征和文本特征的差异,作者采用基于Transformer的ViT提取图片特征,而不是传统的基于CNN的模型,这也得益于最近CV届对Transformer解决视觉问题对探索。作者在文本方面依旧采用了颇为传统的BERT,有趣的是原本12层的BERT在这里做了分割,前6层作为单模态处理阶段(text encoder),后6层放到了多模态处理阶段(multimodal encoder)。在多模态处理阶段,文本每层先通过self-attention,再通过cross-attention和视觉特征相融合。

模型结构并不复杂,都是我们十分熟悉的结构,但是作者基于这样简单的结构配合多种预训练任务,使得模型中多模态任务上有着出色的表现。

动量模型Momentum Model

首先是“动量模型”,乍一看这个名称十分新奇,是标题中所谓“动量蒸馏”的一部分。在知识蒸馏中,有两个角色:“教师”和“学生”,核心目的就是让学生模型模仿教师模型,得到相似的结果,而学生模型往往相比教师模型有着不少优越性,比如更少的参数、更快的速度等等。教师模型有多种,较为直观的是教师模型选择庞大的预训练模型,而学生模型选择小而快的模型,而本文中采用了另外一种“在线自蒸馏(online self-distillation)”的蒸馏方法,将训练过程中的学生模型作滑动平均作为教师,这样能够有效对抗数据集中的噪音,因为此时的教师模型作为多个模型的集成,能够更好地对抗噪声。

图片-文本对比学习(ITC)

这里的“对比学习”是为了让图片和文本更好地对应,实现方法是通过给定文本特征或者视觉特征,再给定若干另外一种特征,在其中选择与之对应的那一个,“正样例”相对简单,即为数据集中的图片-文本对,那么如果得到“负样例”呢?这里作者维护了一个大小为M的“队列Queue”,储存动量模型最新得到的M个特征(因为动量模型是随着训练步数,逐步迭代更新的)。两个特征之间的相似度或者评分通过向量点乘计算。

标记本身模型得到的视觉特征为、文本特征为,动量模型得到的第m个视觉特征为、文本特征为。

其中与分别为one-hot label,即唯一的正样例为1,其余负样例为0,是交叉熵。

掩码语言模型(MLM) 与 图片-文本匹配(ITM)

这两个预训练任务比较简单。掩码语言模型由BERT提出,将部分单词mask,并通过上下文预测其原本单词。

其中为mask后的文本特征,是one-hot label,长度等于单词表,mask对应的单词位置为1,其余为0。

图片文本匹配与图片文本对比学习目的类似,不同点在于,这里是通过多模态阶段(multimodal encoder)的[CLS]输出,预测当前输入的图片和文本是否匹配,即一个二分类问题。

动量蒸馏Momentum Distillation

本文所采用的预训练数据集来自网络,图片-文本对本身充满噪音,结果导致所谓的“正样例”中文本与图片相关度不高,而所谓的“负样例”有一定概率文本和图片有一定相似度。于是,为了对抗数据集中的噪声,作者提出动量蒸馏,动量蒸馏的核心是上文已经介绍过的动量模型,动量模型的结果也在图片-文本对比学习中用到,但是作者进一步地将动量模型的结果运用于损失函数中。

可以看出,在图片-文本对比学习中,交叉熵函数实际上在将图片-文本相似度的分布与ground truth 相拟合,在掩码语言模型中,交叉熵函数实际上在将掩码后的多模态特征与groud truth 相拟合。但是,正如文章分析的,训练数据存在噪声,这里所谓的ground truth并不完美,于是作者利用从动量模型中得到的分布完善原本的图片-文本相似度分布和掩码多模态特征分布。

首先需要得到动量模型中的分布,作者采用了十分简单的方法,用动态模型各个特征归一化,代替原本模型的特征计算概率分布。在图片-文本对比学习中,动量模型特征的分布如下计算:

其中只将改为,这里新的中,归一化后的动量模型输出特征取代了原本模型得到的特征。新的损失函数为:

和图片-文本对比学习类似,是动量模型预测掩码单词的概率分布,新的损失函数为:

其中KL为KL散度。

实验

介绍完模型,接下来看看模型的表现,ALBEF共完成了Image-text Retrieval、Visual Entailment、Visual Question Ansering、Natural Language for Visual Resoning、Visual Grounding五大任务,每个任务上,ALBEF都取得了SOTA的好成绩,由于篇幅有限,这里着重介绍Visual Grounding。

Visual Grounding需要模型根据一段文字描述定位图片中的某个区域,先通过图片直观感受一下ALREF的强大!

从图片中可以看出,文字和需要对应的部分匹配的十分准确,从预测正确的准确率我们也可以看出ALBEF遥遥领先,各个不同的场景下超出baseline 20%~30%多准确率。

小结

可见,先对齐再融合的思路符合多模态任务的需求,让模型能够更好的利用多模态的信息,这解释了ALBEF在诸多多模态理解任务中的出色表现,同时从Visual Grounding任务中可以看出,ALBEF提出的预训练任务确实使得模型学会了图片信息和文本信息的对应关系,这也为后续研究提供了启发。

萌屋作者:子龙(Ryan)

本科毕业于北大计算机系,曾混迹于商汤和MSRA,现在是宅在UCSD(Social Dead)的在读PhD,主要关注多模态中的NLP和data mining,也在探索更多有意思的Topic,原本只是贵公众号的吃瓜群众,被各种有意思的推送吸引就上了贼船,希望借此沾沾小屋的灵气,paper++,早日成为有猫的程序员!

作品推荐:

1.别再搞纯文本了!多模文档理解更被时代需要!

2.Transformer哪家强?Google爸爸辨优良!

3.预训练语言真的是世界模型?

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

刷新SOTA!Salesforce提出跨模态对比学习新方法,仅需4M图像数据!相关推荐

  1. XMC-GAN:从文本到图像的跨模态对比学习

    Google提出了一个跨模态对比学习框架来训练用于文本到图像合成的 GAN 模型,用于研究解决生成的跨模态对比损失问题. 文 / Han Zhang, Research Scientist and J ...

  2. ICCV2021 比MoCo更通用的对比学习范式,中科大MSRA提出对比学习新方法MaskCo

    关注公众号,发现CV技术之美 今日分享 ICCV2021论文『Self-Supervised Visual Representations Learning by Contrastive Mask P ...

  3. 北大FAIR自动化所快手提出基于动量对比学习的层次Transformer—HiT,用于视频文本检索!代码已开源!...

    关注公众号,发现CV技术之美 ▊ 写在前面 随着互联网上多媒体数据的增长,视频文本检索已经成为一个热门的研究课题.用于视频文本学习的Transformer因其良好的性能而受到越来越多的关注.然而,现有 ...

  4. 【NLP】吊打BERT、GPT、DALL·E,跨模态榜单新霸主诞生!

    文 | 赵一静 最近,三个重量级榜单,视觉推理VCR.文本推理ANLI.视觉问答VQA同时被统一模态模型UNIMO霸榜.一个模型统一了视觉和文本两大主阵地,重塑了小编的认知和期望.如此全能,堪称是AI ...

  5. 吊打BERT、GPT、DALL·E,跨模态榜单新霸主诞生!

    文 | 赵一静 最近,三个重量级榜单,视觉推理VCR.文本推理ANLI.视觉问答VQA同时被统一模态模型UNIMO霸榜.一个模型统一了视觉和文本两大主阵地,重塑了小编的认知和期望.如此全能,堪称是AI ...

  6. 基于RK3588+TensorFlow的人工智能跨模态行人重识别方法及应用

    摘要: 跨模态行人重识别技术(cm-ReID)旨在可见光.红外等不同模态图像中识别出同一个人,其在人 机协同.万物互联.跨界融合.万物智能的智能系统与装备中有重要应用.提出一种数据增强的跨模态行人 重 ...

  7. MoCo不适用于目标检测?MSRA提出对象级对比学习的目标检测预训练方法SoCo!性能SOTA!(NeurIPS 2021)...

    关注公众号,发现CV技术之美 本文分享 NeurIPS 2021 论文『Aligning Pretraining for Detection via Object-Level Contrastive ...

  8. See Finer, See More!腾讯上交提出IVT,越看越精细,进行精细全面的跨模态对比!

    See Finer, See More!腾讯&上交提出IVT,越看越精细,进行精细全面的跨模态对比! [写在前面] 基于文本的人员检索是基于文本描述来查找查询对象.关键是要学会在视觉-文本模态 ...

  9. CPT:刷爆少样本REC任务!清华刘知远团队提出跨模态预训练Prompt Tuning

    关注公众号,发现CV技术之美 本文分享论文『CPT: Colorful Prompt Tuning for Pre-trained Vision-Language Models』,由清华刘知远团队提出 ...

最新文章

  1. opencv形状识别学习总结
  2. [团队开发]总结下Server 2008 + TeamFoundation Server 2008安装过程
  3. pytorch学习 入门篇(一)
  4. fanuc roboguide_ROBOGUIDE软件:机器人产线输送带输送物料虚拟仿真操作
  5. 受新冠病毒影响,谷歌延迟发布 Chrome 和 Chrome OS 安全更新版本
  6. T-Sql - 数据分租求最大指定字段最大的记录
  7. 不要用面向对象编程分散新手程序员的注意力
  8. java 反射如何给属性赋值_关于Java属性反射的异常问题
  9. 数据资料网站_更新......
  10. 批处理变量输出时提示“ECHO处于关闭状态”
  11. 金桔智能门锁实现人证房三统一原理
  12. 服务器usb驱动安装系统安装失败怎么办,usb驱动安装不成功,小编教你usb驱动安装失败的解决方法...
  13. 丰巢刷脸取件被小学生破解,号称3D、深度学习加持的人脸识别究竟靠谱吗?...
  14. 计算机毕业设计 基于springboot+vue的校园志愿者管理系统
  15. 计算股票收盘价的月日均值 matplotlib绘图
  16. AI-WEB-1.0简单攻略
  17. 【Jupyter Notebook】在jupyter中使用数学公式
  18. Tungsten Fabric入门宝典丨8个典型故障及排查Tips
  19. jquery实现全选
  20. 买投影仪选当贝还是极米,哪个投影仪最好用

热门文章

  1. div中iframe高度自适应问题
  2. g++和gcc的区别
  3. 解决一个I2C读写问题
  4. BUG_ON()、panic()、dump_stack()几种内核调试手段
  5. 女士怎么就不适合PhP呢,女人可以不美丽,但不能不智慧
  6. xshell如何运行java_利用Xshell往应用服务器上部署项目
  7. 帆软报表嵌入python程序_在线报表FineReport中如何进行嵌入式部署
  8. python爬虫什么网站都能爬吗_python如何爬取动态网站
  9. 动态规划思路和Python解决零钱兑换问题和最大乘积子序列的乘积的问题
  10. axis=0 与axis=1 的区分