Jeff Dean:我认为,2020年在多任务学习和多模态学习方面会有很大进展,解决更多的问题。我觉得那会很有趣。
多模态学习
为了使人工智能进一步加强对我们周边事物的理解,它需要具备解释多模态信号的能力。一般多模态需要处理的任务主要如上图有:
上图来自多模态综述:Multimodal Machine Learning:A Survey and Taxonomy
接下来重点介绍一些多模态融合方法。
多模态融合 (Multimodal Fusion)
一般来说,模态是指事物发生或存在的方式,多模态是指两个或者两个以上的模态的各种形式的组合。对每一种信息的来源或者形式,都可以称为一种模态(Modality),目前研究领域中主要是对图像,文本,语音三种模态的处理。之所以要对模态进行融合,是因为不同模态的表现方式不一样,看待事物的角度也会不一样,所以存在一些交叉(所以存在信息冗余),互补(所以比单特征更优秀)的现象,甚至模态间可能还存在多种不同的信息交互,如果能合理的处理多模态信息,就能得到丰富特征信息。即概括来说多模态的显著特点是: 冗余性 和 互补性 。
传统特征融合算法主要可以分为三类:1.基于贝叶斯决策理论的算法 2.基于稀疏表示理论的算法 3.基于深度学习理论算法。其中深度学习方法按照融合的层次,主要有:
就方法上这篇文章主要整理:
TFN(Multimodal Tensor Fusion Network)
首先是基于矩阵的TFN,TFN属于early fusion,是一个典型通过矩阵运算进行融合特征融合的多模态网络,即直接对三种模态的数据(如Text,Image,Audio)的三个特征向量X,Y,Z,进行: h m = [ h x 1 ] ⊗ [ h y 1 ] ⊗ [ h z 1 ] {h}_{m}=\begin{bmatrix}{{{h}_x}}\\{1}\end{bmatrix}\otimes\begin{bmatrix}{{{h}_y}}\\{1}\end{bmatrix}\otimes\begin{bmatrix}{{{h}_z}}\\{1}\end{bmatrix} hm=[hx1]⊗[hy1]⊗[hz1]
缺点:TFN通过模态之间的张量外积(Outer product)计算不同模态的元素之间的相关性,但会极大的增加特征向量的维度,造成模型过大,难以训练。
LMF(Low-rank Multimodal Fusion)
出自论文 Efficient Low-rank Multimodal Fusion with Modality-Specific Factors,ACL2018。是TFN的等价升级版,就具体模型如图。LMF利用对权重进行低秩矩阵分解,将TFN先张量外积再FC的过程变为每个模态先单独线性变换之后再多维度点积,可以看作是多个低秩向量的结果的和,从而减少了模型中的参数数量。
缺点:虽然是TFN的升级,但一旦特征过长,仍然容易参数爆炸。
PTP (polynomialtensor pooling)
出自论文,Deep Multimodal Multilinear Fusion with High-order Polynomial Pooling,NIPS 2019.
以往的双线性或三线性池融合的能力有限,不能释放多线性融合的完全表现力和受限的交互顺序。 更重要的是,简单地同时融合特征忽略了复杂的局部相互关系。所以升级为一个多项式张量池(PTP)块,通过考虑高阶矩来集成多模态特征。即将concat的模型x N之后再做一个低秩分解。
DSSM(Deep Structured Semantic Models)
DSSM是搜索领域的模型,属于late fusion。它通过用 DNN 把 Query 和 Title(换成不同的模态数据就行) 表达为低维语义向量,并通过 cosine 距离来计算两个语义向量的距离,最终训练出语义相似度模型。该模型既可以用来预测语义相似度,又可以获得某模态的低维语义向量表达。(可以将两个模态约束至统一表示空间,多模态协同表示。与之对应的多模态联合表示是先concat再FC)
其他玩法:可以在DNN的过程中,用recurrent residual fusion (RRF) ,多个残差,然后将3次recurrent的结果与最开始的输入concat起来,最后将concat得到的结果做融合。
Dynamic Fusion for Multimodal Data
以上的融合方法都太过“生硬”,能否有更好更自然的融合方法呢?AE(autoencoder)首当其冲,如图左图,先把所有模态fc即encoder,再用decode还原特征,最后计算特征之间的损失。
有了AE,GAN的出现不会太迟。如图右图,将不采用固定的模态融合方法,而是自动学习“how”融合。先对video和speech转换完成后,和text进行对抗(video往往和speech是搭配的,所以先融合)。
另外在CVPR2019,有一篇–MFAS:Multimodal Fusion Architecture Search,首次用神经架构搜索做how融合。
MFN(Memory Fusion Network)
出自Memory Fusion Network for Multi-View Sequential Learning,AAAI 2018。
17,18年是注意力机制开始统治学术界的一年,很多工作都做了这方面的工作。MFN就是一种使用“Delta-memory attention”和“Multi-View Gated Memory”来同时捕捉时序上和模态间的交互,以得到更好的多视图融合。模型图如下,用memory的目的是能保存上一时刻的多模态交互信息,gated过滤,Attention分配权重。
淘宝视频多模态应用
淘宝视频的多模态信息也是十分丰富,而用LMF和TFN参数量往往会爆炸,就不得已要先将每个模态特征降维,然而降维本身是有损的,导致降维后的模态特征再外积不如直接利用不同模态间特征拼接。
不过不要紧,淘宝也就提出了基于Modal Attention的多模态特征融合方法。Modal Attention是用法是,预测基于concat后的多模态联合特征对不同模态的重要性分布概率,再将分布概率与多模态融合特征做点积,得到对于不同模态特征重要性重新加权过后的新的多模态融合特征。
Multi-Interactive MemoryNetwork
这篇文章同样是用了Attention,使用Aspect-guided attention机制来指导模型生成文本和图像的Attention向量。使用的是和Attention很类似的记忆网络技术,具体如下图分为Textual和Visual Memory Network,然后通过GRU+Attention的多跳融合优化特征表达。
其中的重点在于,为了捕获多模态间和单模态内的交互信息,模型又使用了Multi-interactive attention机制。即Textual和Visual在多跳的时候会相互通过Attention来融合信息(感觉很像Co-Attention的处理方法)。
其他玩法:不止是Co-Attention咯,就把Attention的其他各种变体再应用一遍。。。
Adversarial Multimodal Representation Learning for Click-Through Rate Prediction
补上一篇WWW20’的阿里论文,虽然是做点击率预估,这里的融合方法非常有意思。
以往的多模态融合要么将多个模态特征串联起来,相当于给每个模态赋予固定的重要性权重;要么学习不同模态的动态权重,用于不同的项如用Attention融合比较好,但是不同模态本身会有冗余性和互补性(相同的东西和不同的东西),即需要考虑不同的模态特性和模态不变特性。使用冗余信息计算的不同模式的动态权重可能不能正确地反映每种模式的不同重要性。
为了解决这一问题,作者通过不同的考虑模态特异性和模态不变特征来考虑模态的非定性和冗余性。
所以在多模态融合(普通的Attention融合,即图中的MAF)旁边加上一个双判别器对抗网络(即图中的DDMA),即分别捕捉动态共性,和不变性。DDMA如下图:
双判别器是为了挖掘:
Cross-modality Person re-identification with Shared-Specific Feature Transfer
继续补一篇新鲜的CVPR2020的文章,同样这篇文章是做行人重识别的,但是融合方法很有趣。
还是沿着上一篇博文的思路,现有的研究主要集中在通过将不同的模态嵌入到同一个特征空间中来学习共同的表达。然而,只学习共同特征意味着巨大的信息损失,降低了特征的差异性。
所以如何找不同模态间的 共性 和 个性?一方面不同模态之间的信息有互补作用,另一方面模态自己的特异性又有很强的标识功能。但是怎么把两者分开呢?即如何找到这两种表示。作者提出了一种新的跨模态共享特征转移算法(cm-SSFT):
(注:作者这里认为RGB图和红外IR图是两种模态…)
如果有其他有关多模态融合有意思的论文,欢迎在文章后面留言。
另外,下一篇博文整理了在多模态领域中也很常见的领域:Cross-modal Retrieval 跨模态检索 。