首先,什么叫做模态(Modality)呢?
每一种信息的来源或者形式,都可以称为一种模态。例如,人有触觉,听觉,视觉,嗅觉;信息的媒介,有语音、视频、文字等;多种多样的传感器,如雷达、红外、加速度计等。以上的每一种都可以称为一种模态。
同时,模态也可以有非常广泛的定义,比如我们可以把两种不同的语言当做是两种模态,甚至在两种不同情况下采集到的数据集,亦可认为是两种模态。
因此,多模态机器学习,英文全称 MultiModal Machine Learning (MMML),旨在通过机器学习的方法实现处理和理解多源模态信息的能力。目前比较热门的研究方向是图像、视频、音频、语义之间的多模态学习。
多模态学习从1970年代起步,经历了几个发展阶段,在2010后全面步入Deep Learning阶段。
人其实是一个多模态学习的总和,所以也有”砖家“说了,多模态学习才是真正的人工智能发展方向。
多模态学习的分类
多模态学习可以划分为以下五个研究方向:
- 多模态表示学习 Multimodal Representation
- 模态转化 Translation
- 对齐 Alignment
- 多模态融合 Multimodal Fusion
- 协同学习 Co-learning
下面将针对这五大研究方向,逐一进行介绍。
多模态表示学习 Multimodal Representation
单模态的表示学习负责将信息表示为计算机可以处理的数值向量或者进一步抽象为更高层的特征向量,而多模态表示学习是指通过利用多模态之间的互补性,剔除模态间的冗余性,从而学习到更好的特征表示。主要包括两大研究方向:联合表示(Joint Representations)和协同表示(Coordinated Representations)。
- 联合表示将多个模态的信息一起映射到一个统一的多模态向量空间;
- 协同表示负责将多模态中的每个模态分别映射到各自的表示空间,但映射后的向量之间满足一定的相关性约束(例如线性相关)。
联合表示和协同表示对比图
利用多模态表示学习到的特征可以用来做信息检索,也可以用于的分类/回归任务。下面列举几个经典的应用。
在来自 NIPS 2012 的 《Multimodal learning with deep boltzmann machines》一文中提出将 deep boltzmann machines(DBM) 结构扩充到多模态领域,通过 Multimodal DBM,可以学习到多模态的联合概率分布。
单模态和多模态DBM对比图
论文中的实验通过 Bimodal DBM,学习图片和文本的联合概率分布 P(图片,文本)。在应用阶段,输入图片,利用条件概率 P(文本|图片),生成文本特征,可以得到图片相应的文本描述;而输入文本,利用条件概率 P(图片|文本),可以生成图片特征,通过检索出最靠近该特征向量的两个图片实例,可以得到符合文本描述的图片。如下图所示:
协同表示学习一个比较经典且有趣的应用是来自于《Unifying Visual-Semantic Embeddings with Multimodal Neural Language Models 》这篇文章。利用协同学习到的特征向量之间满足加减算数运算这一特性,可以搜索出与给定图片满足“指定的转换语义”的图片。例如:
狗的图片特征向量 - 狗的文本特征向量 + 猫的文本特征向量 = 猫的图片特征向量 -> 在特征向量空间,根据最近邻距离,检索得到猫的图片
转化 Translation / 映射 Mapping
转化也称为映射,负责将一个模态的信息转换为另一个模态的信息。常见的应用包括:
机器翻译(Machine Translation):将输入的语言A(即时)翻译为另一种语言B。类似的还有唇读(Lip Reading)和语音翻译 (Speech Translation),分别将唇部视觉和语音信息转换为文本信息。
图片描述(Image captioning) 或者视频描述(Video captioning): 对给定的图片/视频形成一段文字描述,以表达图片/视频的内容。
语音合成(Speech Synthesis):根据输入的文本信息,自动合成一段语音信号。
模态间的转换主要有两个难点,一个是open-ended,即未知结束位,例如实时翻译中,在还未得到句尾的情况下,必须实时的对句子进行翻译;另一个是subjective,即主观评判性,是指很多模态转换问题的效果没有一个比较客观的评判标准,也就是说目标函数的确定是非常主观的。例如,在图片描述中,形成怎样的一段话才算是对图片好的诠释?也许一千个人心中有一千个哈姆雷特吧。
对齐 Alignment
多模态的对齐负责对来自同一个实例的不同模态信息的子分支/元素寻找对应关系。这个对应关系可以是时间维度的,比如下图所示的 Temporal sequence alignment,将一组动作对应的视频流同骨骼图片对齐。类似的还有电影画面-语音-字幕的自动对齐。
对齐又可以是空间维度的,比如图片语义分割 (Image Semantic Segmentation):尝试将图片的每个像素对应到某一种类型标签,实现视觉-词汇对齐。
多模态融合 Multimodal Fusion
多模态融合(Multimodal Fusion )负责联合多个模态的信息,进行目标预测(分类或者回归),属于 MMML 最早的研究方向之一,也是目前应用最广的方向,它还存在其他常见的别名,例如多源信息融合(Multi-source Information Fusion)、多传感器融合(Multi-sensor Fusion)。
按照融合的层次,可以将多模态融合分为 pixel level,feature level 和 decision level 三类,分别对应对原始数据进行融合、对抽象的特征进行融合和对决策结果进行融合。而 feature level 又可以分为 early 和 late 两个大类,代表了融合发生在特征抽取的早期和晚期。当然还有将多种融合层次混合的 hybrid 方法。
融合层次示意图
常见的机器学习方法都可以应用于多模态融合,下面列举几个比较热门的研究方向。
视觉-音频识别(Visual-Audio Recognition): 综合源自同一个实例的视频信息和音频信息,进行识别工作。
多模态情感分析(Multimodal sentiment analysis): 综合利用多个模态的数据(例如下图中的文字、面部表情、声音),通过互补,消除歧义和不确定性,得到更加准确的情感类型判断结果。
手机身份认证(Mobile Identity Authentication): 综合利用手机的多传感器信息,认证手机使用者是否是注册用户。
多模态融合研究的难点主要包括如何判断每个模态的置信水平、如何判断模态间的相关性、如何对多模态的特征信息进行降维以及如何对非同步采集的多模态数据进行配准等。
若想了解传统的机器学习方法在此领域的应用,推荐学习清华大学出版的《多源信息融合》(韩崇昭等著)一书。
协同学习 Co-learning
协同学习是指使用一个资源丰富的模态信息来辅助另一个资源相对贫瘠的模态进行学习。
比如迁移学习(Transfer Learning)就是属于这个范畴,绝大多数迈入深度学习的初学者尝试做的一项工作就是将 ImageNet 数据集上学习到的权重,在自己的目标数据集上进行微调。
迁移学习比较常探讨的方面目前集中在领域适应性(Domain Adaptation)问题上,即如何将train domain上学习到的模型应用到 application domain。
迁移学习领域著名的还有零样本学习(Zero-Shot Learning)和一样本学习(One-Shot Learning),很多相关的方法也会用到领域适应性的相关知识。
Co-learning 中还有一类工作叫做协同训练(Co-training ),它负责研究如何在多模态数据中将少量的标注进行扩充,得到更多的标注信息。
通过以上应用我们可以发现,协同学习是与需要解决的任务无关的,因此它可以用于辅助多模态映射、融合及对齐等问题的研究。
结束语
到此为止,我们对多模态机器学习领域的研究方向和应用进行了一个大致的梳理,受限于篇幅,还有许多未涉及的研究问题。
有什么读后感吗?
也许你以前没有听过多模态学习(MMML)这个概念,读了此文发现原来自己做的正是 MMML 一个分支;
也许你以前觉得 CV / NLP / SSP 才是人工智能的正统,读了此文发现多学科交叉的 MMML 一样可以玩 DL 溜得飞起;
也许你目前正苦于找不到研究的方向,读了此文发现 MMML 打开了新的大门,原来有这么多的事情可以做。
多模态学习是一个目前热度逐年递增的研究领域,如果大家感兴趣,欢迎留言反馈,后续我们会考虑推出几个热门 MMML 方向的经典or前沿论文、模型解析。
邀您共同加入产品经理修炼之路: