论文链接([1705.09406] Multimodal Machine Learning: A Survey and Taxonomy (arxiv.org))
Multimodal Machine Learning A Survey and Taxonomy
我的理解里,模态指的是各种信息的提供方式,反应到人身上主要是通过触觉听觉嗅觉和视觉感受这些信息。多模态指的是一个研究问题包括多种信息提供方式,例如:一个研究项目需要多种多样的传感器,这些传感器反馈来的信息就是多模态的。而机器并没有人类这样的触觉听觉嗅觉和视觉也不理解传感器反馈来的信息,为了让它理解我们的世界,它需要解释和推理多模态信息。但是如何让它会解释呢,就要靠多模态机器学习。多模态机器学习是从多种模态的数据中学习并且提升自身的算法,它不是某一个具体的算法,它是一类算法的总称。当我们对多源异构数据进行挖掘分析时,就会出现以下五个重要问题:如何在计算机表示模态、模态之间如何转化、不同模态如何对齐、不同模态如何协同预测、在模态A的资源学习后如何转移到模态B的学习。
01.表示
如何在计算机表示模态: 单模态的表示负责将信息表示为计算机可以处理的数值向量或者进一步抽象为更高层的特征向量,而多模态表示是指通过利用多模态之间的互补性,剔除模态间的冗余性,从而学习到更好的特征表示。
本文给我们介绍了两种表示方法——联合表示和协同表示。
- 联合特征表示将各模态信息映射到相同的特征空间中,最为简单的方法就是特征拼接,主要用于在训练和测试阶段都是多模态数据的任务。
- 协同表示是为每个模态学习单独的特征提取模型,通过一个约束来协同不同的模态,更适合于在测试时只有一种模态数据的任务比如翻译,由于协同表示不需要组合映射,只需要约束协调关联关系,利于保持各单模态独有的特征。
文章还讲了利用深度学习方法联合表示、利用概率图模型联合表示以处理数据丢失问题、利用序列联合表示来处理流数据,相似度模型最小化协同表示、结构化协同空间模型协同表示,但涉及具体的技术方法或模型我看不懂因此跳过。
02.转化
模态之间如何转化: 例如给定一张图像,生成一句话来描述这张图像,或者给定一个文字描述,能够生成与之匹配的图像。本文给我们介绍了两类多模态转化的方法——基于实例的方法和生成式方法。
- 基于实例的方法使用字典实现模态转化,因此面临的最大问题在于它的模型就是整个字典,模型会随着数据集的增加而不断增大,而且推理会变慢。它包括两种算法——基于检索的方法和基于组合的方法。
基于检索的方法直接依赖字典中搜索到的最近的样本作为转化的结果,不会修改它们,这种方法的好处是仅需要单一模态的表示,就可以通过检索实现,问题在于在单模态空间中相似度高实例的并不一定就是好的模态转化。如果是两种模态,会利用中间语义空间来实现相似性比较,在语义空间中进行模态检索的方法比单模态检索的方法效果更好而且支持双向的转化,但这种中间语义空间检索的方法需要大量的训练字典学习一个语义空间。
基于组合的方法依赖于更复杂的规则,通过将检索结果进行有意义的组合来得到更好的模态转化结果,组合规则是手工制定的或基于启发式的,相当于去发现对模态描述的统一的简单结构。
- 生成式方法使用模型生成转化结果,能够对给定单一模态实例进行多模态转化,面临的问题在于需要理解源模态来生成目标序列、信号并且可能正确的转化结果非常多,因此这类方法较难评估。它包括三大类模型——基于语法规则的模型、编码器-解码器模型和连续生成模型。
基于语法规则的模型通过使用语法限制目标域来简化任务,例如,通过基于〈主语、宾语、动词〉模板生成限制语句。例如检测图像中的对象和视频中的动作。然后将检测与已预定义语法的生成过程结合在一起,以产生目标模态如自然语言描述。该模型的优点在于因为使用了预定义的模板和受限的语法,从而更有肯生成语法或逻辑上正确的目标实例,缺点是只能进行公式化的翻译而非创造性的,而且每个概念都需要单独的模型和单独的训练数据集。
编码器-解码器模型首先将源模态编码为矢量表示,然后由解码器使用该矢量表示来生成目标模态。模型主要用于生成文本,但它们也可用于生成图像以及语音和声音的连续生成。该模型广泛使用,但缺点在于需要大量的数据来进行训练、在生成长序列时模型往往会忘记初始输入。
连续生成模型输入源模态流,在一个时间步长内生成目标模态,从而达到流式输出。但最近正在被基于神经网络的编码器-解码器模型所取代。
模态之间的转化面临的一个主要挑战缺少标准的评价指标,有的研究场景中目标模态的评估具有很大的主观性,一些自动化评价指标褒贬不一。
03.对齐
不同模态如何对齐: 例如给定一部电影,如何将电影情节与它的剧本或书籍章节对齐。多模态对齐分成两类——显式对齐和隐式对齐,显式对齐关注模态间子组件的对应关系,例如将视频和菜谱中对应的步骤对齐,隐式对齐常作为其它任务的中间步骤。
- 显式对齐的一个非常重要的部分是相似性度量,大多数方法都依赖于测量不同模态中子组件之间的相似性。两种处理显式对齐的算法——无监督和弱监督。
无监督指在来自不同模态的实例之间没有直接的标记的对应关系,弱监督则可以访问这样的标记。无监督使用Dynamic time warping和图模型的方法,弱监督中深度学习方法越来越受欢迎。
- 隐式对齐不明确地对齐数据,也不依赖于监督对齐示例,而是学习如何在模型训练期间潜在地对齐数据。两种类型的隐式对齐模型——早期图形模型和现代神经网络方法。
图模型需要训练数据构建或人类专业知识来手动定义模态间的映射关系。
神经网络在前面讲到广泛应用于多模态转换,在基于神经网络的编码器-解码器模型中引入注意力机制使得解码器能够关注到子组件,任务的性能可以得到提升。
多模态对齐目前面临的困难如:具有标签的数据集少、很难设计模态之间的相似性度量、对齐并不是单射、存在多种可能的模态对齐等。
04.融合
不同模态如何协同预测: 多模态融合是将来自多个模态的信息整合在一起,目的是协同预测一个结果度量,这是多模态机器学习研究最多的方面之一。多模态融合带来的好处有:预测结果更可靠、利用多种模态的互补性、模态融合能够在多模态的某一种模态消失时仍正常运行。当前多模态表示和融合的界限愈发模糊。我们将多模态融合分为两大类:不直接依赖于特定机器学习方法的模型无关方法以及基于模型的方法。
- 模型无关方法按照时期可分为三种——前期融合、后期融合和混合融合。
前期融合是特征级别的融合,被视为多模态研究人员进行多模态表征学习的初步尝试;
后期融合是推理结果的融合,它允许对每个模态使用不同的模型;
混合融合同时包括两种融合方法,它试图在共同的框架中利用上述两种方法的优点。模型无关的融合方法好处是可以兼容任何一种分类器或者回归器。
- 基于模型的方法可分为三类——基于内核的方法、图形模型和神经网络。
多核学习方法允许对数据的不同模态使用不同的核(将特征映射到高维,然后在高维计算内积),灵活选择内核可以更好的融合异构数据,该方法的优点是凸函数,可以得到全局最优解、可以用于执行回归和分类,主要缺点之一是在测试期间依赖于训练数据,导致推理缓慢和占用大量内存。
图模型能够很容易的发掘数据中的空间和时间结构,同时可以将专家知识嵌入到模型中,模型也容易解释。
对于神经网络,在神经网络的联合隐藏层中融合信息,优点是多模态特征提取部分和多模态融合部分可以进行端到端的训练且能够学习其他方法难以处理的复杂决策边界,主要缺点是可解释性差以及需要依赖大量高质量的训练数据。
多模态融合目前面临的困难如:不同模态的信息在时间上可能不是完全对齐的,同一时刻有的模态信号密集,有的模态信号稀疏。融合模型很难利用模态之间的互补性不同模态数据的噪音类型和强度可能不同。
05.共同学习
在模态A的资源学习后如何转移到模态B的学习: 利用跨模态的互补信息允许一种模态影响另一种模态的训练,即通过利用一种资源丰富模式的知识来帮助对一种缺乏资源模式进行建模。根据训练资源确定了三种类型的共同学习方法:并行、非并行和混合数据。
- 并行数据是指模态之间共享一个实例集合,允许协同训练和迁移学习这两种方法利用并行数据。
当某一个模态的标记数据非常少时,可以利用协同训练生成更多的标注训练数据,或者利用模态间的不一致性过滤不可靠标注样本,协同训练方法能够生成更多的标签数据,但也可能会导致训练样本有偏差,从而导致过拟合。
对于迁移学习,由于数据是并行的,多模态玻尔兹曼机或者多模态自编码器将一种模态特征表示转化为另一种,这样不仅能得到多模态表征,而且对于单模态而言推理过程中也能得到更好的性能。
- 非并行数据不需要依赖模态间共享的实例,非并行共同学习方法可以帮助学习表示,更好地理解语义概念,甚至执行看不见的对象识别。
迁移学习在非并行数据上也是可能的,并允许通过将信息从使用数据丰富的模态构建的表示转移到数据稀缺或有噪声模态来学习更好的表示。
人类的语义知识在很大程度上依赖于感知信息,许多概念都建立在感知系统中,而不是纯粹的符号,因此对非并行数据可以提供概念基础,概念基础已被发现是提高许多任务性能的有效方法。在零知识学习中有大量的非并行数据。
- 混合数据是指通过共享的模态或者数据集连接两种非数据并行的模态。目标任务如果仅有少量标注数据,也可利用类似或相关任务去提升性能。
共同学习是独立于任务的,可以用来创建更好的转化、融合和对齐模型。