共计 8892 个字符,预计需要花费 23 分钟才能阅读完成。
摘要:多模态机器学习旨在从多种模态建设一种模型,可能解决和关联多种模态的信息。思考到数据的异构性,MMML(Multimodal Machine Learning)畛域带来了许多独特的挑战,总体而言五种:示意、转化、对齐、交融、协同学习。
本文分享自华为云社区《多模态学习综述》,原文作者:Finetune 小能手。
前言
一种模态指事物产生或体验的形式,对于多模态钻研的问题就是指蕴含多种模态。
多模态机器学习旨在从多种模态建设一种模型,可能解决和关联多种模态的信息
思考到数据的异构性,MMML(Multimodal Machine Learning)畛域带来了许多独特的挑战,总体而言五种:
- 示意:最为根底的挑战,学习利用多种模态的互补性和冗余性,来示意和概括模态数据的办法。模态的异构性为这种示意带来挑战。例如:语言通常是符号示意,而语音通常是信号示意。
- 转化:如何转换(映射)一种模态的数据到另一种模态。多模态不仅数据异构,而且模态间的关系通常是凋谢的或者说是主观的。例如,有许多种正确的办法来形容一张图片,其中可能并不存在最好的模态转译。
- 对齐:模态对齐次要是辨认多种模态的因素(子因素)间的间接分割。例如,将菜谱的每一步和做菜的视频进行对应。解决这个问题须要掂量不同模态的间的相似性,而且要思考可能的长距离依赖和歧义。
- 交融:将多种模态的信息进行连贯,从而实现推理。例如,视听语音辨认,视觉形容的嘴唇的静止与音频信号进行混合来实现所说的词的推理。当可能至多一种模态数据失落的时候,来自不同模态的信息在推理中有不同的预测能力和噪声拓扑。
- 协同学习:在不同模态、示意、预测模型间进行常识迁徙。协同训练、conceptual grounding 和 zero-shot learning 中有典型利用。当某一种模态资源无限时(标注数据很少)有很大意义。
利用:利用很多,包含视听语音辨认(AVSR),多媒体数据索引和搜寻,社交互动行为了解,视频形容等
一、多模态示意
多模态示意需解决问题:异构数据如何联合,不同级别的噪声如何解决,失落数据如何解决
Bengio 指出,好的特色示意应该:
- 平滑
- 时空统一
- 稠密
- 天然聚类
Srivastava et.al. 补充三点
- 表征空间应该反映对应概念相似性
- 即使一些模态不存在,表征应该易于取得
- 使填充失落的模态成为可能
在之前的钻研中(before 2019),大部分多模态表征简略的将单模态特色进行连贯,两种多模态表征办法:联结示意(joint representation),协同示意(coordinated representation)
联结示意
每个模态为 x_ixi,x_m = f(x_1, \dots, x_n)xm=f(x1,…,xn)
联结示意罕用于训练推理均为多模态数据的工作中,最为简略的办法就是特色拼接
深度学习办法:深度学习特色后几层人造的蕴含高层语义信息,罕用最初或倒数第二层特色
因为深度学习网络须要大量标注数据,常会利用无监督办法,例如自编码器,进行特色示意预训练,深度学习不能人造的解决数据失落问题。
概率图模型:利用隐随机变量构建特色示意
最常见的基于图模型的特色示意办法,利用深度玻尔兹曼机 (DBM)、受限玻尔兹曼机(RBM) 作为模块构建,相似深度学习,特色分层,是无监督办法。也有用深度信念网络 (DBN) 表征每个模态而后进行联结示意的。
利用多模态深度玻尔兹曼机学习多模态特色示意,因为人造的生成个性,可能轻松解决失落数据问题,整个模态数据失落也能够天然解决;还能够用某种模态来生成另一种种模态的样本;DBM 缺点在于难训练,计算代价高,须要变分近似训练方法
序列表征
当数据的长度是变长序列时,例如句子、视频或者音频流,应用序列表征
RNN,LSTM 以后次要用于示意单模态序列,而 RNN 的某个时刻的 hidden state,能够看做在这个时刻前的所有序列的特色的整合,AVSR 中 Cosi 等人应用 RNN 来示意多模态特色。
协同示意
每个模态为 x_ixi,f(x_1) \sim g(x_2)f(x1)∼g(x2),每个模态有对应的映射函数,将它映射到多模态空间中,每个模态的投影过程是独立的,然而最终的多模态空间是通过某种限度来协同示意的。
两种协同示意形式:类似度模型,结构化模型,前者保障特色示意的相似性,后者增强在特色后果空间中的结构化。
类似度模型:类似度模型最小化不同模态在协同示意空间中的间隔,例如狗和狗的图像的间隔,小于狗和车的图像的间隔。深度神经网络在协同示意中的劣势在于可能以端到端的形式进行协同示意的联结学习。
结构化协同空间模型:结构化协同示意模型增强了不同模态示意的附加限度,具体的结构化限度依据利用而异。
结构化协同示意空间罕用在跨模态哈希中,将高维的数据压缩到紧凑的二进制示意使得类似的 object 有类似的编码,罕用于跨模态检索中。哈希的办法迫使最终多模态空间示意有如下限度:1) N 维的汉明空间,可控位数的二进制示意;2) 不同模态的雷同 object 有着类似的哈希编码;3) 多模态空间必须保持数据相似性。
另一种结构化协同示意的办法来源于图像和语言的“程序嵌入”。
例如,Vendrov et al. 在多模态空间中强化了一种不类似度量,它是非对称的偏序关系。次要思维是在语言和图像的示意中抓住了一种偏序关系,强制了一种层级构造。对于一张图像,这种偏序关系为“a woman walking her dog”>“woman walking her dog”>“woman walking”。
一种非凡的结构化协同空间是基于典型相干剖析(CCA)。CCA 利用线性投影最大化两个随机变量相关性,加强了新空间的正交性。CCA 模型多用于跨模态搜寻,和语音视觉信号剖析。
利用核办法,CCA 能够扩大为 KCCA,这种非参数的办法随着训练数据规模的增长可扩展性较差。深度典型相干剖析 DCCA 作为 KCCA 的替代品被提出,解决了可扩展性问题,能够失去更好的相干示意空间。深度相关性 RBM 也能够作为跨模态搜寻的办法。
KCCA,CCA,DCCA 都是非监督的办法,仅能优化特色示意的相关性,可能获取到跨模态的共享特色。
其它的办法例如,深度典型相干自编码器,语义相关性最大化办法也用于结构化协同空间示意中
小结:
联结和协同示意办法是多模态特色示意的两种次要办法。
- 联结特色示意办法 将多模态数据投影到一个独特的特色示意空间,最实用于推理时所有模态的数据都呈现的场景。
- 协同特色示意办法 将每个模态投影到拆散但相干的空间,这种办法实用于推理时仅有一种模态呈现的状况。
联结示意办法曾经用在构建多于两种模态示意的场景,而协同空间示意常限定为两种模态。
二、多模态转化
从一种模态转化为另一种模态是很多多模态机器学习关注的内容。
多模态转化的工作是给定一个模态中的一个实体,生成另一种模态中的雷同实体。例如,给定一张图像,咱们能够生成一句话来形容这张图像,或者,给定一个文字描述,咱们可能生成与之匹配的图像。多模态转化曾经钻研了很长时间,晚期的语音合成、视听语音生成,视频形容,跨模态检索。近来,NLP 和 CV 畛域的联合,以及大规模多模态数据都推动这方面倒退。
热门利用:视觉场景形容(图像、视频形容),除了辨认主体局部、了解视觉场景,还须要生成语法正确,了解准确的形容语句。
多模态转化能够分为两类,基于实例的办法和生成式办法,前者应用字典实现模态转化,后者应用模型生成转化后果
思考到生成式模型须要生成信号或者符号序列(句子),生成式模型办法挑战更大。所以晚期很多办法都偏向于基于实例的办法进行模态转化。然而随着深度学习的倒退,生成式模型也具备了生成图像、声音、文本的能力。
基于实例的办法
基于实例的办法受限于训练数据——字典(源模态、指标模态形成的实例对)
两种算法:基于检索的办法,基于组合的办法,前者间接应用搜寻到的转化后果,不会批改它们,后者依赖于更简单的规定,基于大量搜寻到的实例建设模态转化后果
基于检索的办法:基于检索的办法是多模态转化最简略的办法,它依赖字典中搜寻到的最近的样本,利用它作为转化的后果,检索在单模态空间中实现,也能够在两头语义空间中实现。
给定一个待转化的源模态的实例,单模态检索通过在字典中查找最近的源模态实例实现模态转化,实质上就是通过 KNN 找到源模态到指标模态的映射。一些典型利用场景比方 TTS,图像形容等。这种办法的益处是仅须要繁多模态的示意,就能够通过检索实现。但也是因为采纳搜寻的办法,所以须要思考搜寻后果的重排序问题。这种办法的问题在于,在单模态空间中类似度高实例的并不一定就是好的模态转化。
另一种办法是利用两头语义空间来实现相似性比拟。这种办法个别会搭配协同示意应用,应该是因为协同示意空间自身就对向量示意进行了相似性限度。在语义空间中进行模态检索的办法比单模态检索的办法成果更好,因为它的搜寻空间同时反映了两种模态,更具备含意。同时,它反对双向的转化,这在单模态检索中不是很间接。然而,两头语义空间检索的办法须要学习一个语义空间,这须要大量的训练字典(源模态、指标模态样本对)。
基于组合的办法:通过将检索后果进行有意义的组合来失去更好的模态转化后果,基于组合的媒体形容(media description)次要是基于图像的形容语句都有着雷同的简略构造这一特点。通常组合的规定都是人工指定的或者启发式生成的。
基于实例的办法面临的最大问题在于它的模型就是整个字典,模型会随着数据集的减少而一直增大,而且推理会变慢;另一个问题就是除非整个字典十分大,否则不能笼罩所有可能的源模态查问。这个问题能够通过多种模型组合解决。基于实例的办法进行多模态转化是单方向的,基于语义空间的办法能够在源模态和指标模态间双向转化。
生成式办法
生成式办法在多模态转化中构建的模型可能对给定繁多模态实例进行多模态转化,挑战在于须要了解源模态来生成指标序列、信号,可能正确的转化后果十分多,因而这类办法较难评估。
三种生成式办法:基于语法,编码器 - 解码器,间断生成模型,第一种办法利用语法来限定指标域,例如生成基于 < 主语,宾语,动词 > 这种模板限定的句子;编码器解码器模型先将原模态编码到一个隐空间示意,而后解码器生成指标模态;第三种办法基于源模态的一个流式输出间断生成指标模态,特地实用于时序句子翻译如 TTS。
基于语法规定的模型:依赖于为了生成特定模式而事后定义的语法。这种办法先从源模态中检测高层含意,例如图像中的实体、视频中的行为;而后将这些检测后果送入一个时机预约义语法的生成过程来失去指标模态。
一些基于语法的办法依赖于图模型生成指标模式
基于语法的办法有事在于更偏向于生成语句构造上或者逻辑上正确的实例,因为他们是基于事后定义模板的、限定的语法。毛病在于生成语法化的后果而不是翻新式的转化,没有生成新的内容;而且基于语法的办法依赖于简单的概念,这些概念的 detection 的 pipeline 很简单,每个概念的提取可能须要独自的模型和独立的训练集
编码器解码器模型:基于端到端神经网络训练,是最近最风行的多模态转化技术,核心思想是受限将源模态编码一种向量示意,而后利用解码器模块生成指标模态。起初用于机器翻译,以后曾经胜利用于图片讲解,视频形容;以后次要用于生成文本,也能够用于生成图像和间断的语音、声音。
编码:首先将源实例进行特定模态编码。对声音信号比拟风行的编码方法是 RNN 和 DBN;对词、句子编码罕用 distributional semantics 和 RNN 的变种;对于图像用 CNN;视频编码依然罕用人工特色。也能够应用繁多的模态示意办法,例如利用协同示意,可能失去更好的后果。
解码:通常利用 RNN 或者 LSTM,将编码后的特色示意作为初始暗藏状态。Venugopalan et al. 验证了利用预训练的 LSTM 解码器用于图像讲解对于视频形容工作是无益的。利用 RNN 面临的问题在于模型须要从繁多的图像、句子或者视频向量示意来生成一种形容。当须要生成长序列时,模型会遗记初始输出。这个问题能够通过注意力机制解决,让网络在生成过程中更关注与图像、句子、视频的局部内容。基于注意力的生成式 RNN 也被用于从句子生成图像的工作,不实在然而有潜质。
基于编码器解码器的网络尽管胜利然而仍面临很多问题。Devlin et al. 指出网络可能记住了训练数据,而不是学习到了如何了解和生成视觉场景。他察看到 kNN 模型生成的后果和编解码网络的生成后果十分类似。编解码模型须要的训练数据规模十分大。
间断生成模型:间断生成模型用于序列翻译和在线的形式在每个工夫戳生成输入,当 sequence 到 sequence 转化时,这种办法很无效,例如文本转语音,语音转文本,视频转文本。
许多其它的办法也被提出用于这种建模:图模型,间断编解码办法,各种其它的回归分类办法。这些模型须要额定解决的问题是模态间的时序一致性问题。近来,Encoder-Decoder 模型罕用于序列转化建模。
小结和探讨
多模态转化所面临的一大挑战是很难进行评估,有些工作(例如语音辨认)有一个正确的 translation,而像语音合成和媒体形容则没有。有时就像在语言翻译场景中一样,多种答案都是正确的,哪种翻译更好通常十分主观。以后,大量近似自动化评估的规范也在辅助模态转化后果评估。
人的评估规范是最现实的。一些自动化评估指标例如在媒体形容中罕用的:BLEU、ROUGE、Meteor、CIDEr 也被提出,然而褒贬不一。
解决评估问题十分重要,岂但可能用于比拟不同的办法,而且可能提供更好的优化指标。
三、多模态对齐
多模态对齐是指找到两种或多种模态的 instances 中 sub-components 之间的对应关系,例如:给定一张图片和一个形容,找到词或者短语对应图片中的区域;另一个例子是给定一个电影,将它和字幕或者书中的章节对齐。
多模态对齐分成两类:隐式对齐和显示对齐,显示对齐显示的关注模态间 sub-components 的对应关系,例如将视频和菜谱中对应的步骤对齐;隐式对齐常作为其它工作的一个环节,例如基于文本的图像搜寻中,将关键词和图片的区域进行对齐
显示对齐
sub-components 间的相似性掂量是显示对齐的根底,两类算法无监督办法和(弱)监督办法
无监督办法:无监督办法不须要模态间对齐的标注,Dynamic time warping 掂量两个序列的相似性,找到一个 optimal 的 match,是一种 dynamic programming 的办法。因为 DTW 须要预约义的相似性度量,能够利用 CCA(典型相关性剖析)将模态映射到一个协同表白空间。DTW 和 CCA 都是线性变换,不能找到模态间的非线性关系。图模型也能够用于无监督多模态序列的对齐。
DTW 和图模型的办法用于多模态对齐须要遵循一些限度条件,例如时序一致性、工夫上没有很大的跳跃、枯燥性。DTW 可能同时学习相似性度量和模态对齐,图模型办法在建模过程中须要专家常识。
(弱)监督办法:监督办法须要标注好的模态对齐实例,用于训练模态对齐中的相似性度量,许多监督式序列对齐办法收到非监督办法的启发,以后深度学习办法用于模态对齐更加常见。
隐式对齐
罕用作其它工作的两头步骤,使得例如语音辨认、机器翻译、多媒体形容和视觉问答达到更好的性能。晚期工作基于图模型,以后更多基于神经网络。
图模型:须要人工构建模态间的映射关系
神经网络:模态转换如果可能应用模态对齐,工作的性能能够失去晋升
单纯的应用 encoder 只能通过调整权重来总结整张图片、句子、视频,作为繁多的向量示意;注意力机制的引入,使得 decoder 可能关注到 sub-components。注意力机制会让 decoder 更多的关注 sub-components
注意力机制能够认为是深度学习模态对齐的一种习用办法。
小结
模态对齐面临着许多艰难:少有显示标注模态对齐的数据集;很难设计模态间的相似性度量;存在多种可能的模态对齐,而且一个模态中的 elements 可能在另一个模态中没有对应。
四、多模态交融
多模态交融就是整合多种模态的信息进行分类或者回归工作,多模态交融钻研能够追溯到 25 年前。多模态交融带来的益处有:(1)同一个景象的不同模态示意可能产生更 robust 的推理后果;(2)从多种规模中可能失去辅助的信息,这些信息在繁多模态中是不可见的;(3)对于一个多模态零碎而言,模态交融可能在某一种模态隐没时仍失常运行。
以后多模态示意和交融的界线愈发含糊,因为在深度学习中,示意学习和分类 / 回归工作交错在一起。
两种多模态混合办法:模型无关和基于模型的办法,前者不间接依赖于一种特定的机器学习办法,后者显示的在构建过程中进行交融(核办法、图模型、神经网络)。
模型无关办法
模型无关的办法有三种:后期交融、前期交融和混合交融。后期交融是特色级别的交融,前期交融是推理后果的交融,混合交融同时包含两种交融办法。
模型无关的交融办法益处是:能够兼容任何一种分类器或者回归器
后期交融能够看做是多模态示意的一种后期尝试
前期交融利用繁多模态的预测后果,通过投票机制、加权、signal variance 或者一个模型进行交融。前期交融疏忽了模态底层特色之间的关系
基于模型的办法
多核学习(MKL):kernel SVM 的扩大,对于不同模态应用不同的 kernel
MKL 办法是深度学习之前最罕用的办法,劣势在于 loss function 是凸的,模型训练能够应用规范的优化 package 和全局优化办法,劣势在于测试时对于数据集的依赖推理速度慢。
图模型
在本篇综述中仅思考浅层的图模型,深度图模型例如 DBN 能够参考后面章节内容,大多数图模型能够分成两类:生成式(联结概率)和判别式(条件概率)
图模型可能很容易的挖掘数据中的空间和时序构造,同时能够将专家常识嵌入到模型中,模型也可解释
神经网络
神经网络用于模态交融所应用的模态、优化办法可能不同,通过 joint hidden layers 进行信息交融的思路是统一的。神经网络也用于时序多模态交融,通常采纳 RNN 和 LSTM,典型的利用是 audio-visual 情感分类,图片讲解
深度神经网络用于模态交融长处:(1)能够从大量数据学习;(2)端到端学习多模态特色示意和交融;(3)和非深度学习办法相比性能好,能学习简单的 decision boundary
毛病:可解释性差,不晓得网络依据什么进行推理,也不晓得每个模态起的作用;须要大量训练数据能力失去好的成果
小结
多模态交融工作中有如下挑战:1)signal 可能不是时序对齐的,例如密集的间断信号 vs 稠密的事件;2)很难建设一个模型来挖掘补充信息而非辅助信息;3)每个模态在不同工夫点可能展现出不同类型、不同级别的噪声。
五、多模态独特学习
多模态独特学习旨在 通过挖掘另一种模态的信息来帮忙以后模态建模
相干场景:一种模态的资源无限,不足标注数据或者输出噪声大,标签可靠性低
三种 co-learning 的办法:并行,非并行,混合;第一种办法须要一种模态的 observation 和另一种模态的 observation 间接连贯,例如在 audio-visual speech 数据及上,video 和 speech sample 来自同一个 speaker;非并行数据办法不须要两种 observation 的间接连贯,通常利用类别间的交加,例如在 zero shot learning 中利用 Wiki 的文本数据扩大传统的视觉指标辨认数据集晋升指标辨认的性能;混合数据的办法通过一种共享模态或者数据连接起来。
并行数据
模态之间共享一个实例汇合,两种办法:协同训练和表征学习
协同训练:当某一个模态的标记数据十分少时,能够利用协同训练生成更多的标注训练数据,或者利用模态间的不一致性过滤不牢靠标注样本
协同训练方法可能生成更多的标注数据,但也可能会导致 overfitting
迁徙学习:多模态玻尔兹曼机或者多模态自编码器将一种模态特色示意转化为另一种,这样不仅能失去多模态表征,而且对于单模态而言推理过程中也能失去更好的性能。
非并行数据
不须要依赖模态间共享的实例,有共享的类别或者概念(concept)即可
迁徙学习:迁徙学习可能从一个数据充沛、洁净的模态学习特色示意迁徙到另一个数据稀缺、噪声大的模态,这种迁徙学习罕用多模态协同特色示意实现。
Conceptual grounding:通过语言以及其余附加模态,例如视觉、声音、甚至味觉,学习语义含意,单纯的利用文本信息不能很好的学习到语义含意,例如人学习一个概念的时候利用的是所有的感知信息而非单纯的符号。
grounding 通常通过寻找特色表征间的独特隐空间或者别离学习每个模态的特色示意而后进行拼接,conceptual grounding 和多模态特色对齐之间有很高的重合局部, 因为视觉场景和对应形容对齐自身可能带来更好的文本或者视觉特色示意。
须要留神的是,grounding 并不能在所有状况下带来性能的晋升,仅当 grounding 与具体任务相干时无效,例如在视觉相干工作中利用图像进行 grounding
Zero-shot learning:ZSL 工作是指在没有显示的见过任何 sample 的状况下辨认一种概念,例如不提供任何猫的图片对图片中的猫进行分类。
两种办法:单模态办法和多模态办法
单模态办法:关注待辨认类别的组成部分和属性,例如视觉方面通过色彩、大小、形态等属性去预测为见过的类别
多模态办法:利用另一个模态的信息,在另一个模态中该类别呈现过
混合数据:通过共享的模态或者数据集连贯两种非数据并行的模态,典型的工作例如多种语言进行图像形容,图片会与至多一种语言之间建立联系,语言之间的能够利用机器翻译工作建设起分割。
指标工作如果仅有大量标注数据,也可利用相似或相干工作去晋升性能,例如利用大量文本语料领导图像宰割工作。
小结
多模态协同学习通过寻找模态之间的互补信息,使一种模态影响另一种模态的训练过程。
多模态协同学习是与工作无关的,能够用于更好的多模态特色交融、转换和对齐。
点击关注,第一工夫理解华为云陈腐技术~