2020-Neutral Computation
什么是多模态数据融合
多模态数据融合式多模态数据挖掘的一种基本方法,旨在将不同分布、来源和类型的数据整合到一个能够以统一方式表示多模态和跨模态的全局空间中。可以利用特定的模态信息,提供比单一模态更丰富的信息。
过去工作
提出了一些数据融合方法来探索模态之间互补和交叉模态信息。
- 1971,对线性模态间关系以及跨模态泛化信息提出了多模态典型相关分析。
- 2004,提出了多变量线性关系的偏最小二乘模型,从多源数据集中发现变量。
- 2011,提出了一种多模态独立分量分析。这是一种概率模型,使用贝叶斯框架来组合每个不同模态的自变量。
多模态数据融合
由于这些多模态数据融合方法不能捕捉多模态数据的内部结构和外部关系的浅层特征,局限于大容量、高速度、高多样性和高准确性的多模态数据。所以充分挖掘多模态数据中的模式需要新的多模态计算技术。
多模态大数据是由多个模态组成,每个模态独立分布中都包含对相同事物的部分描述,模态之间也有复杂的相互关系。充分建模隐藏在多模态和跨模态中的融合表示可以进一步提高多模态应用的性能。
深度学习
深度学习是一种分层计算模型,学习数据的多层抽象表示。使用反向传播 BP 算法来训练参数,可以将原始输入转换为有效的特定任务表示。几种著名的深度架构:卷积神经网络 CNN,递归神经网络 RNN,生成对抗网络 GAN 等等。这些深度学习方法在基于有监督和无监督训练策略的生成性和判别性任务方面取得了很大进展。
- 2017,通过引入一种新的残差策略,提出了一个深层金字塔残差网络,这是一个具有代表性的判别任务。该金字塔残差网络可以学习有效且具有鲁棒性的抽象表示,其中任务特定因素被放大,无关因素被抑制,优于目前最先进的模式识别精度。
- 生成性的典型例子是生成对抗网络 GAN。它是深度学习的博弈论范式。基于 Generator 和 Discriminator 之间的纳什均衡,GAN 可以捕捉内在的输入结构,重构输入对象。
此外在多模态数据融合领域也有一些先进的深度学习模型,如跨模态检索、图像标注和辅助诊断。虽然多模态数据融合深度学习模型已经取得了一定进展,但仍然处于初步阶段。
基于深度学习的多模态融合技术
传统的多模态数据融合方法不能很好捕捉多模态大数据的多模态表示和跨模态互补关系,因为都是浅层模型,无法学习数据的内在表示。
深度学习的代表性架构
CNN
深度信念网络 DBN 和堆叠自编码 SAE 属于全连接神经网络 FCNN。在这两个网络中,隐藏层中的每个神经元都与前一层的每个神经元相连接,这样的拓扑结构产生了大量的连接。为了训练这些连接的权值,全连接 FCNN 需要大量的训练对象,从而避免过拟合和欠拟合,这是计算密集型的。此外,全连接拓扑没有考虑神经元之间包含特征的位置信息。因此,FCNN 不能处理高维数据,特别是大图像和大音频数据。
而 RNN 是一种考虑数据局部拓扑的特殊深度网络。卷积的神经网络包括 FCNN 和约束网络。约束网络包含卷积层和池化层。约束网络利用卷积和池化操作实现局部接受域和参数缩减。与 DBN 和 SAE 一样,CNN 也经过随机梯度下降算法的训练。在医学图像识别和语义分析方面取得了很大进展。
在 CNN 系列的工作中,最具代表性的是2012 年的 AlexNet。在 AlexNet 中非线性计算层采用非饱和神经元和 Dropout 来提高其性能。此外 GPU 加速被用于加速卷积层。2016,引入 ResNet来解决精度随着深度增加而下降的问题,ResNet 中 resident 的设计是通过在几个层的网络中添加一个快捷连接来实现的,引入了身份的概念,而不需要额外的计算成本。通过使用 Resident 模块,CNN 的深度可以达到 1000 层,这对图像特征学习有很大帮助。
此外 2017 提出的 Inception-V4 通过对区块使用统一的网格大小来设计一个更深更宽的网络。为了明确地建模信道的相互依赖关系,利用全局信息嵌入和智适应重新校准操作,引入一些 Squeeze-and-Excitation 网络将其视为局部和全局信息上的自注意网络。
为了提高学习效率,设计了一些快速卷积的网络,用几个低阶卷积代替全阶卷积。这些快速实现可以提高学习效率,而不会损失太多的准确性。
RNN
循环神经网络[[RNN模型]]是一种处理串行数据的神经计算体系结构。与深层前向体系结构(DBN、SAE、CNN)不同,RNN 不仅将输入模式映射到输出结果,而且利用隐藏单元之间的连接将隐藏状态传到输出。通过使用这些隐藏层的连接,RNN 模型的时间依赖性产生了沿时间维度对象之间的参数共享。现已被应用于多个领域,如语音分析、图像字幕和语言翻译,取得了优异的表现。
与深层前向体系结构类似,计算也包括前向传递(forward-pass)和反向传播(backpropagation)两个阶段。前向传递计算中,RNN 同时接受输入和隐藏状态。反向传播计算中,采用反向传播贯穿时间的算法对损失进行时间步长的反向传播。
RNN 系列工作中,一些著名的变体算法模型已经取得了令人印象深刻的性能。
- 1997 ,BiRNN:为了顺序数据的双向依赖关系进行建模,其中有两个独立计算过程分别对正向依赖关系和反向依赖关系进行编码。
- 1997,LSTM:这个变体形式可以有效解决标准的 RNN 结构不能通过引入内存块很好的建模长时间依赖的限制。
- 2018,轻递归单元 light recurrent unit:为了加快神经网络的训练速度提出。该单元使用轻递归分量来分解状态计算重的依赖关系,并引入公网分量(highway network component)来自适应结合输入和状态
- 2019,语义动态循环自动编码器(semantic variational recurrent auto-encoder):以句对句的方式对整体文本特征进行建模。
深层 RNN 由几个循环隐藏层叠加,并采用循环连接。这样既可以捕捉到物体方向的深度特征,也可以捕捉到沿时间方向的深度特征。
基于深度学习的多模态数据融合代表性架构
基于堆叠自动编码器 SAE 的多模态数据融合
基于 SAE 的多模态数据融合是最具代表性的深度学习模型。 旨在解决两个数据融合问题:跨模态和共享模态表征学习。前者的目标是捕捉更好的单模态表示,利用来自其他模态的知识,而后者在中级水平上学习模态之间的复杂相关性。为了实现这些,设计了三种学习场景,多模态学习、跨模态学习和共享模态学习。此外,在每个场景中,为了学习更好的表示,使用稀疏编码,用稀疏约束限制损失函数。
- 多模态学习场景:音频谱图和视频帧以线性方式连接成向量。将串联得到的向量输入稀疏受限玻尔兹曼机 SRBM,学习音频和视频的相关性。该模型只能学习多个模态的阴影联合表示,因为相关性隐含在原始级高维表示中,单层 SRBM 无法对它们进行建模。在此基础上,将中层表示的连接向量输入 SRBM,对多个模态的相关性进行建模得到了更好的性能。
- 跨模态学习场景:提出了一种用于显式的学习模态间相关性的深度叠加模态自编码器。具体来说,在特征学习中,音频和视频都作为输入,在监督训练和测试中,只将一个输入到模型中。该模型采用多模态学习的方式进行初始化,能够很好地模拟跨模态关系。
- 共享模态表示:引入一种模态专用的深层叠加多模态自编码器,利用去噪自编码器的驱动,探索了模态间的联合表示,特别是在没有模态的情况下。在特征学习中,将用零替换模态后得到的训练数据集输入到模型中。
总结
基于 SAE 的多模态模型采用 encoder-decoder 体系结构,通过无监督的重构方法提取内在的共模态特征和交叉模态特征。由于 SAE 是一个全连接的模型,所以很多参数需要训练。此外还忽略了多模态数据中的空间和时间拓扑。
基于 CNN 的多模态数据融合
为了建模图像和句子之间的语义映射分布,2015 年提出了一种多模态 CNN。为了充分捕捉语义相关性,在 end-to-end 体系结构中设计了三层融合策略——词级、短语层和句子层。该体系结构包括图像子网络、匹配子网络和多模态子网络。图像子网络是一种典型的 CNN,如 AlexNet 和 Inception,它可以有效将图像输入编码成简洁的表示形式,匹配子网络对语义空间中的图像内容和句子的词片段之间的联合表示进行建模。
为实现图像和句子的深度融合,设计了词片段、短语片段和句子片段匹配网络。
- 词匹配网络:是一种 CNN,将词和简洁的图像表示作为输入,由一维卷积和一维最大池化层与两个单元窗口构成。该词匹配网络可以实现局部接受域、参数共享并减少空闲参数数量。
- 短语匹配网络:首先将每个句子中的单词转化为包含比单词片段具有更多语义知识信息的短语片段。然后利用一维卷积将短语碎片与图像特征相结合,建立联合多模态分布模型。同样,句子匹配网络学习每个句子的语义表示。然后将句子的语义表示与句子层面的图像表示相结合。最后一个计算子网络使用多层感知机来计算这些多模态联合表示。最后提出一种结合单词、短语和句子的多模态表示的集成框架,用于挖掘图像和文本之间的跨模态相关性。
为了将视觉识别系统扩展到无限数量的离散类别,Frome et al.(2013)利用文本数据中的语义信息,提出了一种多模态卷积的神经网络。该网络由语言子模型和可视化子模型组成。该语言子模型基于 Skip-Gram 模型,可以将文本信息转化为语义空间的密集表示。可视化子模型是一个典型的CNN,例如 Alexnet,它是在一个 1000 级的ImageNet 数据上预先训练的,以捕捉视觉特征。为了对图像和文本之间的语义关系进行建模,语言和视觉子模型通过线性投影层进行组合。每个子模型由每个单一模态的参数初始化。然后,为了训练该图像语义多模态模型,结合点积相似度和铰链阶损失,提出了一种新的损失函数,可以对正确的图像和标签对给出较高的相似度评分。这个模型可以在ImageNet数据集上产生最先进的性能,避免语义上不合理的结果。
总结
基于 CNN 的多模态模型可以利用局部场和池化操作来学习模态之间的局部多模态特征。显式地为多模态数据的空间拓扑建模。由于不是完全连通的模型,所以其中的参数量大大地减少。
基于 RNN 的多模态数据融合
MRNN
为了生成图像的 caption,2014 年提出了一种多模态的 RNN 结构。这种结构可以连接图像和句子之间的概率相关性。解决了以前工作的限制,不能生成新的图像 caption。因为以前的工作检索语句数据库中相应的标题是基于学习的图像-文本映射。与之前的工作不同,多模态循环神经网络 MRNN 基于给定的单词和图像学习语义空间上的联合分布。当有图像时,根据捕获的联合分布逐字生成句子。其中,MRNN 由语言子网、视觉子网和多模态子网组成。
- 语言子网:由两层的词嵌入部分和一层的 RNN 组成。前者捕获有效的任务特异性表征,后者模拟句子的时间依赖性。
- 视觉子网:本质上是一个深度卷积的神经网络,比如 AlexNet、ResNet 或 Inception,将高维图像编码成一个紧凑的表示。
- 多模态子网:是一种隐藏网络,对学习语言和视觉表示的联合语义分布进行建模。
此外,为了训练 MRNN,2014 年提出使用基于标准语言评估方法的平均对数似然损失函数。然后使用反向传播算法更新提出模型的参数。
Multimodal Alignment Model
为解决当前视觉识别系统无法对图像产生丰富描述的局限性,通过连接视觉和文本数据之间的多模态关系,2017 年提出一种多模态对齐模型。为此提出了一种双重方案。首先设计了一种视觉语义嵌入模型来生成多模态训练数据集。然后对该数据集进行 MRNN 训练,生成丰富的图像描述。在视觉语义嵌入模型中,利用区域卷积神经网络 Region Convolution Neural Network,RCNN 得到包含足够信息的丰富的图像表示。然后使用 BiRNN 将句子编码成与图像表示相同维数的密集向量。此外,给出了一个多模态评分函数来度量图像和句子之间的语义相似度。最后利用马尔科夫随机场方法生成多模态数据集。
MRNN 中,提出了一种基于文本内容和图像输入的更有效的扩展模型。该多模态模型由对图像输入进行编码的卷积神经网络和对图像特征和句子进行编码的 RNN 组成。该模型还采用随机梯度下降算法进行训练。这两个多模式模型在Flickr和Mscoco数据集上得到了广泛的评估,并取得了最先进的性能。目前已有一些新的基于神经网络的多模态深度学习方法。
- 2018,设计了一种 MRNN 来标记室内场景,其中多模态特征和跨模态特征由 RNN 和 Transform Layer 学习。
- 2019,利用多模态传感器数据设计了 gate recurrent cell,以模拟驾驶员行为。
- 2019,提出了一种用于检测动态睡眠的多模态 BiLSTM,用于提取从可穿戴设备中收集的数据特征。然后每个交互模态特征由一个完全连接的网络连接起来。
总结
基于 RNN 的多模态模型通过隐藏单元计算中的显式状态转移,能够分析隐藏在多模态数据中的时间相关性。使用反向传播算法来训练参数,由于隐藏状态传输的计算量大,在高性能设备上很难实现并行化。
总结与展望
特征学习
多模态数据融合深度学习模型中存在大量的自由权重,特别是冗余参数,这些参数对与感兴趣的任务的影响很有限。为了训练这些参数捕捉数据的特征结构,将大量的数据输入到基于反向传播的多模态数据融合深度学习模型中,计算量大且耗时长。为了提高加权学习的效率,反向传播算法的一些并行体已经在计算密集型架构上执行:CPU 集群、GPU 和云平台。而多模态数据融合深度学习模型的规模在很大程度上取决于训练设备的计算能力。然而,目前高性能设备的计算能力提高速度落后于多模态数据。在现有架构上的高性能计算设备上训练的多模态数据融合深度学习模型可能不能很好地学习增大题集的多模态数据的特征结构。因此,深度学习在多模态数据融合特征学习方面未来的研究可能是设计具有 更强大计算体系结构 的新的学习框架。
此外,自由参数压缩这一提高深度学习训练效率的有效方法在单模态数据特征学习中取得了很大的进展。因此,如何结合现有的压缩策略来设计新的多模态深度学习压缩方法也是一个潜在的研究方向。
深度学习和语义融合策略的结合
多模态数据不光包含各自的模态信息,而且包含了跨模态的信息。为学习多模态数据丰富的各自模态信息和跨模态信息,现有的多模态数据融合深度学习模型都首先使用深度模型来捕获多模态数据的私有特征,将特定与模态的原始表示转换为特定全局空间的高度抽象表示。然而这些高度抽象的表示被进一步连接到一个表示多模态的全局表示向量中。最后利用深度模型对连接向量的高度抽象表示进行建模。然而使用这种方法,多模态深度学习模型不能完全捕获多模态数据的语义知识。这些单一的各自模态的特征是同一语义空间的表征,会导致不同语义层次的特征组合在一起,为什么会丢失单一的各自模态特征目前还没有明确的解释。而且,模态表征以线性的方式结合在一起,不能适应多个模态上的复杂关系。因此迫切需要考虑语义关系的多模态数据深度学习模型。此外,一些语义融合策略,如多视图融合、迁移学习融合和概率依赖融合方面取得了一定的进展。因此,设独行侠和语义融合策略的结合可能是解决多模态数据探索所带来挑战的一种方法。
数据的不确定性
多模态数据是在动态环境中收集的,表明数据是不确定的。也就是说,这些数据是动态的,意味着数据的分布不是不变的。传统的多模态深度学习学习动态多模态数据的方法是在数据分布发生变化时训练一个新的模型。然而,一种新的深度学习模型需要花费大量的时间来训练,不能满足在线多模态数据应用。在线学习和增量学习是具有代表性的实时学习策略,它们在不损失大量历史知识的情况下学习新数据的新知识。因此,随着动态多模态数据的爆炸,必须解决数据融合的在线和增量多模态深度学习模型的设计问题。此外,多模态数据是低质量的,并包含噪音,不完整的数据,和离群值。目前,有几种深度学习模型只关注单模态噪声数据。随着低质量多模态数据的激增,低质量多模态数据的深度学习模型亟待解决。