人们听到的声音、看到的实物、闻到的味道都是一种模态,人们生活在一个多种模态相互交融的环境中。为了使人工智能更好地理解世界,必须赋予人工智能学习、理解和推理多模态信息的能力。多模态学习指建立模型使机器从多模态中学习各个模态的信息,并且实现各个模态的信息的交流和转换。
多模态感知融合是自动驾驶的基础任务,吸引了众多关注。但是,由于原始数据噪声大、信息利用率低以及多模态传感器未对齐等这些原因,要想实现一个好的性能也并非易事。
在复杂的驾驶环境中,单一的传感器信息不足以有效的处理场景的变化。比如在极端恶劣天气中(大暴雨、沙尘暴)能见度较低的情况下,此时只依靠camera的所反馈的RGB图像完全没有办法对环境的变化做出反馈。而在普通的道路环境中,如红绿灯、色锥等,只依靠Lidar的信息也是无法进行有效识别的,也需要结合camera所带来的RGB信息,才能有效的处理。因此,在自动驾驶感知场景的任务中,不同模态信息的互补会更加的重要。
模态是指一些表达或感知事物的方式,语音语言等属于天然的、初始的模态,情绪等属于抽象的模态。对每一种信息的来源或者形式,都可以称为一种模态(Modality)。
多模态是从多个模态表达或感知事物。多个模态也可归类为同质性的模态,例如从两台相机中分别拍摄的图片,异质性的模态,即图片与文本语言的关系。目前研究领域中主要是对图像,文本,语音三种模态的处理。之所以要对模态进行融合,是因为不同模态的表现方式不一样,看待事物的角度也会不一样,所以存在一些交叉(所以存在信息冗余),互补(所以比单特征更优秀)的现象,甚至模态间可能还存在多种不同的信息交互,如果能合理的处理多模态信息,就能得到丰富特征信息。即概括来说多模态的显著特点是:余度性 和 互补性 。
多模态融合重点关注深度学习模型中融合特征的阶段,无论是数据级、特征级还是建议级。
多模态学习(Multimodal Machine Learning, MML):是从多种模态的数据中学习并且提升自身的算法。
案例1:人感知外部世界,可以从多种信号中感知环境(注意力/记忆力、声音、味道、触觉、视觉、气味)
视觉2:人和人进行交流
文本:单词、句法、语用学
声音:韵律、声调、笑声语气
视觉:手势姿态、肢体语言、眼神交流、面部情绪
多模态深度学习在不同的多模态组合和学习目标下,主要包含四项关键技术。具体如下。
- pixel level:应对原始数据进行融合。
- feature level :对抽象的特征进行融合
- early:表示融合发生特征抽取的早期
- late fusion:表示融合发生特征抽取的晚期- decision level:对决策结果进行融合
- hybrid:混合融合多种融合方法
协同学习 Co-learning:协同学习是指使用一个资源丰富的模态信息来辅助另一个资源相对贫瘠的模态进行学习。
迁移学习(Transfer Learning)如初学者尝试将 ImageNet 数据集上学习到的权重,在自己的目标数据集上进行微调。迁移学习和协同训练(Co-training)。
迁移学习比较常探讨的方面目前集中在领域适应性(Domain Adaptation)问题上,即如何将train domain上学习到的模型应用到 application domain。
迁移学习中还有零样本学习(Zero-Shot Learning)和一样本学习(One-Shot Learning)
协同训练(Co-training ),它负责研究如何在多模态数据中将少量的标注进行扩充,得到更多的标注信息。
1. 跨模态预训练
2. Language-Audio
3. Vision-Audio
4. Vision-Language
5. 定位相关的任务
6. 更多模态
(1)文本模态的独热表示
(2)文本模态的低维空间表示
(3)文本序列模态的词袋表示
(4)文本序列模态的低维空间表示
视觉模态分为图像模态和视频模态,视频模态在时间维度上展开后是一个图像序列。因此,学习视觉模态的向量表示的关键问题是学习图像模态的向量表示。
(1)图像模态的表示
在深度学习中,卷积神经网络是在多层神经网络的基础上发展起来针对图像而特别设计的一种深度学习方法。
经典的卷积神经网络如 LeNet-5、AlexNet、 VGG、GoogLeNet、ResNet和CapsNet,将卷积神经网络的卷积和池化操作理解为产生图像模态矩阵表示的过程,将全连接层或全局均值池化层的输入理解为图像模态的向量表示。
LeNet-5
- 能以极高的精度实现手写体数字和字母的识别,且应用于信封邮编识别和车牌识别中.
- LeNet-5 的输入为包含数字或字母的灰度图像,经过卷积和池化后产生特征图像,即图像模态的矩阵表示,特征图像经过维度变化后获得全连接层的输入,即图像模态的向量表示。
AlexNet
- 通过更多的卷积和池化操作以及归一化处理和 dropout 等训练方法,在网络深层的卷积层和池化层获得图像的矩阵表示, 即通过增加网络深度获取了包含图像深度语义信息的特征表示。
VGG
- 与 AlexNet 增加神经网络深度的方式不同,VGG通过构建含有多个卷积子层的卷积层实现网络深度的拓展,它每层都有 2~4 个卷积子层,用较小的卷积核和多个卷积层实现了对图片特征的精细抓取。
- VGG 的结构使得其能深度提取图像中的精细的语义特征,获得更好的图像模态表示。 为获得更好的图像模态表示,研究者不断地尝试增加网络的深度,但是发现当网络深度增加到一定程度后网络性能逐渐变差,获得的图像模态表示反而不能更好地提取图像模 态信息。
ResNet
- 是在增加网络深度的研究方向上进行了突破性探索的深度卷积网络,由融合了恒等映射和残差映射的 构造性模块堆栈后构成。
- 当在网络已经到达最优情况下继续向深层网络运算时,构造性模块中的残差映射将被置 0,只剩下恒等映射,这样使网络在更深的网络层上也处于最优。
NIN
- 提出了卷积层 的改进算法 Mlpconv 层,Mlpconv 层在每个感受野中进行更 加复杂的运算,获得高度非线性的图像的矩阵表示,并且 NIN 还使用全局均值池化代替全连接层,产生图像的向量表示, 并提高网络的泛化能力。
GoogLeNet
- GoogLeNet提出 Inception 模块。Inception 模块具有高效表达特征的能力,它包含 1x1、3x3、5x5 三种尺寸的卷积核,以及一个 3x3 的下采样,不同尺寸的卷积核赋给 Inception 模块提取不同尺寸的特征的能力。Inception 模块从纵向和横向上,增加了卷积层 的深度,使得 GoogLeNet 能够产生更抽象的图像模态的矩阵 表示。
CapsNet
- 尽管卷积神经网络提取的特征表示已经能够很好地包含图像中的语义信息,但是它并没有包含图像中实例的方向和空间信息,并且池化层必然会损失一些有效信息。
- CapsNet 是卷积神经网络 的一种拓展,它的基本组成单元是 capsule。capsule是一组 神经元,其输入和输出都是向量形式,向量中的每个元素都是图像中某个实体特征的参数表示,并且相邻的两个 capsule 层通过动态路由算法相连,实现参数选择。因此, CapsNet能够在每个 capsule 层上产生包含图像中实例的方向和空间信息的向量表示,并且使用动态路由算法代替池化层,避免了有效信息的损失。
(2)视频模态的表示
视频为在时间维度上的图像序列,它自然地拥有空间属性和时间属性。
视频的空间属性主要由卷积神经网络提取,时间属性由卷积神经网络或长短记忆神经网络对视频中邻近的图像帧包含的运动信息提取。
视频模态的表示分成单通道卷积神经网络、双通道卷积神经网络和混合神经网络三种。下图分别表示单通道卷积神经网络和双通道卷积神经网络的结构。
单通道卷积神经网络
- 处理对象为视频中一段连续的图像帧,它用一个卷积神经网络完成这段连续的图像中的时间和空间信息融合,并在卷积神经网络的全连接层前产生这段连续的图像帧的向量表示。
- 单通道卷积神经网络提取视频的时空属性常有两种方式:
a) 改变卷积神经网络的结构,在其输入端或输出端融合视频的时间属性和空间属性。
b) 采用3D 卷积核,使用卷积计算融合视频的时间属性和空间属性。
双通道卷积神经网络
- 处理对象也是视频中一段连续的图像帧,它用两个卷积神经网络分别学习这段连续的图像帧中的时间属性和空间属性,并在两个网络的全连接层前产生这段连续的图像帧的时间属性表示和空间属性表示。
- 双通道卷积神经网络的输入包含图像帧输入和运动图像输入,图像帧输入为这段连续的图像帧中的一个图像,其包含这段图像帧中的空间信息,运动图像输入为这段连续的图像帧通过光学等技术处理产生后的向量图,如光流位移场叠加等,其包含了这段图像帧中的时间信息。
混合神经网络
- 由于 LSTM 神经网络对时间序列拟合的优秀性能,研究者将 LSTM 引入到上述两种网络结构中,构造混合神经网络。 混合神经网络的基本思想是将卷积神经网络的输出作为 LSTM 神经网络的输入,将视频中的图像帧或运动图像按照时间顺序依次输入卷积神经网络,卷积神经网络在每个时刻都会产生输入的图像帧或运动图像的向量表示;同时 LSTM会读取每个时刻的图像帧或运动图像的向量表示并产生一个隐变量,该隐变量随着时间更新。
声音是模拟信号,声音的时域波形只代表声压随时间变化的关系,不能很好地体现声音的特征。因此,在声音特征提取时,首先应将采集到的语音信号数字化,转换为便于计算机存储和处理的离散的数字信号序列;然后利用数字信号处理技术对离散的数字信号序列进行声学特征向量的提取。当前的声音信号的处理技术主要有傅里叶变换、线性预测以及倒谱分析等。
提取特征向量的高阶表示在用神经网络识别声音时,提取特征向量的高阶表示是指使用神经网络对提取的声音特征向量进行多级非线性映射, 学习特征向量中包含的不同抽象层次的信息。
(待完善)
(待完善)
(待完善)
表征学习是多模态任务的基础,特征表示主要任务是学习如何更好的提取和表示多模态数据的特征信息,以利用多模态数据的互补性。其中包含了一些开放性问题,例如:
Joint 注重不做多模态的互补性,融合多个输入模态 x 1 , x 2 x_1,x_2 x1,x2获得多模态表征 x m = f ( x 1 , x 2 , . . . , x n ) x_m=f(x_1,x_2,...,x_n) xm=f(x1,x2,...,xn),从而使用 x m x_m xm完成某种预测任务。网络优化目标是某种预测任务的性能。
Coordinated结构并不寻求融合而是建模多重模态数据间的相关性,他讲多个(通常为两个)模态映射到协作空间,表示为 f ( x 1 ) g ( x 2 ) f(x_1)~g(x_2) f(x1) g(x2),其中~表示一种协作关系。网络优化目标是这种协作关系(通常是相似性,即最小化cosine距离等变量)
Joint Representation和Coordinated Representation区别
(1)联合特征表示将各模态信息映射到相同的特征空间中,而协同特征表示分别映射每个模态的信息,但是要保证映射后的每个模态之间存在一定的约束,使它们进入并行的相互映射的协同空间。(投影到分离但相关的空间)
(2)联合特征表示主要用于在训练和测试阶段都是多模态数据的任务。
(3)协同特征表示是为每个模态学习单独的特征提取模型,通过一个约束来协同不同的模态,更适合于在测试时只有一种模态数据的任务,如:多模态检索和翻译。
(4)协同架构包括跨模态相似模型和典型相关分析,其目的是寻求协调子空间中模态间的关联关系;由于不同模态包含的信息不一样,协同方法有利于保持各单模态独有的特征和排它性:
对齐广泛应用于多模态任务中,根据对齐任务的分类,具体的应用方式包括显式对齐和隐式对齐:
根据对齐的方法,将模态对齐分为:注意力对齐和语义对齐。
注意力对齐,对于机器翻译、图像标注、语音识别等模态传译的任务上应用较多,因为模态传译的过程中存在模态元素之间的转换,转换结果的对齐要通过对齐算法,尤其是注意力对齐算法。分为软注意力,硬注意力。
以机器翻译为例,如上图所示,这是软注意力模型,这种注意力利用解码器——即双向RNN提取单词的上下文语义特征表示,后通过解码器——即RNN将上次预测的单词与注意力加权下的单词特征表示输入预测这次单词(最大后验概率)完成对齐。
语义对齐最主要的实现方式就是处理带有标签的数据集并产生语义对齐数据集,用深度学习模型去学习语义对齐数据集中的语义对齐信息。
多模态联合架构的关键是实现特征“联合”,具体有“加”联合和“乘”联合。
-“加”联合方法:属于最简单的方法是直接连接,该方法在不同的隐藏层实现共享语义子空间,将转换后的各个单模态特征向量语义组合在一起,从而实现多模态融合,如公式:
z = f ( w 1 T v 1 + . . . + ( w n T v n ) z = f(w^T_1v_1+...+(w^T_nv_n) z=f(w1Tv1+...+(wnTvn)
上式中,z是共享语义子空间中的输出结果,v是各单模态的输入,w是权重,下标表示不同的模态,通过映射f将所有支模太语义转换到共享子空间。
“乘”联合方法:将语言、视频和音频等模态融合在统一的张量中,而张量是所有单模态特征向量的输出乘积构成的,如下公式所示:
z = [ v 1 1 ] ⊗ . . . ⊗ [ v n 1 ] z=\begin{bmatrix} v^1\\ 1 \end{bmatrix} \otimes ...\otimes \begin{bmatrix} v^n\\ 1 \end{bmatrix} z=[v11]⊗...⊗[vn1]
其中,z表示融合张量后的结果输出,v表示不同的模态, ⊗ \otimes ⊗表示外积算子。
尽管加联合简单且容易实现,但是其特征向量语义组合易造成后期语义丢失,使模型性能降低。而“乘”联合方法弥补了这一不足,通过张量计算使特征语义得到更“充分”融合,最常见的方法是深度神经网络, 如的多模态情感预测模型由包括许多内部乘积的连续神经层组成,充分利用深度神经网络的多层性质,将不同模态有序安排在不同层中,并在模型训练过程中动态实现向量语义组合。
多模态联合框架的优点是融合方式简单,且共享子空间往往具备语义不变性,有助于在机器学习模型中将知识从一种模态转移到另一种模态。缺点是各单模态语义完整性不易在早期发现和处理。
多模态数据融合主要可分为三种方式:
- 前端融合(early-fusion)或数据水平融合(data-level fusion):通过空间对齐直接融合不同模态的原始传感器数据。
- 前端融合将多个独立的数据集融合成一个单一的特征向量,然后输入到机器学习分类器中。
- 由于多模态数据的前端融合往往无法充分利用多个模态数据间的互补性,且前端融合的原始数据通常包含大量的冗余信息。
- 因此,多模态前端融合方法常常与特征提取方法相结合以剔除冗余信息,如主成分分析(PCA)、最大相关最小冗余算法(mRMR)、自动解码器(Autoencoders)等。
- 中间融合(深度融合\特征级融合):指通过级联或者元素相乘在特征空间中融合跨模态数据。
- 需要将不同的模态数据先转化为高维特征表达,再于模型的中间层进行融合。
- 以神经网络为例,中间融合首先利用神经网络将原始数据转化成高维特征表达,然后获取不同模态数据在高维空间上的共性。中间融合方法的一大优势是可以灵活的选择融合的位置。
- 后端融合(late-fusion)或决策水平融合(decision-level fusion):指将各模态模型的预测结果进行融合,做出最终决策。即将不同模态数据分别训练好的分类器输出打分(决策)进行融合。这样做的好处是,融合模型的错误来自不同的分类器,而来自不同分类器的错误往往互不相关、互不影响,不会造成错误的进一步累加。
- 常见的后端融合方式包括最大值融合(max-fusion)、平均值融合(averaged-fusion)、 贝叶斯规则融合(Bayes’rule based)以及集成学习(ensemble learning)等。
- 其中集成学习作为后端融合方式的典型代表,被广泛应用于通信、计算机识别、语音识别等研究领域。
也可分为强融合、弱融合,强融合进一步细分为:前融合、深度融合、不对称融合和后融合。
强融合:
前融合案例:
深度融合案例:
后融合案例:
不对称融合案例:
(待完善)
多模态融合是将来自多种不同模态的信息进行整合,用于分类任务或回归任务。值得注意的是,在最近的工作中,对于像深度神经网络这样的模型,多模态表示和融合之间的界限已经模糊了,其中表示学习与分类或回归目标交织在一起。优点有三,一是对比单模态更加鲁棒,二是模态信息互补,三是其一模态信息缺失仍能运行。
传感器固有问题:域偏差和分辨率与现实世界的场景和传感器高度相关[26]。这些缺陷阻碍了自动驾驶深度学习模型的大规模训练和实时。
域偏差:在自动驾驶感知场景中,不同传感器提取的原始数据伴随着严重的领域相关特征。不同的摄像头有不同的光学特性,而LiDAR可能会从机械结构到固态结构而有所不同。更重要的是,数据本身会存在域偏差,例如天气、季节或地理位置[6,71],即使它是由相同的传感器捕获的。这就导致检测模型的泛化性受到影响,无法有效适应新场景。这类缺陷阻碍了大规模数据集的收集和原始训练数据的复用性。因此,未来可以聚焦于寻找一种消除域偏差并自适应集成不同数据源的方法。
分辨率冲突:不同的传感器通常有不同的分辨率。例如,LiDAR的空间密度明显低于图像的空间密度。无论采用哪种投影方式,都会因为找不到对应关系而导致信息损失。这可能会导致模型被一种特定模态的数据所主导,无论是特征向量的分辨率不同还是原始信息的不平衡。因此,未来的工作可以探索一种与不同空间分辨率传感器兼容的新数据表示系统。
相关综述: