查看原文
其他

多模态,原来竟有这么多花样?

林天文 OpenMMLab 2024-04-23



本文入选【技术写作训练营】优秀结营作品,作者:林天文


在 2021 年,随着 CLIP 工作首次公开亮相,从来没有那么活跃过的多模态领域带给研究人员一种新鲜的感受——训练一次到处都能用的感觉原来这么愉悦~



从小众领域卷入热潮的 CLIP



CLIP 真秀


在认识 CLIP 之前,我的刻板印象常告诉我通用大模型就是少数几个顶级科技公司才能玩得起的技术,仿佛训练吞电站,调用费千百。直到看到朱毅老师亲自讲解并演示怎么部署和变着花样调戏 CLIP。尽管 CLIP 也是个烧钱烧数据集的工作,但是它舍弃了庞大的体格,在「模态对齐」上下苦功夫。这个能用语言调戏的双感官模型居然真正走入了我的低端电脑,并在我面前秀了一波「袖珍」身体带来的优秀泛化能力。


起初我只是把它当作一个相当朴实的炫富工作,但自从在 CLIP 这慢慢了解了多模态之后,我开始对单一模态的工作指指点点。刚开始我只是无脑放点狠话,比如「视觉是聋子、哑巴」之类。到后来我越思考就想得越多,比如我们的汉字那么博大精深的语义体系视觉模型居然一直都无法从类别文本标注中感受到。我对单一模态越来越失望,再往后会去憧憬一些可能的解决方案,比如模型哪天开始能够看到自己标签上的汉字象形意义,是否能够学得更好……


当我彻底沉迷上多模态之后,我也爱上了 Zero-shot 这种不用训练也可以举一反三的理论。在 CLIP 诞生之前,多模态领域对于怎么处理不同感官之间复杂关系一直停留在理论的设想上,直到 CLIP 花重金印证了「模态对齐」的意义,并促进大家思考模态之间有什么样的关系值得模型去学习。「模态对齐」是引导模型真正学会模态间关系的理论,比如咱只看一根香蕉的照片可以联系很多种语言表达,比如「长的」、「黄黑相间的」、「食物」、「水果」……而反过来,我们看到「香蕉」也会拥有各种各样的想象,比如漫画风格的、油画的、照片里的……当然模态间的关系可能不只是这样,但当 CLIP 引入对比学习为两个多样性极好的模态建立起这种双向联想时,感官之间的合作已经足够简单,这也降低了 CLIP 在下游视觉或语言任务中举一反三的难度。


CLIP 的后世影响


CLIP 给出的解决方案表面上看非常朴素,只需要假设互联网数据集足够大,模型总能够学习到这种花样多多的模态双向关系。俗话说得好,活久了什么怪事也都能见到~CLIP 也比较谦虚,在论文的一开始就提出自己只是在实践上往前走了很远而没有太多理论创新。然而,有强大泛化能力的 CLIP 同时也以 88.4% 和 51% 的精度尴尬地透露了自己在 MNIST、SVHN 等数字类数据集上泛化的无力感,因为在 CLIP 的印象里,很少见过互联网上会把哪个数字跟数字的特写照片放在一起。虽然很尴尬,但不影响 CLIP 在计算机图形学、向量数据库等细分领域,甚至分割、目标检测等各个细分任务上凭借强大的通用 Zero-shot 性能顺利出圈,诞生了大量后续的创新工作。SAM 也发扬了 CLIP 的「模态对齐」思想并在监督学习分割领域秀了一波 Zero-shot 和超大分割监督数据集廉价孵化技术。



从生成式的视角再遇见多模态


在分析多模态与生成算法的缘份之前,应该先了解一个无监督领域的技术,即「自编码」。自编码器通常是以编解码的架构训练的,其任务通俗点描述也很简单,即「自己生成自己」。既然要生成,那花样可就多了。以图像为例子,可以先把原始的输入压缩干净(图像 => 向量),再让模型尝试恢复原图(向量 => 图像)。经过不断压缩-解压的训练,我们就能够强迫模型学习自己感受图像高度抽象的特征(一般称编码得到的向量为数据的表征),从而让模型很好地认识数据的全貌,并作为预训练模型应用到下游任务。



理解了自编码的概念之后,我们可以尝试重新理解「自」在自编码中的意义。上面我带小伙伴们理解的「自」是指原始输入,比如我可以让自编码器重建一段句子、一张图片、一条语音等,甚至更极端地把这些句子、图片、语音等掩盖住一部份再来压缩,并重建出没有掩盖之前的状态,比如 BERT、MAE 等。那么我们怎么重新认识「自」并玩出花来呢?下面我展示其中一种视角:


  • 图像 => 向量 => 图像:这里以视觉任务的自编码为例子。这是我们一开始定义的「自」编码,你可以尝试把这个流程改成下面的形式👇

  • (模态1 => 向量 => 模态2)+(模态2 => 向量 => 模态1):如果还没 get 到这么做的意义,可以进一步把流程按照不同研究领域改成下面的变种形式👇



从这可以看出自编码的方法论适用于各种领域的预训练任务,并可以站在不同模态视角下把各种异构的数据源对齐在一起。所以其实只需要把自编码的「自」换一种花样解读,我们就得到了一个多模态学习的新思路。相比于上面提到的 CLIP,这种自编码的方式并没有在编码得到表征之后就开始模态对齐了,而是一转眼又顺路跑到了对方的世界去,开眼看世界(无厘头)。自编码的方式也有自己的问题,比如引入了模态间的生成过程也增加了训练难度,尤其是模态的复杂度差异过大的时候。在这方面 CLIP 有着得天独厚的优势,那就是模态的融合是统一映射到较简单的向量空间中进行。CLIP 天生有把奥卡姆剃刀,什么噪声、失真、遮盖……在高度抽象面前都是可以被抑制的,并且在对齐的过程中模型也会主动学会避开这些无意义的信息,训练难度会降低很多。



从单一模态中发掘出多模态


综上,我们不难看出多模态的本质就是对同一事物的不同表达。上面我们已经尝试站在多个基于人类感官的模态视角上认识多模态的意义,下面我们将打破模态之间应该基于人类不同感官的刻板印象。以我们的好朋友「SAM」为例,它也是多模态相关的工作,明面上采用了点、框、面 3 种模态来辅助图像分割算法,但实际上这 3 种模态都是从分割标签的掩码面中随机采样得到的。虽然这些模态所含的都是空间信息,而且都从同一个掩码面模态种发掘而来,但是我们能不能认为这是对同一事物的不同表达呢?当然可以。


因此,我们可以尝试从多模态的本质来再次感受一种模态设计的新花样:


  • 对于较复杂的视觉分割任务而言,巧妙利用分割掩码模态的空间信息多样性,从十分抽象的(点模态)到较具体的(面模态)发掘出多空间尺度的融合学习。实现一个可以由「简单」模态提示的「复杂」模态预测器。比如打点得掩码。


  • 退一万步,对于最简单的视觉分类任务而言,我们搬用一模一样的模态设计,实现一个可以由「复杂」模态提示的「简单」模态预测器。比如画圈得框。


对多模态的理解可以不拘泥于传统的生物感官,而是从单一模态中发掘模态内部的差异性,从而创造特色各异的新模态,强迫模型主动认识这种内在差异,从而提高模型对单一模态的深刻认识。



重新认识模态对齐


身临其境感受多模态学习


假如你是一个辅导高中生的家教,有个来年高考的差生,你会选择先给他 n 本特色不一的练习册全面练习,还是先翻开过去的练习一步步引导 ta 发现自己的知识缺陷呢?在我体验过的高中生活中,更希望先有个高手能带我发现我已经存在的问题,因为「当局者迷」的难题很难在越来越大的学习任务中自解,却可能被他人一句话就点明白。我想多模态也是一个道理,无论模态堆了多少种,又有多全面,到最后都不如先设计一个高效的模态对齐方案,显式地引导模型关注模态间相互交叉的中间地带,降低众多模态联合学习的难度。疯狂堆模态很可能只会导致模型走马观花,甚至走火入魔。在这里,更高效的模态对齐算法就是防止「差生」学不进去的宝藏家教~


