MIA-Net:用于多模态情感分析的多模态交互注意力网络

MIA-Net:用于多模态情感分析的多模态交互注意力网络

总括:多模态融合时,首先将多种模态分为主模态与辅助模态,通过构建了一个交互注意力模块,从辅助模态中提取对主模态有帮助的信息进行融合。

(属于特征级基于注意力的融合方式)

文章信息

作者:Shuzhen Li, Tong Zhang

单位:South China University of Technology(华南理工大学)

期刊:IEEE Transactions on Affective Computing

题目:MIA-Net: Multi-Modal Interactive Attention Network for Multi-Modal Affective Analysis

年份:2023

研究目的

探究如何在有限的计算量以及参数条件下,将双模态模型推广到三模态或多模态任务?以及不同模态对情感分析的不同贡献如何解决?

研究内容

提出了一种支持三模态或者多模态的融合模型MIA-Net(多模态交互式注意力网络),用于将主要模态和辅助模态进行融合,并用于情感分析。

研究方法

MIA-Net:用于多模态情感分析的多模态交互注意力网络_第1张图片

这个框架是由单模态特征提取器(Feature Extractor)、N-1个 MIA module、回归器与分类器构成的。

Feature Extractor

对于文本数据:首先利用了一个GPT-2(是一个标记符号化器),将每个文本描述标记为一系列的符号。然后利用RoEBRTa模型去提取文本特征。

对于音频数据:首先利用VQ-Wav2Vec模型,将音频的变长音频表征转换为离散音频表征,然后仍旧是利用RoBERTa模型,从离散的声学表征中提取声学特征。

对于视频数据:首先采用RetinaFace模型,将每个视频帧中的面部区域进行检测与分割。然后根据关键帧的数量,从每个视频中提取视频帧。最后利用Fabnet模型,从提取的视频帧中提取视觉特征。

文本特征维度:1024,声学特征维度:768,视觉特征维度:256

MIA module

MIA-Net:用于多模态情感分析的多模态交互注意力网络_第2张图片

符号表示:

M j n M_{j}^{n} Mjn表示 M n M^n Mn的第 j j j个主模态特征向量, A i n \mathbf{A}_i^n Ain表示 A n A^n An的第 i i i个辅助模态特征向量。

K ( A i n , M j n ) \mathcal{K}(\boldsymbol{A}_i^n,\boldsymbol{M}_j^n) K(Ain,Mjn)代表一般General Linear Kernel,用于计算 S M n A n S_{\boldsymbol{M}^n\boldsymbol{A}^n} SMnAn(代表亲和矩阵)。

P ( S M n A n ) \boldsymbol{P}(\boldsymbol{S}_{\boldsymbol{M}^n\boldsymbol{A}^n}) P(SMnAn)表示交互注意力权重,用于改进主模态表征。

P j i ( S M n A n ) \boldsymbol{P}_{ji}(\boldsymbol{S}_{\boldsymbol{M}^n\boldsymbol{A}^n}) Pji(SMnAn)表示第 i 个辅助模态特征向量对第 j 个主模态特征向量的重要性。

M ^ m ← a n n \hat{\boldsymbol{M}}_{m\gets a^n}^n M^mann表示由辅助模态增强的更新后的主模态特征。


每个MIA module是由提取、转换、融合这三个子模块构成的。MIA module的作用就是从辅助模态中选择重要的特征去改进主模态特征。

Extraction

首先利用一般线性内核去捕捉模态特征之间的相似性,然后就得到了一个亲和矩阵 S M n A n S_{\boldsymbol{M}^n\boldsymbol{A}^n} SMnAn

MIA-Net:用于多模态情感分析的多模态交互注意力网络_第3张图片
k ( x , y ) = x T W y \begin{aligned}k(x,y)=x^{T}Wy\end{aligned} k(x,y)=xTWy
要满足此式,W必须是一个半正定矩阵,半正定矩阵实际上就是一个实对称矩阵。

