知识引导动态模态注意力融合框架在多模态情感分析中的应用
知识引导动态模态注意力融合框架在多模态情感分析中的应用
多模态情感分析(MSA)利用多模态数据来推断用户的情感。以前的方法侧重于平等对待每种模态的贡献,或者静态地使用文本作为主导模态来进行互动,这忽略了每种模态可能成为主导的情况。本文提出了一种用于多模态情感分析的知识引导动态模态注意力融合框架(KuDA)。KuDA使用情感知识来指导模型动态选择主导模态并调整每种模态的贡献。此外,通过获得的多模态表示,该模型可以通过相关性评估损失进一步突出主导模态的贡献。
方法
图1:KuDA的整体工作流程
总体框架
具体来说,KuDA首先从原始多模态输入中提取单模态低级特征。然后,适配器和编码器同时提取单模态高级特征并学习情感知识。作者利用解码器预测单模态情感,并将其转换为情感比率,以指导动态融合。接下来,作者设计了一个动态注意力融合模块,该模块根据不同的场景选择主导模态,并根据情感比率和知识表示动态调整注意力权重。最后,通过多层感知器(MLP)使用多模态表示来执行MSA任务,并估计与知识表示的相关性。
此外,为了指导模型通过情感知识调整注意力权重,KuDA采用了两阶段训练方法。
问题定义和符号
在MSA任务中,输入数据由文本((t))、视觉((v))和音频((a))模态组成。三种模态的序列表示为三元组((I_t,I_v,I_a)),包括(I_t \in \mathbb{R}^{T_t \times d_t},I_v \in \mathbb{R}^{T_v \times d_v},I_a \in \mathbb{R}^{T_a \times d_a}),其中(T_m,m \in {t,v,a})是序列长度,(d_m)代表向量维数。预测是情绪得分(\hat{y})它是范围在([-1,1])和([-3,3])之间的离散值。大于、等于和小于0的值分别表示积极、中性和消极。
知识注入编码
作者分别通过的编码器和适配器将每个模态(I_{m \in {t,v,a}})输入编码为全局语义表示(H_m \in \mathbb{R}^{T_m \times d_m})和知识情感表示(K_m \in \mathbb{R}^{T_m \times d_m})。
全局语义表示。对于文本模态,为了有效地从低级到高级提取文本语义信息,促进后续知识注入适配器,作者使用BERT(Kenton和Toutanova,2019)对输入句子(I_t)进行编码,并提取最后一层的隐藏状态作为全局语义表示(H_t):
图2:BERT、transformer编码、适配器及其连接的架构。垂直的灰色矩形表示transformer编码器层,Down FC和Up FC表示用于减小和增大维度的全连接层(FC)。
其中(O_t)表示除最后一层之外的隐藏状态。与文本模态类似,对于视觉和音频模态,我们使用堆叠的transformer编码器层来捕获全局语义表示(H_m,m \in {v,a}):
由于获得的(O_m,m \in {t,v,a})主要包括一般知识,因此将它们输入到适配器中以注入情感信息。
知识情感表征。由于适配器通常用于增强预训练语言模型的知识认知,作者使用它来注入单模态情感知识。在KuDA中,适配器插入编码器外部,并堆叠有相同的块。作者将视觉和音频模态的每个 transformer编码器层连接到适配器。为了防止信息冗余,作者选择BERT中间层的一部分与适配器进行连接。对于第一个适配器块,我们将单模态特征(I_{m \in {t,v,a}})作为输入之一。适配器的输出表示为知识情感表示(K_{m \in {t,v,a}}):
其中(\theta_m^{Adapter})表示(m)模态适配器的预训练参数。
单模态情绪得分。作者将上述两种表示结合起来,得到每种模态(U_m,m \in {t,v,a})的知识增强表示。然后,作者使用这种表示来预测由MLP组成的解码器的单模态情感得分(\hat{y}_m):
其中([\cdot;\cdot])表示concatenation操作,由于单模态和多模态情绪得分之间的差异可以指示相应模态提供的有效信息量,因此作者使用情绪得分(\hat{y}_m):来进一步指导注意力权重。
动态注意力融合
单模态情感比率
由于单模态(y_m)和多模态(y)情感得分差异与单峰的权重成反比,作者选择反比函数(exp(-kx))和归一化操作,并利用(MSA y)的真实值在训练过程中将单模态情感得分(\hat{y}_m)转换为为情感比(R_m,m \in {t,v,a}),以指导后续的动态融合:
图3:单模态情感比率转换函数
其中(k)表示函数的斜率,可以缩放情感比率。由于模型在训练过程中有效地学习了如何调整模态之间的贡献,作者在测试阶段将情绪比率固定为1,以突出模型调整权重的能力。
动态注意力块
为了统一用于多模态融合的单模态知识增强表示(U_m \in \mathbb{R}^{T_m \times 2d_m})的长度和维度轴,作者利用三个投射获得每个模态(\overline{U}_m,m \in {t,v,a})的更新知识增强表示。此外,由于文本、视觉和音频模态中的任何一个或多个可能成为主导模态,作者首先将获得的表示(\overline{U}_m)相加作为第一动态注意力块(F^0)的输入:
单个动态注意力块的架构。紫色、绿色和橙色分别表示多模式表示与文本、视觉和音频模式的交互。
其中(Projector_m)由两个线性层组成,(T_f)和(d_f)表示融合阶段的长度和尺寸。
然后,作者堆叠动态注意力块以形成一个管道。同时,作者利用先前块(F^{n-1})的输出、知识增强表示(\overline{U}_m)和情感比(R_m,m \in {t,v,a})作为下一个块的输入,并获得其输出(F^n):
其中DAB是动态注意力块。这是因为表征(\overline{U}_m),具有更丰富的情感线索,情感比率(R_m)可以指示每种模态的贡献。最后,作者将最后一个块的输出作为最终的多模态表示(F^L \in \mathbb{R}^{T_f \times d_f}),并使用它来执行MSA任务。
图4:动态注意力块架构
为了调整每种模态的权重,作者设计了一个动态注意力块。具体来说,作者首先引入跨模态注意(CAttn),它通过捕获单模态表示(\overline{U}_m,m\in {t,v,a})和多模态表示(F^{n-1})。由于注意力的(Q),用于指定注意力的位置,我们将多模态特征视为(Q),将单模态特征视为(K)和(V),并执行层范数((LN)):
接下来,由于情感比(R_m)可以进一步指导动态融合,作者将其与中间表示(\tilde{F}^n_{m \rightarrow f}m \in {t,v,a})。然后,作者将获得的表示和输入(F^{n-1})的多模态表示相加,以微调不同模态的贡献:
最后,作者将(F^n_f)输入多头注意力和前馈神经网络,得到动态注意力块(F^n \in \mathbb{R}^{T_f \times d_f})的输出。
输出和训练目标
为了进一步提高主模态的利用率,作者通过对比预测编码估计多模态表示(F^L)和单模态表示(\overline{U}m,m\in {t,v,a})的相关性,并将其整合到噪声对比估计框架中,形成相关性估计((CE))损失(L{cor}):
在输出中,作者将表示(F^L)输入到(MLP)中,以预测情绪得分(\hat{y})。给定预测(\hat{y})和地面真值(y),作者通过平均绝对误差计算(MSA)任务损失(L_{reg})。后,我们通过联合损失训练(KuDA):
其中Mean((\cdot))表示长度轴上的平均操作。(\alpha)是一个平衡不同损失贡献的参数。