Learning Relationships between Text, Audio, and Video via Deep Canonical Correlation for Multimodal Language Analysis
文本提出的模型-交互典型相关网络(ICCN),该模型使用特征对的外积以及深度典型相关分析(DCCA)来生成有用的多模态嵌入特征。
文本特征在情感分析或情感识别任务中通常优于非文本特征,有以下几个原因:
-
文本本身包含更多与情绪相关的信息。
-
视觉或听觉信息有时可能会混淆情感分析任务。例如,“愤怒”和“兴奋”可能有类似地声音表现(高音量和高音调),尽管他们属于相反的情绪。同样的,“悲伤”和“厌恶”可能有不同的视觉特征,尽管他们都属于负面情绪。
-
文本分析的算法有更丰富的历史,并得到了很好的研究。
基于这一观察,学习语言信息和非语言信息之间的隐藏关系是多模式语言分析的一个关键点。这可以通过研究结合多模态特征的不同方式来实现。
将音频和视频特征同时附加到同一文本信息上,可以使非文本信息得到更好的理解,反过来,非文本信息也可以给文本信息带来更大的意义。因此研究基于文本的音频和基于文本的视频特征之间的深层关联是合理的。其中基于文本的音频和基于文本的视频分别是文本与音频的外积和文本与视频的外积。
为了更好的关联基于文本的视频和基于文本的音频,使用典型相关分析(CCA)。然而CCA只能学习线性变化,而深度典型相关分析(DCCA)使用一个深度神经网络来允许CCA处理非线性关系。基于此,本文使用DCCA对基于文本的音频和基于文本的视频进行关联。
在本文提出的模型中,DCCA由两个CNN和CCA层组成,其中CCA层由两个投影和一个CCA损失函数组成。基于文本的音频和基于文本的视频特征经过CNN的处理后输入到CCA层,CNN和投影的权重通过CCA损失函数进行优化。通过训练,两个CNN就可以从外积矩阵中提取有用的特征。
最后,两个CNN的输出的投影与原始文本句子的词嵌入相连接,作为最终的多模态嵌入,可用于情感分析等下游任务。
下面介绍下CCA和DCCA,然后再介绍本文提出的ICCN模型
1、典型相关分析CCA&深度典型相关分析DCCA
CCA是利用综合变量对之间的相关关系来反映两组指标之间的整体相关性的多元统计方法。CCA用于寻找两个输入具有最大关联性的线性子空间。
给定两组向量
X
∈
R
n
1
×
m
X\in R^{n_1\times m}
X∈Rn1×m和
Y
∈
R
n
2
×
m
Y\in R^{n_2\times m}
Y∈Rn2×m,其中
m
m
m表示向量的数量,CAA学习两个线性变换
A
∈
R
n
1
×
r
A\in R^{n_1\times r}
A∈Rn1×r和
B
∈
R
n
2
×
r
B\in R^{n_2 \times r}
B∈Rn2×r,使得
A
T
X
A^TX
ATX和
B
T
Y
B^TY
BTY的相关性达到最大。将
X
X
X和
Y
Y
Y的协方差表示为
S
11
S_{11}
S11和
S
22
S_{22}
S22,
X
X
X和
Y
Y
Y的交叉协方差表示为
S
12
S_{12}
S12。CCA的目标为:
A
∗
,
B
∗
=
arg
max
A
,
B
c
o
r
r
(
A
T
X
,
B
T
Y
)
=
arg
max
A
,
B
A
T
S
12
B
A
T
S
11
A
B
T
S
22
B
A^*,B^*=\mathop{\arg\max}\limits_{A,B}\;corr(A^TX,B^TY)\\=\mathop{\arg\max}\limits_{A,B}\;\frac{A^TS_{12}B}{\sqrt{A^TS_{11}A}\sqrt{B^TS_{22}B}}
A∗,B∗=A,Bargmaxcorr(ATX,BTY)=A,BargmaxATS11ABTS22BATS12B
上述方程的解是固定的,可以用多种方法解决。其中一种方法是让
U
,
S
,
V
T
U,S,V^T
U,S,VT成为矩阵
Z
=
S
11
−
1
2
S
12
S
22
−
1
2
Z=S_{11}^{-\frac{1}{2}}S_{12}S_{22}^{-\frac{1}{2}}
Z=S11−21S12S22−21的奇异值分解(SVD)。那么,
A
∗
,
B
∗
A^*,B^*
A∗,B∗和总的最大典型相关度为:
A
∗
=
S
11
−
1
2
U
B
∗
=
S
22
−
1
2
V
c
o
r
r
(
A
∗
T
X
,
B
∗
T
Y
)
=
t
r
a
c
e
(
Z
T
Z
)
1
2
A^*=S_{11}^{-\frac{1}{2}}U\\B^*=S_{22}^{-\frac{1}{2}}V\\ corr(A^{*T}X,B^{*T}Y)=trace(Z^TZ)^{\frac{1}{2}}
A∗=S11−21UB∗=S22−21Vcorr(A∗TX,B∗TY)=trace(ZTZ)21
CCA的一个限制是它只考虑线性变换。DCCA使用一对神经网络学习非线性变换。让
f
,
g
f,g
f,g表示两个独立的神经网络,DCCA的目标是最优化
f
,
g
f,g
f,g的参数
θ
f
,
θ
g
\theta_f,\theta_g
θf,θg,使
f
f
f和
g
g
g的输出之间的典型相关性,表示为
F
X
=
f
(
X
;
θ
1
)
F_X=f(X;\theta_1)
FX=f(X;θ1)和
F
Y
=
g
(
Y
;
θ
2
)
F_Y=g(Y;\theta_2)
FY=g(Y;θ2),可以通过寻找两个线性变换
C
∗
,
D
∗
C^*,D^*
C∗,D∗使其达到最大化。DCCA的目标是:
θ
f
∗
,
θ
g
∗
=
arg
max
θ
f
,
θ
g
C
C
A
(
F
X
,
F
Y
)
=
arg
max
θ
f
,
θ
g
c
o
r
r
(
C
∗
T
F
X
,
D
∗
T
F
Y
)
\theta_f^*,\theta_g^*=\mathop{\arg\max}\limits_{\theta_f,\theta_g}\;CCA(F_X,F_Y)\\=\mathop{\arg\max}\limits_{\theta_f,\theta_g}\;corr(C^{*T}F_X,D^{*T}F_Y)
θf∗,θg∗=θf,θgargmaxCCA(FX,FY)=θf,θgargmaxcorr(C∗TFX,D∗TFY)
为了更新
f
,
g
f,g
f,g的参数,必须计算出测量典型相关的损失并进行反向传播。设
R
11
,
R
22
R_{11},R_{22}
R11,R22为
F
X
,
F
Y
F_X,F_Y
FX,FY的协方差,
F
X
,
F
Y
F_X,F_Y
FX,FY的交叉协方差为
R
12
R_{12}
R12。设
E
=
R
11
−
1
2
R
12
R
22
−
1
2
E=R_{11}^{-\frac{1}{2}}R_{12}R_{22}^{-\frac{1}{2}}
E=R11−21R12R22−21。则更新
F
X
,
F
Y
F_X,F_Y
FX,FY的典型相关损失可以定义为:
C
C
A
L
o
s
s
=
−
t
r
a
c
e
(
E
T
E
)
1
2
CCA\;Loss=-trace(E^TE)^{\frac{1}{2}}
CCALoss=−trace(ETE)21
网络
f
(
X
;
θ
f
)
,
g
(
Y
;
θ
g
)
f(X;\theta_f),g(Y;\theta_g)
f(X;θf),g(Y;θg)的参数可以通过最小化CCA损失来更新(即最大化总的典型相关)。
2、交互典型相关网络Interaction Canonical Correlation Network(ICCN)
上图为ICCN模型的整体结构,下面介绍该模型的整流流程。
设 H t ∈ R d t H_t\in R^{d_t} Ht∈Rdt为语料级文本特征嵌入(使用BERT和InferSent获得), H v ∈ R d v × l v , H a ∈ R d a × l a H_v\in R^{d_v \times l_v},H_a \in R^{d_a \times l_a} Hv∈Rdv×lv,Ha∈Rda×la为音频和视频的输入序列(使用COVAREP和Facet)。
音频和视频序列传入一维卷积神经网络用于提取音频和视频序列的局部结构,一维卷积神经网络的输出表示为 H a 1 ∈ R d a 1 × l a , H v 1 ∈ R d v 1 × l v H_{a1}\in R^{d_{a1}\times l_a},H_{v1}\in R^{d_{v1}\times l_v} Ha1∈Rda1×la,Hv1∈Rdv1×lv。
然后一维卷积神经网络的输出传入LSTM用于处理音频视频序列,每个LSTM的最终隐藏状态被用作语料级音频和视频特征,表示为 H a 2 ∈ R d a 2 , H v 2 ∈ R d v 2 H_{a2}\in R^{d_{a2}},H_{v2}\in R^{d_{v2}} Ha2∈Rda2,Hv2∈Rdv2。
获得每个模态语料级别的特征后,基于文本的音频特征矩阵和基于文本的视频特征矩阵就可以使用
H
t
,
H
v
2
,
H
a
2
H_t,H_{v2},H_{a2}
Ht,Hv2,Ha2的外积计算得到:
H
t
a
=
H
t
⊗
H
a
2
,
H
t
a
∈
R
d
t
×
d
a
2
H
t
v
=
H
t
⊗
H
v
2
,
H
t
v
∈
R
d
t
×
d
v
2
H_{ta}=H_t \otimes H_{a2},H_{ta}\in R^{d_t \times d_{a2}}\\H_{tv}=H_t\otimes H_{v2},H_{tv}\in R^{d_t \times d_{v2}}
Hta=Ht⊗Ha2,Hta∈Rdt×da2Htv=Ht⊗Hv2,Htv∈Rdt×dv2
为了从外积矩阵中
H
t
a
,
H
t
v
H_{ta},H_{tv}
Hta,Htv中提取有用的特征,使用卷积神经网络作为特征提取器,外积矩阵作为输入传入二维卷积神经网络提取特征,外积矩阵被卷积神经网络重塑为一维向量。然后传入CCA层计算损失,其损失函数为上面定义的典型相关损失:
C
C
A
L
o
s
s
=
−
t
r
a
c
e
(
E
T
E
)
1
2
CCA\;Loss=-trace(E^TE)^{\frac{1}{2}}
CCALoss=−trace(ETE)21
1D-CNN、LSTM和2D-CNN的权重再次使用CCA损失的反向传播进行更新。两个2D-CNNs学习从
H
t
v
H_{tv}
Htv和
H
t
a
H_{ta}
Hta中提取特征,从而使它们的典型相关度达到最大。下面是整个交互典型相关网络(ICCN)的伪代码。
ICCN方法是一个特征提取器。为了测试其性能,还需要一个额外的下游分类器。获得了文本、视频和音频的单模态特征,就可以用ICCN用来学习基于文本的音频特征 K t a K_{ta} Kta和基于文本的视频特征 K t v K_{tv} Ktv。最终的多模态嵌入为基于文本的音频、原始文本和基于文本的视频特征的串联,表示为 [ K t a ; H t ; k t v ] [K_{ta};H_t;k_{tv}] [Kta;Ht;ktv]。 [ K t a ; H t ; K t v ] [K_{ta};H_t;K_{tv}] [Kta;Ht;Ktv]就可以作为下游分类器的输入,如逻辑回归或多层感知器,进而完成多模态情感分析的任务。
实验
在CMU-MOSI和CMU-MOSEI的结果(情感分析):
在IEMOCAP的结果(情绪识别):