每个实对称矩阵又可以被分解为正交矩阵。(根据定理 Q = P T Λ P Q=\boldsymbol{P^\mathrm{T}}\boldsymbol{\Lambda P} Q=PTΛP)所以一般线性内核最终的计算公式为:
K ( A i n , M j n ) = ( A i n ) T W n M j n = ( A i n ) T ( P n ) T Λ P n M j n = ( P n A i n ) T Λ ( P n M j n ) . \begin{aligned} \mathcal{K}(\boldsymbol{A}_i^n,\boldsymbol{M}_j^n)& =\left(\boldsymbol{A}_i^n\right)^\mathrm{T}\boldsymbol{W}^n\boldsymbol{M}_j^n \\ &=\left(\boldsymbol{A}_i^n\right)^{\mathrm{T}}(\boldsymbol{P}^n)^{\mathrm{T}}\boldsymbol{\Lambda}\boldsymbol{P}^n\boldsymbol{M}_j^n \\ &=\left(\boldsymbol{P}^n\boldsymbol{A}_i^n\right)^\mathrm{T}\boldsymbol{\Lambda}(\boldsymbol{P}^n\boldsymbol{M}_j^n). \end{aligned} K(Ain,Mjn)=(Ain)TWnMjn=(Ain)T(Pn)TΛPnMjn=(PnAin)TΛ(PnMjn).
在得到亲和矩阵(两种模态之间的相似性)之后,通过编码器AE,将亲和矩阵编码为交互注意力权重 P ( S M n A n ) \boldsymbol{P}(\boldsymbol{S}_{\boldsymbol{M}^n\boldsymbol{A}^n}) P(SMnAn),通过 P ( S M n A n ) \boldsymbol{P}(\boldsymbol{S}_{\boldsymbol{M}^n\boldsymbol{A}^n}) P(SMnAn),去改进主模态的特征。
P ( S M n A n ) = [ P 1 ( S M n A n ) , ⋯   , P j ( S M n A n ) , ⋯   , P d m ( S M n A n ) ] P(S_{\boldsymbol{M}^n\boldsymbol{A}^n})=\left[P_1(S_{\boldsymbol{M}^n\boldsymbol{A}^n}),\cdots,P_j(\boldsymbol{S}_{\boldsymbol{M}^n\boldsymbol{A}^n}),\cdots,P_{dm}(\boldsymbol{S}_{\boldsymbol{M}^n\boldsymbol{A}^n})\right] P(SMnAn)=[P1(SMnAn),,Pj(SMnAn),,Pdm(SMnAn)]

P j ( S M n A n ) = [ P j 1 ( S M n A n ) ⋮ P j i ( S M n A n ) ⋮ P j d u n ( S M n A n A n ) ] = [ e x p ( K ( A 1 n , M j n ) ) ∑ k d a n e x p ( K ( A k n , M j n ) ) ⋮ e x p ( K ( A i n , M j n ) ) ∑ k d a n e x p ( K ( A k n , M j n ) ) ⋮ e x p ( K ( A d a n n , M j n ) ) ∑ k d a n e x p ( K ( A i n , M j n ) ) ] P_j(S_{\boldsymbol{M}^n\boldsymbol{A}^n})=\begin{bmatrix}P_{j1}(S_{\boldsymbol{M}^n\boldsymbol{A}^n})\\\vdots\\P_{ji}(S_{\boldsymbol{M}^n\boldsymbol{A}^n})\\\vdots\\P_{jd_{u^n}}(S_{\boldsymbol{M}^n\boldsymbol{A}^n\boldsymbol{A}^n})\end{bmatrix}=\begin{bmatrix}\frac{exp(\mathcal{K}(\boldsymbol{A}_1^n,\boldsymbol{M}_j^n))}{\sum_k^{d_a\boldsymbol{n}}exp(\mathcal{K}(\boldsymbol{A}_k^n,\boldsymbol{M}_j^n))}\\\vdots\\\frac{exp(\mathcal{K}(\boldsymbol{A}_i^n,\boldsymbol{M}_j^n))}{\sum_k^{d_an}exp(\mathcal{K}(\boldsymbol{A}_k^n,\boldsymbol{M}_j^n))}\\\vdots\\\frac{exp(\mathcal{K}(\boldsymbol{A}_{d_a^n}^n,\boldsymbol{M}_j^n))}{\sum_k^{d_an}exp(\mathcal{K}(\boldsymbol{A}_i^n,\boldsymbol{M}_j^n))}\end{bmatrix} Pj(SMnAn)= Pj1(SMnAn)Pji(SMnAn)Pjdun(SMnAnAn) = kdanexp(K(Akn,Mjn))exp(K(A1n,Mjn))kdanexp(K(Akn,Mjn))exp(K(Ain,Mjn))kdanexp(K(Ain,Mjn))exp(K(Adann,Mjn))

Transform

通过Extraction得到了主模态与辅助模态之间的交互注意力权重 P ( S M n A n ) \boldsymbol{P}(\boldsymbol{S}_{\boldsymbol{M}^n\boldsymbol{A}^n}) P(SMnAn),然后在Transform模块中,将交互注意力权重与辅助模态特征进行矩阵相乘,得到新的主模态特征 M ^ m ← a n n \hat{\boldsymbol{M}}_{m\gets a^n}^n M^mann

然后将这个新的主模态特征,通过自门机制GA进行改进(提取更多的判别特征,并抑制可能存在的噪声特征),得到改进后的主模态特征 M g a t e d n M_{gated}^n Mgatedn
M g a t e d n = M ^ m ← a n n ⋅ G G = σ ( K 1 ⊙ M ^ m ← a n n + b 1 ) M_{gated}^n=\hat{M}_{m\leftarrow a^n}^n\cdot\boldsymbol{G}\\ \boldsymbol{G}=\sigma(\boldsymbol{K}_1\odot\hat{\boldsymbol{M}}_{m\gets a^n}^n+\boldsymbol{b}_1) Mgatedn=M^mannGG=σ(K1M^mann+b1)
⊙ \odot 表示卷积, σ \sigma σ代表logistic sigmoid激活函数,G代表门控系数。 K 1 K_1 K1 b 1 b_1 b1分别代表卷积核与偏置。

Fusion

最后将门改进的主模态特征 M g a t e d n M_{gated}^n Mgatedn,与最初的主模态特征 M n M^n Mn进行融合。得到最终的融合后的模态特征。
M n + 1 = f N ( σ ( K 2 ⊙ [ M g a t e d n : M n ] + b 2 ) ) \boldsymbol{M}^{n+1}=f_N(\sigma(\boldsymbol{K}_2\odot[\boldsymbol{M}_{gated}^n:\boldsymbol{M}^n]+\boldsymbol{b}_2)) Mn+1=fN(σ(K2[Mgatedn:Mn]+b2))
f N ( ⋅ ) f_{N}(\cdot) fN()表示批量归一化函数, [ : ] \left[:\right] [:]表示连接操作


通过多个MIA module堆叠,最终得到通过N个辅助模态增强后的主模态特征。接着通过两个残差连接,得到了经过MIA-Net的最终主模态特征 M ˇ \check{\boldsymbol{M}} Mˇ.

残差连接

第一个残差连接:
M r e s = M 1 + M M I A s = M 1 + f M I A s ( M 1 , A 1 , ⋯   , A N ) \begin{aligned} \boldsymbol{M}_{res}& =\boldsymbol{M}^{1}+\boldsymbol{M}_{MIAs} \\ &=\boldsymbol{M}^1+\boldsymbol{f}_{MIAs}(\boldsymbol{M}^1,\boldsymbol{A}^1,\cdots,\boldsymbol{A}^N) \end{aligned} Mres=M1+MMIAs=M1+fMIAs(M1,A1,,AN)
M M I A S M_{MIAS} MMIAS表示经过多个MIA module改进后的 M 1 M^1 M1的主模态特征。

