大家好,本次论文分享是: Yaohung Hubert Tsai, Shaojie Bai, Paul Pu Liang, J Zico Kolter, Louisphilippe Morency, Ruslan Salakhutdinov, Multimodal Transformer for Unaligned Multimodal Language Sequences. ACL 2019, pp6558-6569.
如图1所示,人类语言通常是多模态的,包括视觉,语音以及文本三个模态,而每个模态又包含很多不同信息,比如文本模态包括基本的语言符号、句法和语言动作等, 语音模态包括语音、语调以及声音表达等,视觉模态包括姿态特征、身体语言、眼神以及面部表达等信息 。
在多模态信息处理任务中,多个模态信息之间是相互补充的,同时多个模态的信息之间也存在冗余,甚至在有些情况下会出现一些冲突,因此如何对于多个模态信息的进行有效的融合(Fusion)是多模态信息处理中核心问题之一。比如在多模态情感识别任务三个模态间的关系如图2所示:
根据背景知识的介绍,目前主流的做法是在时间序列上进行融合(为什么要在时间序列上融合?),首先先用 P2FA 工具获取 words 的 time-stamps, 然后将audio和visual的信息对齐到 word,然后将audio和visual的特征对齐到word,比较简单的就是对时间所有帧求平均,这样就得到了 word-level alignment 的多模态时序序列。
本文引用的几篇达到 state-of-the-art 效果的相关文献,并以此作为baseline, 下面进行简单介绍:
2. Recurrent Attended Variation Embedding Network (RAVEN) [2], 本文的motivation是同一个单词在不同的 非语言行为下(Audio和Visual)能表现出完全不同的情感。 如图4所示,单词 “sick”在情感空间中是随着不同Audio和Visual信息会动态的shift。本文也是采用 word-level alignment 序列。
3. Multimodal Cyclic Translation Network (MCTN)[3], 现有任务训练阶段都是考虑所有模态,但是实际测试会有模态缺失或者带来噪音等问题,本文提出通过是学习模态之间的Joint Representation 可以提升单模态表达能力来应对模态缺失的问题。如图5所示,本文也对比了多种不同的训练策略,如下三个模态场景下的训练策略是最优的。本文也是采用 word-level alignment 序列。
目前主流的方法都是基于 word-level alignment 多模态序列上,在 word/frame上进行跨模态的交互,但是这种方法存在一下两个问题:
基于以上两个问题,本文提出 cross-modal attention module 在非对齐情况下在整个时间序列上进行跨模态交互方法,从而解决以上两个问题。
具体方法如下:
如图6所示,要构建模态间的交互信息,而时间序列长度又不同,采用Crosss-modal Transformer 的结构来构建不同模态之间的关系。在3种模态的情况下,图中构建6种组合方式,获得 cross-model interaction 融合信息之后,最后采用基于 self-attention的transformer 结构继续context建模,最后拼接三组特征进行预测。
Step1: 首先三个模态的特征分别经过Cov1D进行降维,将三个模态的特征映射到同一维度,主要为了后面 Scaled-dot-product Attention 进行计算。
Step2:对位置信息进行编码,采用的 cos,sin 编码方式,编码维度与映射后的特征保持一致,然后与映射后的特征进行融合。
Step3: 本文的核心 Cross-modal Transformer,如图 7(a), 两个模态多个Block之后获得模态 Beta 到 Aplha 的映射,而每个Block内则是,输入特征或者上一个Block的输出经过Layer Normalization 之后进行 multi-head cross-modal attention module。
所以关于 如图 7(b) 中的模块对应的计算公式为:
Step4:Self-Attention based Transformer, 同理得到 ZA 和 ZV, 然后分别用 Transformer (self-attention) 构建 context-based embeddings.
Step5:Fusion and Prediction Layer
A、V 和 L 三个Transformer的最后一个时刻的输出进行拼接然后经过 FC 层进行预测。
另外: 对于论文中提到的 Baseline+CTC[4] 的方法,具体就是首先将A和V分别对应到 L,然后同样保持原有模型结构不变,还是在 word-level 进行后续计算。训练的时候在原有 CE loss 基础上 加上 CTCLoss 训练, 一块训练。
作者开源的 pytorch 代码如下:
yaohungt/Multimodal-TransformerIEMOCAP: 302 videos interactive videos with discrete/continues emotion labels.
CMU-MOSI: 2,199 short monologue video clips each annotated with sentiment [-3, 3].
CMU-MOSEI: 23,454 movie review video clips with sentiment and emotion labels.
其中 CMU-MOSI 和 CMU-MOSEI 为 YouTube 上电影评论的 Vlog 视频。
在IEMCOAP上实验结果:
Word Aligned: 提出的方法要比同样在 对齐 的数据上的Baseline的效果都要有提升。
Unaligned: 提出的方法要比同样在 非对齐的数据上的Baseline的效果都要有提升。ne 的效果都要有非常明显提升。
另外,由于不同模态时序特征的异步,以及Audio和Video的序列太长(甚至到1000),对于长时的Attention权重的学习也比较困难。所以导致非对齐的情况下要比对齐的要差很多。
本文主要解决的时多模态情感识别任务中,如何处理非对齐的多模态时序特征的融合问题。
下面【Emotion Analysis】是对于我们实验室在情感计算方面做的部分工作的简单介绍,如果大家有兴趣,欢迎交流与合作。
gdbb:【Emotion Analysis】情感计算工作小结[1] Liang P P, Liu Z, Zadeh A, et al. Multimodal Language Analysis with Recurrent Multistage Fusion. EMNLP, 2018.
[2] Wang Y , Shen Y , Liu Z , et al. Words Can Shift: Dynamically Adjusting Word Representations Using Nonverbal Behaviors. AAAI,2019.
[3] Pham H , Liang P P , Manzini T , et al. Found in Translation: Learning Robust Joint Representations by Cyclic Translations Between Modalities. AAAI,2019
[4] Alex Graves, Santiago Fern´andez, Faustino Gomez, and J¨urgen Schmidhuber. Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks. ICML, 2006