【Mul Transformer2019】Multimodal Transformer for Unaligned Multimodal Language Sequences

Multimodal Transformer for Unaligned Multimodal Language Sequences

不对齐的多模态语言序列的多模态转换器。


arXiv:1906.00295v1 [cs.CL] 1 Jun 2019
文章地址:https://arxiv.org/pdf/1906.00295.pdf
代码地址:https://github.com/yaohungt/Multimodal-Transformer


摘要

  人类语言通常是多模态的,它包含了自然语言、面部手势和声音行为的混合。然而,在对这种多模态的人类语言时间序列数据进行建模时存在两个主要挑战。

  1. 由于每种模式的序列的采样率不同,固有的数据不一致;
  2. 不同模式的元素之间存在长距离的依赖性。

在本文中,我们引入了多模态转换器(MulT),以端到端的方式通用地解决上述问题,而无需明确地对齐数据。我们模型的核心是方向性的成对跨模态注意,它关注不同时间步骤的多模态序列之间的相互作用,并潜移默化地将数据流从一种模态调整到另一种模态。在对齐和非对齐的多模态时间序列上进行的综合实验表明,我们的模型在很大程度上优于最先进的方法。此外,经验分析表明,相关的跨模态信号能够被MulT中提出的跨模态注意机制所捕获。


1导言

  人类语言不仅拥有口语,还拥有来自视觉(面部属性)和声音(语调)模式的非语言行为(Gibson等人,1994)。这种丰富的信息为我们提供了理解人类行为和意图的好处(Manning等人,2014)。然而,不同模态的异质性往往增加了分析人类语言的难度。例如,音频和视觉流的受体可能会随着接收频率的变化而变化,因此我们可能无法获得它们之间的最佳映射。一张皱眉的脸可能与过去所说的悲观的词有关。也就是说,多模态语言序列往往表现出 "不一致 "的性质,需要推断出跨模态的长期依赖关系,这就提出了一个关于执行高效多模态融合的问题。

  为了解决上述问题,本文提出了多模态转化器(MulT),这是一个端到端的模型,它扩展了标准的转化器网络(Vaswani等人,2017),直接从不对齐的多模态流中学习表征。我们模型的核心是跨模态注意模块,它关注整个语篇规模的跨模态互动。这个模块通过反复强化一个模态的特征和其他模态的特征,潜移默化地适应从一个模态到另一个模态的语流(例如,视觉→语言),而不考虑是否需要对齐。相比之下,解决未对齐的多模态序列的一个常见方法是在训练前强制进行单词对齐(Poria等人,2017;Zadeh等人,2018a,b;Tsai等人,2019;Pham等人,2019;Gu等人,2018):通过将视觉和声学特征与单词的分辨率对齐,手动预处理。然后,这些方法将在(已经)对齐的时间步骤上建立多模态互动模型,因此不直接考虑原始特征的长距离跨模态应急措施。我们注意到,这样的词对齐不仅需要涉及领域知识的特征工程;而且在实践中,它也可能并不总是可行的,因为它需要关于数据集的额外元信息(例如,单词或语音语段的确切时间范围)。我们在图1中说明了由我们的模型推断出的单词对齐和跨模式注意力之间的区别。

图1:电影评论中的视频片段示例。[Top]。词级对齐的说明,其中视频和音频特征在每个口语词的时间间隔内被平均化。[Bottom]文字(“spectacle”)和视觉/音频之间的跨模式注意力权重说明。

  为了进行评估,我们在三个人类多模态语言基准上进行了一套综合实验。CMU-MOSI(Zadeh等人,2016)、CMU-MOSEI(Zadeh等人,2018b)和IEMOCAP(Busso等人,2008)。我们的实验表明,MulT不仅在通常评估的单词对齐设置中,而且在更具挑战性的非对齐场景中都取得了最先进的(SOTA)结果,在大多数指标上比之前的方法高出5%-15%的幅度。此外,经验性的定性分析进一步表明,MulT所使用的跨模态注意力能够捕捉到跨异步模态的相关信号。


2.相关工作

人类多模态语言分析。之前分析人类多模态语言的工作在于从跨越语言、视觉和声学模式的多模态序列中推断表征的领域。与从图像和文本属性等静态领域学习多模态表征不同(Ngiam等人,2011;Srivastava和Salakhutdinov,2012),人类语言包含时间序列,因此需要融合时间变化的信号(Liang等人,2018;Tsai等人,2019)。早期的工作使用早期的融合方法来串联来自不同模态的输入特征(Lazaridou等人,2015;Ngiam等人,2011),并显示出与从单一模态学习相比,性能有所提高。最近,人们提出了更先进的模型来学习人类多模态语言的表征。例如,Gu等人(2018)使用分层注意策略来学习多模态表征,Wang等人(2019)使用伴随的非语言行为来调整单词表征,Pham等人(2019)使用循环翻译目标学习稳健的多模态表征,Dumpala等人(2019)探索了跨模态自动编码器的视听对齐。这些以前的方法依赖于多模态语言序列已经在单词的分辨率上对齐的假设,并且只考虑短期的多模态互动。相比之下,我们提出的方法不需要对齐的假设,并在整个序列的范围内定义跨模态的相互作用。

变换器网络。变换器网络(Vaswani等人,2017)首次被引入到神经机器翻译(NMT)任务中,其中编码器和解码器侧各自利用一个自我注意(Parikh等人,2016;Lin等人,2017;V aswani等人,2017)变换器。在每一层自我关注之后,编码器和解码器由一个额外的解码器子层连接,解码器对源文本的每个元素都关注目标文本的每个元素。我们请读者参考(V aswani et al, 2017)对该模型的更详细解释。除了NMT,转化器网络也被成功应用于其他任务,包括语言建模(Dai等人,2018;Baevski和Auli,2019)、语义角色标注(Strubell等人,2018)、词义消歧(Tang等人,2018)、学习句子表征(Devlin等人,2018)以及视频活动识别(Wang等人,2018)。

  本文吸收了NMT转化器的强大灵感,将其扩展到多模态环境。NMT转化器侧重于从源文本到目标文本的单向翻译,而人类的多模态语言时间序列既不像单词嵌入那样具有良好的代表性,也不像单词嵌入那样具有离散性,每种模式的序列都有很大的不同频率。因此,我们建议不要明确地从一种模式翻译到其他模式(这可能是极具挑战性的),而是通过注意力潜移默化地适应各模式的元素。因此,我们的模型(MulT)没有编码器-解码器结构,但它是由多个成对和双向的跨模态注意块堆积而成的,直接关注低层次的特征(同时去除自我注意)。从经验上看,我们提出的方法在各种人类多模态语言任务上的改进超过了标准转化器。


3 方法

图2:MulT在模态(L、V、A)上的整体架构。跨模态变换器表明潜在的跨模态适应,是MulT用于多模态融合的核心部件。

  在这一节中,我们描述了我们提出的多模态转换器(MulT)(图2),用于对不一致的多模态语言序列进行建模。在高层次上,MulT通过一个来自多个方向性的成对交叉模态变换器的前馈融合过程来合并多模态时间序列。具体来说,每个跨模态转换器(在第3.2节中介绍)通过学习两个模态特征之间的注意力,用另一个源模态的低级特征反复强化一个目标模态。因此,MulT架构用这种跨模态转换器对所有的模态进行建模,然后用序列模型(如自我注意转换器)来预测融合的特征。

  我们提出的模型的核心是跨模态注意力模块,我们首先在第3.1节介绍。然后,在第3.2和3.3节中,我们详细介绍了MulT架构的各种成分(见图2),并讨论了跨模态注意和经典的多模态排列之间的区别。


3.1跨模态注意

  我们考虑两个模态α和β,每个模态的两个(可能不对齐)序列分别表示为 X α ∈ R T α × d α X_α∈R^{T_α×d_α} XαRTα×dα X β ∈ R T β × d β X_β∈R^{T_β×d_β} XβRTβ×dβ。在本文的其余部分, T ( ⋅ ) T_{(·)} T() d ( ⋅ ) d_{(·)} d()分别用来表示序列长度和特征维度。受NMT(Vaswani等人,2017)中把一种语言翻译成另一种语言的解码器的启发,我们假设融合跨模态信息的一个好方法是提供一个跨模态的潜在适应性;即β到α。

  我们定义Querys为 Q α = X α W Q α {Q_\alpha } = {X_\alpha }{W_{{Q_\alpha }}} Qα=XαWQα, Keys为 K β = X β W K β {K_\beta } = {X_\beta }{W_{{K_\beta }}} Kβ=XβWKβ,Values为 V β = X β W V β {V_\beta } = {X_\beta }{W_{{V_\beta }}} Vβ=XβWVβ,其中 W Q α ∈ R d α × d k {W_{{Q_\alpha }}} \in {R^{{d_\alpha } \times {d_k}}} WQαRdα×dk W K β ∈ R d β × d k {W_{{K_\beta }}} \in {R^{{d_\beta } \times {d_k}}} WKβRdβ×dk W V β ∈ R d β × d v {W_{{V_\beta }}} \in {R^{{d_\beta } \times {d_v}}} WVβRdβ×dv是权重。从β到α的潜在适应性表现为跨模式注意力 Y α : = C M β → α ( X α , X β ) ∈ R T α × d v : {Y_\alpha }: = C{M_{\beta \to \alpha }}({X_\alpha },{X_\beta }) \in {R^{{T_\alpha } \times {d_v}}}: Yα:=CMβα(Xα,Xβ)RTα×dv

Y α = C M β → α ( X α , X β ) = s o f t max ⁡ ( Q α K β T d k ) V β = s o f t max ⁡ ( X α W Q α W K β T X β T d k ) X β W V β \begin{align*} {Y_\alpha } &= C{M_{\beta \to \alpha }}({X_\alpha },{X_\beta }) \\ &= soft\max \left( {{{{Q_\alpha }K_\beta ^T} \over {\sqrt {{d_k}} }}} \right){V_\beta } \tag{1}\\ &= soft\max \left( {{{{X_\alpha }{W_{{Q_\alpha }}}W_{{K_\beta }}^TX_\beta ^T} \over {\sqrt {{d_k}} }}} \right){X_\beta }{W_{{V_\beta }}} \end{align*} Yα=CMβα(Xα,Xβ)=softmax(dk QαKβT)Vβ=softmax(dk XαWQαWKβTXβT)XβWVβ(1)

图3:来自模态α和β的两个时间序列之间的跨模态变换器的结构要素。

  注意, Y α Y_α Yα的长度与 Q α Q_α Qα(即 T α T_α Tα)相同,但同时在Vβ的特征空间中被表示。具体来说,方程(1)中的缩放(通过 d k {\sqrt {{d_k}} } dk )softmax计算出一个分数矩阵 s o f t m a x ( ⋅ ) ∈ R T α × T β softmax(·)∈R^{T_α×T_β} softmaxRTα×Tβ,其 ( i , j ) (i,j) ij-个条目衡量模态α的第i个时间步骤对模态β的第j个时间步骤给予的注意。因此, Y α Y_α Yα的第i个时间步骤是 V β V_β Vβ的加权摘要,其权重由 s o f t m a x ( ⋅ ) softmax(·) softmax()的第i行决定。我们称方程(1)为单头跨模态注意力,如图3(a)所示。

  按照之前关于变压器的工作(Vaswani等人,2017;Chen等人,2018;Devlin等人,2018;Dai等人,2018),我们在跨模态注意力的计算中加入一个剩余连接。然后,注入另一个位置前馈子层以完成一个跨模态注意块(见图3(b))。每个跨模态注意块直接从低级特征序列(即图3(b)中的 Z β [ 0 ] Z_\beta ^{[0]} Zβ[0])进行适应,不依赖自我注意,这使得它与NMT编码器-解码器架构(Vaswani等人,2017;Shaw等人,2018)不同(即采取中级特征)。我们认为,从低级特征进行适应有利于我们的模型保留每种模式的低级信息。我们在第4.3节中留下了从中级特征(即 Z β [ i − 1 ] Z_β^{[i-1] } Zβ[i1])适应消减研究的经验研究。


3.2 总体架构

  在多模态语言序列中通常涉及三个主要模态:语言( L L L)、视频( V V V)和音频( A A A)模态。我们用 X L , V , A ∈ R T { L , V , A } × d { L , V , A } X_{{L,V,A}}∈R^{T_{\{L,V,A\}}×d_{\{L,V,A\}}} XL,V,ART{L,V,A}×d{L,V,A}来表示这三种模态的输入特征序列(及其维度)。有了这些符号,在本小节中,我们将更详细地描述多模态转换器的组成部分以及跨模态注意力模块的应用方式。

时间卷积。为了确保输入序列的每个元素对其邻近元素有足够的认识,我们将输入序列通过一个一维时间卷积层:

X ^ { L , V , A } = C o n v 1 D ( X { L , V , A } , k { L , V , A } ) ∈ R T { L , V , A } × d (2) \hat X_{\{L,V,A\}}=Conv1D(X_{\{L,V,A\}},k_{\{L,V,A\}})∈R^{T_{\{L,V,A\}}×d}\tag{2} X^{L,V,A}=Conv1D(X{L,V,A},k{L,V,A})RT{L,V,A}×d(2)

  其中 k { L , V , A } k_{\{L,V,A\}} k{L,V,A}是模态 { L , V , A } \{L, V, A\} {L,V,A}的卷积核的大小,d是一个共同维。卷积序列有望包含序列的局部结构,这很重要,因为序列是以不同的采样率收集的。此外,由于时间上的卷积将不同模态的特征投射到同一维度 d d d,点积在跨模态注意模块中是可以接受的。

位置嵌入。为了使序列能够携带时间信息,按照(Vaswani等人,2017),我们将位置嵌入(PE)增强到 X ^ { L , V , A } {{{\rm{\hat X}}}_{{\rm{\{ L,V,A\} }}}} X^{L,V,A}

Z { L , V , A } [ 0 ] = X ^ { L , V , A } + P E ( T { L , V , A } , d ) (3) Z_{\{L,V,A\}}^{[0]}=\hat X_{\{L,V,A\}} +PE(T_{\{{L,V,A}\}},d) \tag{3} Z{L,V,A}[0]=X^{L,V,A}+PE(T{L,V,A},d)(3)
  其中 P E ( T { L , V , A } , d ) ∈ R T { L , V , A } × d PE(T_{\{L,V,A\}}, d) ∈R^{T_{\{L,V,A\}}×d} PE(T{L,V,A},d)RT{L,V,A}×d计算每个位置索引的(固定)嵌入, Z { L , V , A } [ 0 ] Z_{\{L,V,A\}}^{[0]} Z{L,V,A}[0]是不同模式的低层次位置感知特征。我们把位置嵌入的更多细节留给附录A。

跨模态转换。基于跨模态注意块,我们设计了跨模态变换器,使一种模态能够接收另一种模态的信息。在下文中,我们用视觉( V V V)信息传递到语言( L L L)的例子,用 " V → L V→L VL "表示。我们将每个跨模态注意块的所有维度( d { α , β , k , v } d_{\{α,β,k,v\}} d{α,β,k,v})固定为 d d d

  每个跨模态变换器由D层跨模态注意块组成(见图3(b))。从形式上看,一个交叉模态转换器对 i = 1 , . . . . . . , D i=1,......,D i=1,......,D层进行前馈计算。D层:

Z V → L [ 0 ] = Z L [ 0 ] Z ^ V → L [ 0 ] = C M V → L [ i ] , m u l ( L N ( Z V [ 0 ] ) ) + ( L N ( Z V → L [ i − 1 ] ) Z V → L [ i − 1 ] = f θ V → L [ i ] ( L N ( Z ^ V → L [ i ] ) ) + L N ( Z ^ V → L [ i ] ) \begin{align*} Z_{V \to L}^{[0]}&=Z_L^{[0]}\\ \hat Z_{V \to L}^{[0]}&=CM_{V \to L}^{[i],mul}(LN(Z_V^{[0]}))+(LN(Z_{V \to L}^{[i-1]}) \tag{4} \\ Z_{V \to L}^{[i-1]}&=f_{\theta_{V \to L}^{[i]}}(LN(\hat Z_{V \to L}^{[i]}))+LN(\hat Z_{V \to L}^{[i]}) \end{align*} ZVL[0]Z^VL[0]ZVL[i1]=ZL[0]=CMVL[i],mul(LN(ZV[0]))+(LN(ZVL[i1])=fθVL[i](LN(Z^VL[i]))+LN(Z^VL[i])(4)

  其中 f θ f_θ fθ是以 θ θ θ为参数的位置前馈子层, C M V → L [ i ] , m u l CM_{V →L}^{[i],mul } CMVL[i],mul表示第i层的多头(详见(Vaswani et al, 2017))版本的 C M V → L CM_{V →L} CMVL(注意:d应该可以被头的数量所除)。 L N LN LN指的是层正常化(Ba等人,2016)。

  在这个过程中,每个模态通过来自多头跨模态注意模块的低层次外部信息不断更新其序列。在跨模态注意模块的每一层,来自源模态的低层次信号被转化为一组不同的 Key/Value对,以与目标模态互动。从经验上看,我们发现跨模态转换器学会了将有意义的元素跨模态关联起来(详见第四节)。最终的MulT是基于对每一对跨模态交互的建模。因此,考虑到3种模态(即L、V、A),我们总共有6个跨模态转化器(见图2)。

**自我注意的转换和预测。**作为最后一步,我们将共享相同目标模态的跨模态变换器的输出连接起来,得到 Z { L , V , A } ∈ R T L , V , A × 2 d Z_{\{L,V,A\}}∈R^{T{L,V,A}×2d} Z{L,V,A}RTL,V,A×2d。例如, Z L = [ Z V → L [ D ] ; Z A → L [ D ] ] Z_L = [Z_ {V→L}^{[D]}; Z_{ A→L}^{[D]}] ZL=[ZVL[D];ZAL[D]]。然后,每个人都要通过一个序列模型来收集时间信息以进行预测。我们选择自我关注的转化器(Vaswani et al, 2017)。最终,序列模型的最后一个元素被提取出来,通过全连接层来进行预测。


3.3 关于注意力和对齐的讨论

  在对未对齐的多模态语言序列进行建模时,MulT依靠跨模态的注意力块来合并各模态的信号。虽然在之前的工作中,多模态序列在训练前被(手动)对齐到相同的长度(Zadeh等人,2018b;Liang等人,2018;Tsai等人,2019;Pham等人,2019;Wang等人,2019),但我们注意到,MulT通过一个完全不同的视角看待非对齐问题。具体来说,对于MulT来说,多种模式的元素之间的相关性是纯粹基于注意力的。换句话说,MulT不是通过(简单地)对齐它们来处理模态非对齐问题;相反,跨模态的注意力鼓励模型直接关注其他模态中存在强信号或相关信息的元素。因此,MulT可以捕捉到长距离的跨模态突发事件,而传统的排列方式不容易显示出来。另一方面,经典的跨模态排列可以表示为一个特殊的(阶梯式的)跨模态注意矩阵(即单调的注意(Yu等人,2016))。我们在图4中说明了它们的区别

图4:使用注意力矩阵从模态β到α进行可视化对齐的例子。多模态对齐是跨模态注意的一个特殊(单调)情况。

4. 试验

  在本节中,我们在三个数据集上对多模态转换器(MulT)进行了实证评估,这些数据集在之前的工作中经常被用来作为人类多模态情感识别的基准(Pham et al, 2019; Tsai et al, 2019; Liang et al, 2018)。我们的目标是将MulT与先前的竞争性方法在词对齐(按词,几乎所有先前的工作都采用)和不对齐(这更具挑战性,MulT是为其通用设计的)多模态语言序列上进行比较。


4.1 数据集和评估指标

  每个任务都包括一个词对齐的版本(与之前的工作中的处理方式相同)和一个不对齐的版本。对于这两个版本,多模态特征都是从文本(GloVe词嵌入(Pennington等人,2014))、视觉(Facet(iMotions,2017))和声学(COV AREP(Degottex等人,2014))数据模态中提取的。附录D中对这些特征有更详细的介绍。

  对于单词对齐的版本,按照(Zadeh等人,2018a;Tsai等人,2019;Pham等人,2019),我们首先使用P2FA(Yuan和Liberman,2008)来获得音频和视觉流的对齐时间步长(分割为w.r.t.词),然后我们在这些时间范围内对音频和视觉特征进行平均化。在单词对齐的情况下,所有序列的长度为50。这个过程在所有的数据集上都是一样的。另一方面,对于未对齐的版本,我们保持提取的原始音频和视觉特征,没有任何词段对齐或手动子取样。因此,每种模式的长度差异很大,其中音频和视觉序列可能包含多达>1,000个时间步骤。我们在下面详细说明这三项任务。

CMU-MOSI和MOSEI。CMU-MOSI(Zadeh等人,2016)是一个人类多模态情感分析数据集,包括2,199个短的独白视频片段(每个持续时间为一个句子)。CMUMOSI的声音和视觉特征分别以12.5和15赫兹的采样率提取(而文本数据则按字数分段并表示为离散的词嵌入)。同时,CMU-MOSEI(Zadeh等人,2018b)是一个情感和情绪分析数据集,由来自YouTube的23454个电影评论视频片段组成(约为CMU-MOSI的10倍大小)。未对齐的CMU-MOSEI序列以20赫兹的采样率提取声学信号,以15赫兹提取视觉信号。

  对于CMU-MOSI和CMU-MOSEI,每个样本都由人类注释者标注了从-3(强烈负面)到3(强烈正面)的情感分数。我们使用各种指标来评估模型的性能,与之前的工作中使用的指标一致。7类准确度(即Acc7:Z∩[-3, 3]中的情感分数分类),二进制准确度(即 A c c 2 Acc_2 Acc2:积极/消极的情感),F1分数,分数的平均绝对误差(MAE),以及模型预测与人类的相关性。这两项任务经常被用来衡量模型融合多模态(情感)信息的能力(Poria等人,2017;Zadeh等人,2018a;Liang等人,2018;Tsai等人,2019;Pham等人,2019;王等人,2019)。

IEMOCAP . IEMOCAP(Busso等人,2008)由10K视频组成,用于人类情感分析。正如Wang等人(2019)所建议的,选择了4种情绪(快乐、悲伤、愤怒和中性)进行情绪识别。与CMU-MOSI和CMU-MOSEI不同,这是一个多标签任务(例如,一个人可以同时悲伤和愤怒)。它的多模态流考虑了音频(12.Hz)和视觉(15Hz)信号的固定采样率。我们遵循(Poria et al, 2017; Wang et al, 2019; Tsai et al, 2019)报告二元分类的准确性和预测的F1分数。


4.2基线

  我们选择早期融合LSTM(EF-LSTM)和晚期融合LSTM(LF-LSTM)作为基线模型,以及在各种单词对齐的人类多模态语言任务上取得SOTA结果的递归随从嵌入网络(RA VEN)(Wang et al,2019)和多模态循环翻译网络(MCTN)(Pham et al,2019)。为了全面比较这些模型,我们将连接主义时间分类(CTC)(Graves等人,2006年)方法改编为先前的方法(如EFLSTM、MCTN、RA VEN),这些方法不能直接应用于未对齐的设置。具体来说,这些模型的训练是为了同时优化CTC对齐目标和人类多模态目标。我们把对CTC模块的更详细处理留给附录B。为了进行公平的比较,我们将所有模型的参数数量控制得大致相同。超参数在附录C中报告。


4.3 定量分析

词对齐实验。我们首先在单词对齐序列上评估MulT—这是先前对人类多模态语言建模的方法的 “主场”(Sheikh等人,2018;Tsai等人,2019;Pham等人,2019;Wang等人,2019)。表1、2、3的上半部分显示了MulT和基线方法在单词对齐任务上的结果。在相似的模型规模下(约20万个参数),MulT在所有任务的不同指标上都优于其他竞争方法,但IEMOCAP上的 "悲伤 "类结果除外。

表1: 在CMU-MOSI上用对齐和不对齐的多模态序列进行多模态情感分析的结果。 h表示越高越好,’ 表示越低越好。EF代表早期融合,LF代表后期融合。

表2: 在(相对较大的规模)CMU-MOSEI上用对齐的和不对齐的多模态序列进行多模态情感分析的结果。

表3: 在IEMOCAP上用对齐和不对齐的多模态序列进行多模态情感分析的结果。

在这里插入图片描述

不对齐的实验。接下来,我们在同一组数据集上评估MulT在未对齐情况下的表现。请注意,MulT可以直接应用于未对齐的多模态流,而基线模型(除了LF-LSTM)则需要额外的对齐模块(如CTC模块)。

  结果显示在表1、2和3的下半部分。在三个基准数据集上,MulT在大多数属性上都比之前的方法(有些还带有CTC)提高了10%-15%。从经验上看,我们发现MulT与其他竞争方法相比,在训练时收敛得更快,结果更好(见图5)。此外,虽然我们注意到,一般来说,当我们从词对齐的多模态时间序列转向非对齐的多模态时间序列时,所有模型的性能都会下降,但MulT所受的影响比其他方法小得多。我们假设这种性能下降的发生是因为异步(和更长的)数据流在识别重要特征和计算适当的注意力方面引入了更多的困难。

图5:在未对齐的CMU-MOSEI任务上,与其他基线相比,MulT的V验证集收敛性。

消融研究。为了进一步研究MulT中各个组件的影响,我们使用CMU-MOSEI的非对齐版本进行全面的消融分析。结果显示在表4中。

表4:使用CMU-MOSEI对MulT的跨模态变压器的好处进行消融研究)。

  首先,我们考虑只使用单模态变换器(即只使用语言、音频或视觉)的性能。我们发现,语言变换器的性能比其他两种变换器要好得多。例如,对于 A c c 2 h Acc_2^h Acc2h指标,在比较仅有音频和仅有语言的单模态转化器时,该模型从65.6提高到77.4。这一事实与之前工作中的观察结果一致(Pham等人,2019),作者发现一个好的语言网络在推理时已经可以达到良好的性能。

  其次,我们考虑:

  1. 一个晚期融合的转化器,该转化器的特征是将三个自注意转化器的最后一个元素串联起来;
  2. 一个早期融合的自注意转化器,该转化器接纳了三个异步序列的时间串联 [ X ^ L , X ^ V , X ^ A ] , ∈ R ( T L + T V + T A ) × d q [ \hat X_L, \hat X_V , \hat X_A] ,∈R^{(T_L+T_V+T_A)×d_q} [X^L,X^V,X^A]R(TL+TV+TA)×dq(见3.2节)。从经验上看,我们发现EF-和LF-变换器(融合了多模态信号)都优于单模态变换器。

  最后,我们根据目标模态(即使用 [ V , A → L ] 、 [ L , A → V ] [V, A → L]、[L, A → V] [V,AL][L,AV] [ L , V → A ] [L, V → A] [L,VA]网络)研究各个跨模态变换器的重要性。如表4所示,我们发现跨模态注意力模块在未对齐的CMU-MOSEI上的大多数指标都比晚期和早期融合的转化器模型有持续的改善。特别是,在三个跨模态转化器中,以语言(L)为目标模态的转化器效果最好。

  我们还额外研究了在跨模态注意力区块中适应中间层次而不是源模态的低层次特征的效果(类似于NMT编码器-解码器架构,但没有自我注意力;见第3.1节)。虽然MulT利用中间层次的特征仍然优于其他消融环境中的模型,但我们根据经验发现,从低层次的特征进行适应效果最好。这些消融表明,跨模态注意具体有利于MulT更好地表征学习。


4.4 定性分析

  为了理解跨模态注意力在为不一致的多模态数据建模时是如何工作的,我们根据经验通过可视化的注意力激活来检查MulT捡到什么样的信号。

图6:CMUMOSEI上[V→L]跨模态转换器第3层的跨模态注意权重样本的可视化。我们发现跨模态注意力已经学会了将某些有意义的词(如 “movie”、“disappointing”)与较强的视觉信号(通常是较强的面部动作或表情变化)的片段相关联,尽管原始 L / V L/V L/V序列之间缺乏对齐。请注意,由于时间上的卷积,每个文本/视觉特征都包含了附近元素的表示。

  图6显示了MulT的 V → L V→L VL网络第3层的跨模态注意矩阵的一个例子(原始矩阵的维度是 T L × T V T_L×T_V TL×TV;图中显示了与该矩阵的大约6秒短窗口相对应的注意)。我们发现,跨模态的注意力已经学会了关注跨越两种模态的有意义的信号。例如,对那些倾向于暗示情绪的词语(如 “电影”、“令人失望”)和视频中剧烈的面部表情变化(上述视觉序列的开始和结束)的交集给予了更强的关注。这一观察主张MulT相对于传统排列组合的上述优势之一(见第3.3节):跨模式注意使MulT能够直接捕捉潜在的长距离信号,包括注意矩阵上的那些对角线。


5 讨论

  本文中,我们提出了用于分析人类多模态语言的多模态转换器(MulT)。MulT的核心是跨模态注意机制,它提供了一个潜在的跨模态适应,通过直接注意其他模态的低层次特征来融合多模态信息。之前的方法主要集中在对齐的多模态流上,而MulT作为一个强大的基线,能够捕捉到长距离的突发事件,而不考虑对齐的假设。经验表明,与先前的方法相比,MulT表现出最好的性能。

  我们相信,MulT在未对齐的人类多模态语言序列上的结果为其未来的应用提供了许多令人兴奋的可能性(例如,视觉问题回答任务,其中输入信号是静态和时间演变信号的混合物)。我们希望MulT的出现能够鼓励人们进一步探索那些曾经被认为是必要的、但跨模态注意可能是一个同样(如果不是更)有竞争力的选择的任务。


鸣谢

  这项工作得到了DARPA HR00111990016、AFRL FA8750-18-C-0014、NSF IIS1763562的部分支持。


References

Jimmy Lei Ba, Jamie Ryan Kiros, and Geoffrey E Hinton. 2016. Layer normalization. arXiv preprint arXiv:1607.06450.

Alexei Baevski and Michael Auli. 2019. Adaptive input representations for neural language modeling. In International Conference on Learning Representations (ICLR).

Carlos Busso, Murtaza Bulut, Chi-Chun Lee, Abe Kazemzadeh, Emily Mower, Samuel Kim, Jeannette N Chang, Sungbok Lee, and Shrikanth S Narayanan. 2008. Iemocap: Interactive emotional dyadic motion capture database. Language resources and evaluation, 42(4):335.

Mia Xu Chen, Orhan Firat, Ankur Bapna, Melvin Johnson, Wolfgang Macherey, George Foster, Llion Jones, Mike Schuster, Noam Shazeer, Niki Parmar,Ashish V aswani, Jakob Uszkoreit, Lukasz Kaiser,Zhifeng Chen, Y onghui Wu, and Macduff Hughes.2018. The best of both worlds: Combining recent advances in neural machine translation. In ACL.

Zihang Dai, Zhilin Y ang, Yiming Y ang, William W Cohen, Jaime Carbonell, Quoc V Le, and Ruslan Salakhutdinov. 2018. Transformer-xl: Language modeling with longer-term dependency.

Gilles Degottex, John Kane, Thomas Drugman, Tuomo Raitio, and Stefan Scherer. 2014. Covarepa collaborative voice analysis repository for speech technologies. In ICASSP. IEEE.

Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.

Sri Harsha Dumpala, Rupayan Chakraborty, and Sunil Kumar Kopparapu. 2019. Audio-visual fusion for sentiment classification using cross-modal autoencoder. NIPS.

Paul Ekman. 1992. An argument for basic emotions.Cognition & emotion, 6(3-4):169–200.

Paul Ekman, Wallace V Freisen, and Sonia Ancoli.1980. Facial signs of emotional experience. Journal of personality and social psychology, 39(6):1125.

Kathleen R Gibson, Kathleen Rita Gibson, and Tim Ingold. 1994. Tools, language and cognition in human evolution. Cambridge University Press.

Alex Graves, Santiago Fernández, Faustino Gomez,and Jürgen Schmidhuber. 2006. Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks. In ICML.

Y ue Gu, Kangning Y ang, Shiyu Fu, Shuhong Chen,Xinyu Li, and Ivan Marsic. 2018. Multimodal affective analysis using hierarchical attention strategy with word-level alignment. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. Association for Computational Linguistics.

iMotions. 2017. Facial expression analysis.

Angeliki Lazaridou, Nghia The Pham, and Marco Baroni. 2015. Combining language and vision with a multimodal skip-gram model. arXiv preprint arXiv:1501.02598.

Paul Pu Liang, Ziyin Liu, Amir Zadeh, and LouisPhilippe Morency. 2018. Multimodal language analysis with recurrent multistage fusion. EMNLP.

Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Y u, Bing Xiang, Bowen Zhou, and Y oshua Bengio. 2017. A structured self-attentive sentence embedding. arXiv preprint arXiv:1703.03130.

Christopher D. Manning, Mihai Surdeanu, John Bauer,Jenny Finkel, Prismatic Inc, Steven J. Bethard, and David Mcclosky. 2014. The stanford corenlp natural language processing toolkit. In In ACL, System Demonstrations.

Jiquan Ngiam, Aditya Khosla, Mingyu Kim, Juhan Nam, Honglak Lee, and Andrew Y Ng. 2011. Multimodal deep learning. In Proceedings of the 28th international conference on machine learning (ICML11), pages 689–696.

Ankur P Parikh, Oscar Täckström, Dipanjan Das, and Jakob Uszkoreit. 2016. A decomposable attention model for natural language inference. arXiv preprint arXiv:1606.01933.

Jeffrey Pennington, Richard Socher, and Christopher Manning. 2014. Glove: Global vectors for word representation. In Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP), pages 1532–1543.

Hai Pham, Paul Pu Liang, Thomas Manzini, LouisPhilippe Morency, and Barnabas Poczos. 2019.Found in translation: Learning robust joint representations by cyclic translations between modalities.AAAI.

Soujanya Poria, Erik Cambria, Devamanyu Hazarika,Navonil Majumder, Amir Zadeh, and Louis-Philippe Morency. 2017. Context-dependent sentiment analysis in user-generated videos. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (V olume 1: Long Papers), volume 1, pages 873–883.

Peter Shaw, Jakob Uszkoreit, and Ashish V aswani.2018. Self-attention with relative position representations.

Imran Sheikh, Sri Harsha Dumpala, RupayanChakraborty, and Sunil Kumar Kopparapu. 2018.Sentiment analysis using imperfect views from spoken language and acoustic modalities. In Proceedings of Grand Challenge and Workshop on Human Multimodal Language (Challenge-HML),pages 35–39.

Nitish Srivastava and Ruslan R Salakhutdinov. 2012.Multimodal learning with deep boltzmann machines. In Advances in neural information processing systems, pages 2222–2230.

Emma Strubell, Patrick V erga, Daniel Andor,David Weiss, and Andrew McCallum. 2018.Linguistically-informed self-attention for semantic
role labeling. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 5027–5038. Association for
Computational Linguistics.

Gongbo Tang, Mathias Müller, Annette Rios, and Rico Sennrich. 2018. Why self-attention? a targeted evaluation of neural machine translation architectures.arXiv preprint arXiv:1808.08946.

Y ao-Hung Hubert Tsai, Paul Pu Liang, Amir Zadeh,Louis-Philippe Morency, and Ruslan Salakhutdinov.2019. Learning factorized multimodal representations. ICLR.

Ashish V aswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Advances in Neural Information Processing Systems, pages 5998–6008.

Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. 2018. Non-local neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 7794–7803.

Y ansen Wang, Ying Shen, Zhun Liu, Paul Pu Liang,Amir Zadeh, and Louis-Philippe Morency. 2019.Words can shift: Dynamically adjusting word representations using nonverbal behaviors. AAAI.

Lei Y u, Jan Buys, and Phil Blunsom. 2016. Online segment to segment neural transduction. arXiv preprint arXiv:1609.08194.

Jiahong Y uan and Mark Liberman. 2008. Speaker identification on the scotus corpus. Journal of the Acoustical Society of America, 123(5):3878.

Amir Zadeh, Paul Pu Liang, Navonil Mazumder,Soujanya Poria, Erik Cambria, and Louis-Philippe Morency. 2018a. Memory fusion network for multiview sequential learning. In Thirty-Second AAAI Conference on Artificial Intelligence.

Amir Zadeh, Rowan Zellers, Eli Pincus, and LouisPhilippe Morency. 2016. Multimodal sentiment intensity analysis in videos: Facial gestures and verbal messages. IEEE Intelligent Systems, 31(6):82–88.

AmirAli Bagher Zadeh, Paul Pu Liang, Soujanya Poria, Erik Cambria, and Louis-Philippe Morency.2018b. Multimodal language analysis in the wild:Cmu-mosei dataset and interpretable dynamic fusion graph. In ACL.


附录


A Positional Embedding

  一个位置嵌入 一个纯粹的基于注意力的变压器网络是顺序不变的。换句话说,改变输入序列的顺序并不能改变转化器的行为或改变其输出。解决这个弱点的一个办法是将位置信息嵌入隐藏单元(Vaswani等人,2017)。

  按照(Vaswani等人,2017),我们通过sin和cos函数对长度为T的序列的位置信息进行编码,频率由特征指数决定。特别是,我们将一个序列 X ∈ R T × d X∈R^{T×d} XRT×d(其中 T T T是长度)的位置嵌入(PE)定义为一个矩阵,其中。
P E [ i , 2 j ] = s i n ( i 1000 0 2 j d ) P E [ i , 2 j + 1 ] = c o s ( i 1000 0 2 j d ) \begin{align*} PE[i,2j]&=sin({i \over {10000^{{2j} \over d}}})\\ PE[i,2j+1]&=cos({i \over {10000^{{2j} \over d}}}) \end{align*} PE[i,2j]PE[i,2j+1]=sin(10000d2ji)=cos(10000d2ji)

  对于 i = 1 , . . . , T i = 1, . . . , T i=1,...,T j = 0 , ⌊ d 2 ⌋ {\rm{ }}j{\rm{ }} = {\rm{ }}0,{\rm{ }}\left\lfloor {{d \over 2}} \right\rfloor j=0,2d。因此,PE的每个特征维度(即列)都是表现为正弦波模式的位置值。一旦计算出来,位置嵌入被直接添加到序列中,这样 X + P E X+PE X+PE就会在每个时间步骤中编码元素的位置信息。


B Connectionist Temporal Classification

  Connectionist Temporal Classification (CTC) (Graves et al, 2006) 首次被提出用于无监督的语音到文本对齐。特别是,CTC经常与递归神经网络的输出相结合,这使得模型能够在没有监督的情况下进行端到端的训练,并同时推断出语音-文本对齐。
为了便于解释,假设CTC模块现在的目标是将长度为6的音频信号序列 [ a 1 , a 2 , a 3 , a 4 , a 5 , a 6 ] [a_1, a_2, a_3, a_4, a_5, a_6] [a1,a2,a3,a4,a5,a6]对准长度为5的文本序列 “我真的很高兴”。 在这个例子中,我们将音频称为源信号,文本称为目标信号,注意到源和目标之间的序列长度可能不同;我们还看到,输出序列可能有重复的元素(即,“真的”)。我们使用的CTC(Graves et al, 2006)模块包括两个部分:对齐预测器和CTC损失。

  首先,对齐预测器通常被选为一个递归网络,如LSTM,它在源序列上执行,然后输出目标序列中唯一的词的可能性以及一个空词(即 x x x)。在我们的例子中,对于每个单独的音频信号,对齐预测器提供了一个长度为5的向量,关于被对齐为[ x , ′ I ′ , ′ a m ′ , ′ r e a l l y ′ , ′ h a p p y ′ x, 'I', 'am', 'really', 'happy' x,I,am,really,happy]的概率。

  接下来,CTC损失考虑的是只对准预测器输出的适当对数的负可能性损失。在我们的例子中,适当的对齐方式可以是这样的结果:

  1. [x, ‘I’, ‘am’, ‘really’, ‘really’, ‘happy’];
  2. [‘I’, ‘am’, x, ‘really’, ‘really’, ‘happy’];
  3. [‘I’, ‘am’, ‘really’, ‘really’ , ‘happy’] 。
  4. [‘我’,‘我’,‘我’,‘真的’,‘真的’,‘快乐’]

   同时,次优/失败情况的一些例子是

  1. [x,x,‘我’,‘真的’,‘真的’,‘快乐’] 。
  2. [‘I’, ‘am’, ‘I’, ‘really’, ‘really’, ‘happy’];
  3. [‘I’, ‘am’, x, ‘really’, x, ‘happy’]

  当CTC损失最小时,意味着源信号与目标信号正确对齐了。

  总而言之,在采用CTC模块的实验中,我们在最小化CTC损失的同时训练对齐预测器。然后,排除空白词的概率,我们将对齐预测器的概率输出与源信号相乘。因此,源信号就会产生一个伪对齐的目标信号。在我们的例子中,音频信号随后被转化为序列长度为5的音频信号[ a 1 ′ , a 2 ′ , a 3 ′ , a 4 ′ , a 5 ′ a'_1, a'_2, a'_3, a'_4, a'_5 a1,a2,a3,a4,a5],它被伪对齐为[’I’, ’am’, ’really’, ’really’, ’happy’]。


C 超参数

  表5显示了我们在人类多模态语言任务中训练的各种MulTs的设置。如前所述,为了公平比较,这些模型的大小与先前的工作大致相同。对于超参数,如辍学率和跨模态注意模块的头数,我们进行了基本的网格搜索。当验证性能趋于平稳时,我们将学习率递减10倍。


D 特征

  多模态数据集的特征被提取如下。

  • 语言。我们将视频成绩单转换成预先训练好的Glove词嵌入(glove.840B.300d)(Pennington等人,2014)。该嵌入是一个300维的向量。
  • 视觉。我们使用Facet(iMotions,2017)来表示35个面部动作单元,它记录了面部肌肉运动(Ekman et al,1980;Ekman,1992),用于表示每帧基本和高级情绪。
  • 音频。我们使用COV AREP(Degottex等人,2014)来提取低层次的声音特征。该特征包括12个频谱系数(MFCCs)、音调跟踪和声调/非声调分割特征、声门源参数、峰值斜率参数和最大分散商数。特征的维度为74。。
"Structure-Aware Transformer for Graph Representation Learning"是一篇使用Transformer模型进行图表示学习的论文。这篇论文提出了一种名为SAT(Structure-Aware Transformer)的模型,它利用了图中节点之间的结构信息,以及节点自身的特征信息。SAT模型在多个图数据集上都取得了非常好的结果。 以下是SAT模型的dgl实现代码,代码中使用了Cora数据集进行示例: ``` import dgl import numpy as np import torch import torch.nn as nn import torch.nn.functional as F class GraphAttentionLayer(nn.Module): def __init__(self, in_dim, out_dim, num_heads): super(GraphAttentionLayer, self).__init__() self.num_heads = num_heads self.out_dim = out_dim self.W = nn.Linear(in_dim, out_dim*num_heads, bias=False) nn.init.xavier_uniform_(self.W.weight) self.a = nn.Parameter(torch.zeros(size=(2*out_dim, 1))) nn.init.xavier_uniform_(self.a.data) def forward(self, g, h): h = self.W(h).view(-1, self.num_heads, self.out_dim) # Compute attention scores with g.local_scope(): g.ndata['h'] = h g.apply_edges(fn.u_dot_v('h', 'h', 'e')) e = F.leaky_relu(g.edata.pop('e'), negative_slope=0.2) g.edata['a'] = torch.cat([e, e], dim=1) g.edata['a'] = torch.matmul(g.edata['a'], self.a).squeeze() g.edata['a'] = F.leaky_relu(g.edata['a'], negative_slope=0.2) g.apply_edges(fn.e_softmax('a', 'w')) # Compute output features g.ndata['h'] = h g.update_all(fn.u_mul_e('h', 'w', 'm'), fn.sum('m', 'h')) h = g.ndata['h'] return h.view(-1, self.num_heads*self.out_dim) class SATLayer(nn.Module): def __init__(self, in_dim, out_dim, num_heads): super(SATLayer, self).__init__() self.attention = GraphAttentionLayer(in_dim, out_dim, num_heads) self.dropout = nn.Dropout(0.5) self.norm = nn.LayerNorm(out_dim*num_heads) def forward(self, g, h): h = self.attention(g, h) h = self.norm(h) h = F.relu(h) h = self.dropout(h) return h class SAT(nn.Module): def __init__(self, in_dim, hidden_dim, out_dim, num_heads): super(SAT, self).__init__() self.layer1 = SATLayer(in_dim, hidden_dim, num_heads) self.layer2 = SATLayer(hidden_dim*num_heads, out_dim, 1) def forward(self, g, h): h = self.layer1(g, h) h = self.layer2(g, h) return h.mean(0) # Load Cora dataset from dgl.data import citation_graph as citegrh data = citegrh.load_cora() g = data.graph features = torch.FloatTensor(data.features) labels = torch.LongTensor(data.labels) train_mask = torch.BoolTensor(data.train_mask) val_mask = torch.BoolTensor(data.val_mask) test_mask = torch.BoolTensor(data.test_mask) # Add self loop g = dgl.remove_self_loop(g) g = dgl.add_self_loop(g) # Define model and optimizer model = SAT(features.shape[1], 64, data.num_classes, 8) optimizer = torch.optim.Adam(model.parameters(), lr=0.005, weight_decay=5e-4) # Train model for epoch in range(200): model.train() logits = model(g, features) loss = F.cross_entropy(logits[train_mask], labels[train_mask]) optimizer.zero_grad() loss.backward() optimizer.step() acc = (logits[val_mask].argmax(1) == labels[val_mask]).float().mean() if epoch % 10 == 0: print('Epoch {:03d} | Loss {:.4f} | Accuracy {:.4f}'.format(epoch, loss.item(), acc.item())) # Test model model.eval() logits = model(g, features) acc = (logits[test_mask].argmax(1) == labels[test_mask]).float().mean() print('Test accuracy {:.4f}'.format(acc.item())) ``` 在这个示例中,我们首先加载了Cora数据集,并将其转换为一个DGL图。然后,我们定义了一个包含两个SAT层的模型,以及Adam优化器。在训练过程中,我们使用交叉熵损失函数和验证集上的准确率来监控模型的性能。在测试阶段,我们计算测试集上的准确率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值