对比学习是 CLIP 所选择的模态对齐解决方案。在引入多模态之前,对比学习是一种从数据集内部探索监督信号的无监督 SOTA 方案。它对监督信号的定义是灵活多变的,但主流的定义就一种,即「某张图像只跟其增广图像匹配,跟其他图像都不匹配」。放到多模态领域就是,「某张图像只跟其附带文本匹配,跟其他图像的附带文本都不匹配,反之亦然」。将最先进的无监督技术兼容到 CLIP 的模态对齐算法,是其能更好 hold 住图文模态的根本原因。借助对比学习实现模态对齐的例子也出现在了我们耳熟能详的 ChatGPT,比如 BLIP-2 就实现了图像模态到文本模态的对齐,给 ChatGPT 等语言大模型接上了眼睛。



模态对齐,前进进


对比学习最大的缺点就是监督信号的可靠性在不同的数据集中都不一致。让我们思考对比学习在无监督任务中的原始定义,假如我们每次只把两张图像拿来对比,一旦遇到两张图像相似度较高时,就很可能会错误地把同一类的数据强制「拉开距离」,所以一般无监督对比学习都会设置一个很大的 batch size 来稀释每次对比中不可解释的部份。反观多模态对比学习,尽管文本中的主语和定语往往有很强的针对性,比如毛茸茸的哈士奇和光秃秃的哈士奇能带给我们不同的场景想象。但一旦遇到过于含糊的文本或者过于抽象的照片,就很难再套用到对比学习的假设和逻辑中。


因此,ALBEF 利用动量编码的思想抑制了对比学习的负面效果。但这只是妥协的临时方案,只有革新对比学习的理论,甚至创造其他模态对齐技术才能根除这种监督信号的不稳定性,并摆脱当下无监督学习对数据规模的依赖。无监督相较于监督、半监督、弱监督而言一直都是难啃的骨头,不过过去的时间里我们见证了无监督深度学习对训练设备的要求在一点点降低,这或许暗示了我们以对比学习为核心的无监督算法还有很大的进步空间。


模态对齐或许不是完备解——模态差分的概念


另一方面,模态之间的关系或许不只有「n to n」的对齐关系,也就是说我们的模态之间的相关性不只有正相关的关系,还有负相关的关系。有个生活中的例子就是,同样是美食,你闻着是美食,吃着也是美食,但是闻的感觉就是和吃着的感觉就是不一样。你说这种感官差异能通过对齐香味和口味学到吗?当然不行,这种感觉之间的差异是互补的不是重叠的,却共同决定了我们要把面前的美食好好品一品。无监督的突破是模态对齐的核心很重要,但是也不能少了对「模态差分」的关注,或许「模态对齐」➕「模态差分」才是驱动「多」模态向「超多」模态转变的完整推动力。未来的多模态技术研究还需要我们做更深入的研究和探索……



在多模态五彩缤纷的世界里,发现更多可能


在我们的探讨中,多模态的世界已经从传统的人类感官扩展到了单一模态内部的差异性。从 CLIP 的「模态对齐」,到自编码的双向生成,再到 SAM 的巧妙利用分割掩码模态,进而到「模态差分」,我们看到了多模态的许多可能。


它们不仅仅是对同一事物的不同表达,更是这个世界多样性、复杂性和丰富性的体现。多模态不再是一种单一的、固定的模式,而是一种可变的、灵活的思维方式。它像极了人类的好奇心,引导人们在已有感官的基础上摆脱「千人一面」的枯燥,去发现「一花独放不是春,百花齐放春满园」的多彩世界,让人们切换不同的角度去理解和解释共同面对的现实,这正是人类的历史文化绚丽多彩的原因。这种变换的、多元的思维方式,无疑给我们的研究和应用带来了更多的可能和机会。


因此,让我们在多模态的世界中,释放我们的想象,发现更多的可能。不论是在人工智能的研究中,还是在实际应用中,多模态都给我们提供了一个全新的视角,让我们能够更好地理解和处理复杂的问题。最后,希望我们都能在多模态的世界里,找到自己的位置,展现自己的花样。







大模型时代通用检测趋势解读及MMDetection未来展望

2023-10-16

上海人工智能实验室大模型方向招聘 | 《offer来了》第3期

2023-10-13

突破视觉模型类别限制,全面支持开放域感知!OpenMMLab 季度报告请收好

2023-10-12



继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存