M r e s M_{res} Mres表示残差主模态特征。

第二个残差连接:
M ˇ = M r e s + f F F N ( M r e s ) \check{M}=M_{res}+f_{FFN}(\boldsymbol{M}_{res}) Mˇ=Mres+fFFN(Mres)
MIA-Net:用于多模态情感分析的多模态交互注意力网络_第4张图片

经过残差连接后的主模态特征 M ˇ \check{M} Mˇ送入Regressor或者Classifier进行最终的情感识别或情感分类。

Regression

回归模型由一个全连接层和一个联合损失构成。

联合损失如下:
L = ( 1 − γ ) L M A E + γ L K R L L M A E = − 1 N ∑ n = 1 N ∣ y ( n ) − z ( n ) ∣ z = θ T M ˇ + b 3 \mathcal{L}=(1-\gamma)\mathcal{L}_{MAE}+\gamma\mathcal{L}_{KRL}\\ \begin{gathered}\mathcal{L}_{MAE}=-\frac1N\sum_{n=1}^N|y^{(n)}-z^{(n)}|\\z=\boldsymbol{\theta}^\mathrm{T}\check{M}+\boldsymbol{b}_3\end{gathered} L=(1γ)LMAE+γLKRLLMAE=N1n=1Ny(n)z(n)z=θTMˇ+b3
L M A E \mathcal{L}_{MAE} LMAE代表平均绝对误差损失。 L K R L \mathcal{L}_{KRL} LKRL代表内核正则化损失( L K R L \mathcal{L}_{KRL} LKRL的用途是求亲和矩阵 S M n A n S_{\boldsymbol{M}^n\boldsymbol{A}^n} SMnAn时,保证 W W W为半正定矩阵)

Classifition

分类模型由一个全连接层、一个Softmax函数和一个联合损失构成。

联合损失如下:
L = ( 1 − γ ) L C E + γ L K R L L C E = − 1 N ∑ n = 1 N y n l o g ( P ( y ^ n ) ) P ( y ^ ) = s o f t m a x ( θ T M ˇ + b 3 ) . \begin{gathered} \mathcal{L}=(1-\gamma)\mathcal{L}_{CE}+\gamma\mathcal{L}_{KRL} \\ \begin{aligned}\mathcal{L}_{CE}=-\frac{1}{N}\sum_{n=1}^Ny_nlog(P(\hat{y}_n))\end{aligned} \\ \begin{aligned}P(\hat{y})=softmax(\boldsymbol{\theta^\mathrm{T}}\check{\boldsymbol{M}}+\boldsymbol{b_3}).\end{aligned} \end{gathered} L=(1γ)LCE+γLKRLLCE=N1n=1Nynlog(P(y^n))P(y^)=softmax(θTMˇ+b3).
L C E \mathcal{L}_{CE} LCE代表标准交叉熵损失。

结论与讨论

  1. 将MIA-Net模型与SOTA的一些模型在CMU-MOSI与CMU-MOSEI数据集上进行对照实验,MIA-NET效果最好。
  2. MIA-Net 在处理三种或三种以上模态的数据时是有效的。(消融研究)
  3. MIA-Net可以推广到新的数据集、任务以及模态上。(通用性研究)
  4. 多模态交互注意力模块能够有效实现辅助融合。(对提出的模态验证)
  5. 对超参数的研究。
  6. 联合损失是有效的。(对损失函数的研究)
  7. 与不同的融合方法进行对比。(证明本研究的实用性)

代码和数据集

代码没有公开

数据集:CMU-MOSI(1.5G),CMU-MOSEI(25G),MELD(10G)

GPU配置:没有提

你可能感兴趣的:(多模态,论文笔记)