多模态机器学习,英⽂全称MultiModal Machine Learning(MMML)
模态(modal)是事情经历和发⽣的⽅式,我们⽣活在⼀个由多种模态(Multimodal)信息构成的世界,包括视觉信息、听觉信息、⽂本信息、嗅觉信息等等,当研究的问题或者数据集包含多种这样的模态信息时我们称之为多模态问题,研究多模态问题是推动⼈⼯智能更好的了解和认知我们周围世界的关键。
最早开始关注到多模态机器学习是看到Jeff Dean在2019年年底NeurIPS⼤会上的⼀个采访报道,讲到了2020年机器学习趋势:多任务和多模态学习将成为突破⼝。
⼀、定义:
多模态机器学习,英⽂全称MultiModal Machine Learning(MMML)
模态(modal)是事情经历和发⽣的⽅式,我们⽣活在⼀个由多种模态(Multimodal)信息构成的世
界,包括视觉信息、听觉信息、⽂本信息、嗅觉信息等等,当研究的问题或者数据集包含多种这样的
模态信息时我们称之为多模态问题,研究多模态问题是推动⼈⼯智能更好的了解和认知我们周围世界
的关键。
1.1 模态
模态是指⼀些表达或感知事物的⽅式,每⼀种信息的来源或者形式,都可以称为⼀种模态。例如,⼈
有触觉,听觉,视觉,嗅觉;信息的媒介,有语音、视频、⽂字等;多种多样的传感器,如雷达、红
外、加速度计等。以上的每⼀种都可以称为⼀种模态。
相较于图像、语音、⽂本等多媒体(Multi-media)数据划分形式,“模态”是⼀个更为细粒度的概念,同⼀
媒介下可存在不同的模态。 比如我们可以把两种不同的语⾔当做是两种模态,甚⾄在两种不同情况下
采集到的数据集,亦可认为是两种模态。
1.2 多模态
多模态即是从多个模态表达或感知事物。 多模态可归类为同质性的模态,例如从两台相机中分别拍摄
的图片,异质性的模态,例如图片与⽂本语⾔的关系。
多模态可能有以下三种形式:
1、描述同⼀对象的多媒体数据。如互联⽹环境下描述某⼀特定对象的视频、图片、语音、⽂本等
信息。下图即为典型的
图中展示了下雪这个场景的多模态数据
2、来自不同传感器的同⼀类媒体数据。如医学影像学中不同的检查设备所产⽣的图像数据, 包括B
超(B-Scan ultrasonography)、计算机断层扫描(CT)、核磁共振等;物联⽹背景下不同传感器所检测到的
同⼀对象数据等。
3、具有不同的数据结构特点、表示形式的表意符号与信息。如描述同⼀对象的结构化、非结构化的
数据单元;描述同⼀数学概念的公式、逻辑 符号、函数图及解释性⽂本;描述同⼀语义的词向量、词
袋、知识图谱以及其它语义符号单元等。
通常主要研究模态包括"3V":即Verbal(⽂本)、Vocal(语音)、Visual(视觉)。
⼈跟⼈交流时的多模态:
1.3 多模态学习
多模态机器学习是从多种模态的数据中学习并且提升自身的算法,它不是某⼀个具体的算法,它是⼀类
算法的总称。
从语义感知的角度切⼊,多模态数据涉及不同的感知通道如视觉、听觉、触觉、嗅觉所接收到的信息;
在数据层面理解,多模态数据则可被看作多种数据类型的组合,如图片、数值、⽂本、符号、音频、时
间序列,或者集合、树、图等不同数据结构所组成的复合数据形式,乃⾄来自不同数据库、不同知识库
的各种信息资源的组合。对多源异构数据的挖掘分析可被理解为多模态学习。
多模态学习举例
⼆、发展历史
2.1 ⾏为时代
The “behavioral” era (1970s until late 1980s),这⼀阶段主要从⼼理学的角度对多模态这⼀现象进⾏剖
析。
1、Chicago 的McNeill 认为⼿势是说话⼈的思考⾏为,是⾔语表达的重要组成部分,⽽不仅仅是补
⾜。
2、1976年的McGurk效应:当语音与唇形不符合时,⼤脑会脑补出中和的声音MCGURK, H.,
MACDONALD, J. Hearing lips and seeing voices. Nature 264, 746–748 (1976). The McGurk Effect Video
2.2 计算时代
The “computational” era (late 1980s until 2000),这⼀阶段主要利用⼀些浅层的模型对多模态问题进⾏研
究,其中代表性的应用包括视觉语音联合识别,多模态情感计算等等。
1、视频音频语音识别(AVSR),在声音的低信噪比下,引⼊视觉信号能够极⼤提升识别准确率
2、多模态/多感知接⼝:情感计算:与情感或其他情感现象有关、源于情感或有意影响情感的计算
[Rosalind Picard]
3、多媒体计算:CMU曾有过信息媒体数字视频库项目[1994-2010]
2.3 交互时代
The “interaction” era (2000 - 2010),这⼀阶段主要主要从交互的角度⼊⼿,研究多模态识别问题,其中
主要的代表作品包括苹果的语音助⼿Siri等。
拟⼈类多模态交互过程
1、IDIAP实验室的AMI项目[2001-2006],记录会议录音、同步音频视频、转录与注释;
2、Alex Waibel的CHIL项目,将计算机置于⼈类交互圈中,多传感器多模态信号处理,面对面交互
3、2003-2008 SRI的学习和组织认知助⼿,个性化助⼿,Siri就是这个项目的衍⽣产品
4、2008-2011 IDIAP的社交信号处理⽹络,数据库http://sspnet.eu。
2.4 深度学习时代
The “deep learning” era (2010s until …),促使多模态研究发展的关键促成因素有4个,1)新的⼤规
模多模态数据集,2)GPU快速计算,3)强⼤的视觉特征抽取能⼒,4)强⼤的语⾔特征抽取能⼒。
表示学习三篇参考⽂献
1、Multimodal Deep Learning [ICML 2011]
2、Multimodal Learning with Deep Boltzmann Machines [NIPS 2012]
3、Visual attention: Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
[ICML 2015]
三、典型任务
3.1 跨模态预训练
图像/视频与语⾔预训练。
跨任务预训练
3.2 Language-Audio
Text-to-Speech Synthesis: 给定⽂本,⽣成⼀段对应的声音。
Audio Captioning:给定⼀段语音,⽣成⼀句话总结并描述主要内容。(不是语音识别)3.4 Vision-Language
Image/Video-Text Retrieval (图(视频)⽂检索): 图像/视频<–>⽂本的相互检索。
Image/Video Captioning(图像/视频描述):给定⼀个图像/视频,⽣成⽂本描述其主要内容。
Visual Question Answering(视觉问答):给定⼀个图像/视频与⼀个问题,预测答案。
Image/Video Generation from Text:给定⽂本,⽣成相应的图像或视频。
Multimodal Machine Translation:给定⼀种语⾔的⽂本与该⽂本对应的图像,翻译为另外⼀种语
⾔。
Vision-and-Language Navigation(视觉-语⾔导航): 给定自然语⾔进⾏指导,使得智能体根据视觉传
感器导航到特定的目标。
Multimodal Dialog(多模态对话): 给定图像,历史对话,以及与图像相关的问题,预测该问题的回
答。
3.5 定位相关的任务
Visual Grounding:给定⼀个图像与⼀段⽂本,定位到⽂本所描述的物体。
Temporal Language Localization: 给定⼀个视频即⼀段⽂本,定位到⽂本所描述的动作(预测起⽌时
间)。
Video Summarization from text query:给定⼀段话(query)与⼀个视频,根据这段话的内容进⾏视频
摘要,预测视频关键帧(或关键片段)组合为⼀个短的摘要视频。
Video Segmentation from Natural Language Query: 给定⼀段话(query)与⼀个视频,分割得到query所
指示的物体。
Video-Language Inference: 给定视频(包括视频的⼀些字幕信息),还有⼀段⽂本假设(hypothesis),判
断⼆者是否存在语义蕴含(⼆分类),即判断视频内容是否包含这段⽂本的语义。
Object Tracking from Natural Language Query: 给定⼀段视频和⼀些⽂本,追踪视频中⽂本所描述的
对象。
Language-guided Image/Video Editing: ⼀句话自动修图。给定⼀段指令(⽂本),自动进⾏图像/视频
的编辑。
3.6 更多模态
Affect Computing (情感计算):使用语音、视觉(⼈脸表情)、⽂本信息、⼼电、脑电等模态进⾏情感
识别。
Medical Image:不同医疗图像模态如CT、MRI、PETRGB-D模态:RGB图与深度图
四、技术挑战
4.1 表征Representation
第⼀个基本挑战是学习如何以利用多种模态的互补性和冗余性的⽅式表示和总结多模态数据。多模
态数据的异质性使得构建这样的表示具有挑战性。例如,语⾔通常是象征性的,⽽音频和视觉形式将
被表示为信号。
单模态的表征负责将信息表示为计算机可以处理的数值向量或者进⼀步抽象为更⾼层的特征向量,
⽽多模态表征是指通过利用多模态之间的互补性,剔除模态间的冗余性,从⽽学习到更好的特征表
示。
4.1.1 联合表征
联合表征(Joint Representation)将多个模态的信息⼀起映射到⼀个统⼀的多模态向量空间,Joint结构
注重捕捉多模态的互补性,融合多个输⼊模态X1,X2获得多模态表征Xm = f(X1, ···,Xn),进⽽使完成
某种预测任务。
Multimodal learning with deep boltzmann machines (NIPS 2012) 提出将 deep boltzmann machines
(DBM) 结构扩充到多模态领域,通过 Multimodal DBM,可以学习到多模态的联合概率分布。
在获得图像与⽂本间的联合概率分布后,我们在应用阶段,输⼊图片,利用条件概率 P(⽂本|图片),
⽣成⽂本特征,可以得到图片相应的⽂本描述;⽽输⼊⽂本,利用条件概率 P(图片|⽂本),可以⽣成
图片特征,通过检索出最靠近该特征向量的两个图片实例,可以得到符合⽂本描述的图片。
4.1.2 协同表征
协同表征(Coordinated Representation)将多模态中的每个模态分别映射到各自的表示空间,但映射
后的向量之间满⾜⼀定的相关性约束(例如线性相关)。Coordinated结构并不寻求融合⽽是建模多
种模态数据间的相关性,它将多个(通常是两个)模态映射到协作空间,表示为:f(
x1)∼g(
x2),
其中∼标识⼀种协相关关系。⽹络的优化目标是这种协作关系(通常是相似性,即最小化cosine距离
等度量)。
Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models (NIPS 2014) 利用协同
学习到的特征向量之间满⾜加减算数运算这⼀特性,可以搜索出与给定图片满⾜“指定的转换语义”的
图片。例如:狗的图片特征向量 - 狗的⽂本特征向量 + 猫的⽂本特征向量 = 猫的图片特征向量 -> 在
特征向量空间,根据最近邻距离,检索得到猫的图片。
4.2 翻译Translation
第⼆个挑战涉及如何将数据从⼀种模式转化(映射)到另⼀种模式。不仅数据是异构的,⽽且模态之
间的关系通常是开放式的或主观的。例如,存在多种描述图像的正确⽅法,并且可能不存在⼀种完美
的翻译。
4.2.1 常见应用
1、机器翻译(Machine Translation):将输⼊的语⾔A(即时)翻译为另⼀种语⾔B。类似的还有
唇读(Lip Reading)和语音翻译 (Speech Translation),分别将唇部视觉和语音信息转换为⽂本信
息。
2、图片描述(Image captioning) 或者视频描述(
Video captioning): 对给定的图片/视频形成⼀段
⽂字描述,以表达图片/视频的内容。
3、语音合成(Speech Synthesis):根据输⼊的⽂本信息,自动合成⼀段语音信号。
4.2.2 基于实例的⽅法
基于实例的⽅法从词典中检索最佳翻译,词典⼀般指训练集中的数据对{(X1,Y1),···(Xn,
Yn)}
给定测试样本X`,模版法直接检索在词典中找到最匹配的翻译结果Yi,并将其作为最终输出。
检索可以分为单模态或者跨模态检索:
1、单模态检索:首先找到与X`最相似的Xi,然后获得Xi对应Yi;
2、多模态检索直接在{Y1,···Yn}集合中检索到与X`最相似的Yi,性能通常优于单模态检索。
为进⼀步增强检索结果的准确性,可选择top-K的检索结果{Yi1,Yi2,···,Yik},在融合K个结果作为最终输
出。
4.2.3 模型驱动的⽅法
基于模型的首先在字典上训练⼀个翻译模型,然后使用该模型进⾏翻译。
基于语法的模型(Grammar-based models)
即⼈为设定多个针对目标模态的语法模版,将模型的预测结果插⼊模版中作为翻译结果。以图像描述为
例,模版定义为 who did what to whom in a place,其中有四个待替换的插槽。通过不同类型的目标/属
性/场景检测器可以获得who, what, whom, place等具体单词,进⽽完成翻译。
编码-解码器模型(Encoder-decoder models)
首先将源模态的数据编码为隐特征z,后续被解码器用于⽣成目标模态。以图像描述为例,编码器(⼀般
为CNN+spatial pooling)将图像编码为⼀个或多个特征向量,进⽽输⼊到RNN中以自回归的⽅式⽣成单
词序列。
连续型⽣成模型(Continuous generation models)
它针对源模态与目标模态都为流数据且在时间上严格对齐的任务。以⽂本合成语音为例,它与图像描述
不同,语音数据与⽂本数据在时间上严格对齐。WaveNet采用了CNN并⾏预测解决该类问题,当然,编
码-解码器理论上也可完成该任务,但需处理数据对齐问题。
4.2.4 翻译的评估困境
多模态翻译⽅法面临的⼀个主要挑战是它们很难评估。语音识别等任务只有⼀个正确的翻译,⽽语音合
成和媒体描述等任务则没有。有时,就像在语⾔翻译中,多重答案是正确的,决定哪个翻译更好往往是
主观的。
⼈⼯评价是最理想的评估,但是耗时耗钱,且需要多样化打分⼈群的背景以避免偏见。
自动化指标是视觉描述领域常用的替代⽅法,包括BLEU,Meteor,CIDEr,ROUGE等,但它们被证
实与⼈的评价相关性较弱。基于检索的评估和弱化任务(例如:将图像描述中⼀对多映射简化为VQA中⼀对⼀的映射)也是解决
评估困境的⼿段。
4.3 对齐Alignment
第三个挑战是从两种或多种不同的模态中识别(⼦)元素之间的直接关系。例如,我们可能希望将
食谱中的步骤与显示正在制作的菜肴的视频对齐。为了应对这⼀挑战,我们需要测量不同模式之间的
相似性并处理可能的长期依赖和歧义。
4.3.1 显式对齐
如果模型的主要目标是对齐来自两个或多个模态的⼦元素,那么我们将其分类为执⾏显式对齐。显
式对齐的⼀个重要⼯作是相似性度量。⼤多数⽅法都依赖于度量不同模态的⼦组件之间的相似性作为
基本构建块。
包括⽆监督和弱监督的⽅法:
⽆监督对齐:给定两个模态的数据作为输⼊,希望模型实现⼦元素的对齐,但是训练数据没有“对齐结
果”的标注,模型需要同时学习相似度度量和对齐⽅式。
有监督对齐:有监督⽅法存在标注,可训练模型学习相似度度量。
4.3.2 隐式对齐
隐式对齐用作另⼀个任务的中间(通常是潜在的)步骤。 这允许在许多任务中有更好的表现,包括语
音识别、机器翻译、媒体描述和视觉问题回答。这些模型不显式地对齐数据,也不依赖于监督对齐示
例,⽽是学习如何在模型训练期间潜在地对齐数据。
4.4 融合Fusion
第四个挑战是结合来自两个或多个模态的信息来执⾏预测。例如,对于视听语音识别,将嘴唇运动
的视觉描述与语音信号融合以预测⼝语。来自不同模态的信息可能具有不同的预测能⼒和噪声拓扑,
并且可能在⾄少⼀种模态中丢失数据。
4.4.1 模型⽆关的⽅法
早期融合(Early Fusion):指在模型的浅层(或输⼊层)将多个模态的特征拼接起来,然后再级联深
度⽹络结构,最后接上分类器或其他模型。Early Fusion 是学者对多模态融合的早期尝试,通过将各模
态的底层特征进⾏融合学习相关性,由于只需要训练⼀个共同的模型,复杂度可控。但是,由于多个
模态的数据来源不⼀致,会给拼接造成很⼤的难度,并且直接对原始数据进⾏拼接会引起较⼤的特征
维度,对数据预处理也非常敏感。
晚期融合(Late Fusion):独立训练多个模型,在预测层(最后⼀层)进⾏融合,可以理解为集成⽅法
Ensemble Methods 的⼀种。Late Fusion ⽅式的各模态单独处理,特征独立互不影响,即使某个模态信
息丢失也可以正常训练,具有很强的灵活性。但是,该⽅式没有充分利用模态间底层特征的相关性,
并且由于涉及多个模态的分别训练,也会带来较⼤的计算复杂度。
混合融合(Hybird Fusion):同时结合前融合和后融合,以及在模型中间层进⾏特征交互。Hybird
Fusion是⼀种逐级融合⽅式,在不同层级上依次对不同模态进⾏融合,综合了上述两种⽅式的优点,既
利用了模态间信息的相关性,也具有⼀定的灵活性,目前⼤部分多模态融合都是采用这种⽅法。
4.4.2 基于模型的⽅法
Deep Neural Networks:神经⽹络进⾏端到端的训练,使用LSTM、卷积层、注意⼒层、门机制、双
线性融合等设计序列数据或图像数据的复杂交互。
Multiple Kernel learning:多核学习(将不同的核用于不同的数据模态/视图)
Graphical models:利用隐马尔可夫模型或贝叶斯⽹络建模数据的联合概率分布(⽣成式)或条件概率
(判别式)4.5 协同学习Co-learning
第五个挑战是在模态的表示和它们的预测模型之间转移知识。协同学习探索了从⼀种模态中学习的知
识如何帮助在不同模态上训练的计算模型。当其中⼀种模式的资源有限(例如,带注释的数据)时,
这⼀挑战尤其重要。辅助模态(helper modality)通常只参与模型的训练过程,并不参与模型的测试使
用过程
4.5.1 并⾏
需要训练数据集,其中来自⼀种模态的观察结果与来自其他模态的观察结果直接相关,例如在⼀个视听
语音数据集中,视频和语音样本来自同⼀个说话者。
4.5.2 非并⾏
不需要来自不同模式的观察结果之间的直接联系,通常通过使用类别重叠来实现共同学习,例如,在零
样本学习中,使用来自Wikipedia的纯⽂本数据集扩展传统的视觉对象识别数据集以改进视觉对象识别
的泛化能⼒。
4.5.3 混合
通过共享模式或数据集桥接
五、SOTA模型 - CLIP
CLIP全称Contrastive Language-Image Pre-training,是OpenAI最新的⼀篇NLP和CV结合的多模态的⼯
作,在多模态领域迈出了重要的⼀步。CLIP在⽆需利用ImageNet的数据和标签进⾏训练的情况下,就
可以达到ResNet50在ImageNet数据集上有监督训练的结果。CLIP主要的贡献就是利用⽆监督的⽂本信
息,作为监督信号来学习视觉特征。
5.1 原理
CLIP不预先定义图像和⽂本标签类别,直接利用从互联⽹爬取的 400 million 个image-text pair 进⾏
图⽂匹配任务的训练,并将其成功迁移应用于30个现存的计算机视觉分类。
5.2 流程
Contrastive pre-training:预训练阶段,使用图片 - ⽂本对进⾏对比学习训练;
Create dataset classififier from label text:提取预测类别⽂本特征;
Use for zero-shot predictiion:进⾏ Zero-Shoot 推理预测;
阶段1:Contrastive pre-training
在预训练阶段,对比学习⼗分灵活,只需要定义好 正样本对 和 负样本对 就⾏了,其中能够配对的
image-text 对即为正样本。具体来说,先分别对图像和⽂本提特征,这时图像对应⽣成 I1、I2 … In 的
特征向量(Image Feature),⽂本对应⽣成 T1、T2 … Tn 的特征向量(
Text Feature),中间对角线
为正样本,其余均为负样本。
阶段2:Create dataset classififier from label text
基于400M数据上学得的先验,仅用数据集的标签⽂本,就可以得到很强的图像分类性能。现在训练好
了,然后进⼊前向预测阶段,通过 prompt label text 来创建待分类的⽂本特征向量。
阶段3:Use for zero-shot predictiion
最后就是推理见证效果的时候,对于测试图片,选择相似度最⼤的那个类别输出。在推理阶段,⽆论
来了张什么样的图片,只要扔给 Image Encoder 进⾏特征提取,会⽣成⼀个⼀维的图片特征向量,然
后拿这个图片特征和 N 个⽂本特征做余弦相似度对比,最相似的即为想要的那个结果,比如这里应该
会得到 “A photo of a guacamole.”,
5.3 实现
参考资料
[1]多模态学习⽅法综述 / 陈鹏 / ⼯程科学学报 / 2019
[2]Multimodal Machine Learning: A Survey and Taxonomy / Tadas Baltrusaitis / 2017
[3]MultiModal Machine Learning / Louis-Philippe Morency / CMU
[4]CMU-10707 第⼆⼗⼀讲 多模态机器学习 / 华年ss / 知乎
[5]Multimodal Learning with Deep Boltzmann Machines / Nitish Srivastava / 2012
[6]多模态学习综述及最新⽅向 / yougeii / 知乎
[7]Learning transferable visual models from natural language supervision / 2021
[8]CLIP: Connecting Text and Images / openai / blog
[9]Awesome-CLIP / yzhuoning