整理了Learning to Balance the Learning Rates Between Various Modalities via Adaptive Tracking Factor 论文的阅读笔记
背景
具有更丰富信息内容的多模态网络应始终优于单峰网络。然而,在实验中并非总是如此,这种违反直觉的下降背后的主要原因之一是由异质性导致的模态之间的收敛行为的不一致性。多模态任务的现有努力主要倾向于为所有模态设计一个统一的优化算法,但只能获得一个次优的多模态表示与欠优化的单峰表示的融合。
本文提出通过动态平衡各种模态的学习率来解耦单峰和多模态网络的学习过程,从而可以获得针对每种模态的特定于模态的优化算法。具体来说,通过引入自适应跟踪因子(ATF)来实时调整每个模态的学习率。此外,提出自适应收敛均衡(ACE)和双层定向优化(BDO)均衡和更新ATF,避免由于过拟合或欠拟合导致的次优单峰表示。
方法
本文的下游任务是多模态情感分析,包含视觉、音频和文本三个模态,模型的整体结构如图二:
算法
传统的多模态网络可以被公式化为:
x
m
=
F
m
(
u
m
;
θ
m
)
,
m
∈
{
l
,
a
,
v
}
x^m=F^m(u^m;\theta^m),m\in\{l,a,v\}
xm=Fm(um;θm),m∈{l,a,v}
y
=
F
f
(
x
l
,
x
a
,
x
v
;
θ
f
)
y=F^f(x^l,x^a,x^v;\theta^f)
y=Ff(xl,xa,xv;θf) 其中,
θ
m
\theta^m
θm是多峰网络参数,
θ
f
\theta^f
θf是单峰网络参数,为了更新这些参数,我们有以下公式:
ℓ
=
∣
∣
y
−
y
g
∣
∣
1
,
(
θ
)
t
+
1
=
(
θ
)
t
−
α
∂
ℓ
∂
(
θ
)
t
\ell=||y-y_g||_1,(\theta)_{t+1}=(\theta)_t-\alpha \frac{\partial \ell}{\partial(\theta)_t}
ℓ=∣∣y−yg∣∣1,(θ)t+1=(θ)t−α∂(θ)t∂ℓ 其中,
y
g
y_g
yg是真值,
α
\alpha
α是学习率。由于模态之间的异质性,相同的优化过程不能确保单峰表示被有效地优化。在本文的算法中,为了确保优化的单峰表示可以被学习,解耦了单峰和多峰网络的学习过程,并动态地平衡了各模态之间的学习速率。单峰学习系统被公式化为:
x
m
=
F
m
(
u
m
;
θ
m
)
,
m
∈
{
l
,
a
,
v
}
x^m=F^m(u^m;\theta^m),m\in\{l,a,v\}
xm=Fm(um;θm),m∈{l,a,v}
y
m
=
C
(
x
m
;
θ
c
)
,
ℓ
1
m
=
∣
∣
y
m
−
y
g
∣
∣
1
y^m=C(x^m;\theta^c),\ell_1^m=||y^m-y_g||_1
ym=C(xm;θc),ℓ1m=∣∣ym−yg∣∣1
(
λ
m
)
t
+
1
=
U
p
d
a
t
e
(
(
λ
m
)
t
,
ℓ
1
m
)
(\lambda_m)_{t+1}=Update((\lambda_m)_t,\ell_1^m)
(λm)t+1=Update((λm)t,ℓ1m)
ℓ
2
m
=
λ
m
⋅
ℓ
1
m
,
λ
m
≥
0
\ell_2^m=\lambda_m\cdot \ell_1^m,\lambda_m\geq0
ℓ2m=λm⋅ℓ1m,λm≥0
(
θ
m
)
t
+
1
=
(
θ
m
)
t
−
α
∂
ℓ
2
m
∂
(
θ
m
)
t
=
(
θ
m
)
t
−
α
⋅
λ
m
∂
ℓ
m
∂
(
θ
m
)
t
(\theta^m)_{t+1}=(\theta^m)_t-\alpha \frac{\partial \ell_2^m}{\partial(\theta^m)_t}=(\theta^m)_t-\alpha\cdot \lambda_m \frac{\partial \ell^m}{\partial(\theta^m)_t}
(θm)t+1=(θm)t−α∂(θm)t∂ℓ2m=(θm)t−α⋅λm∂(θm)t∂ℓm 其中
C
C
C是以
x
m
x_m
xm作为输入并输出单峰决策的单峰分类器网络,并且
ℓ
1
m
\ell_1^m
ℓ1m是单峰预测损失。该方法通过使用单峰预测损失作为反馈信息来动态地平衡学习速率,通过避免每个模态的过拟合和欠拟合来同时优化所有单峰网络。注意,每个模态共享相同的分类器来传递收敛信息。
(
λ
m
)
t
(\lambda_m)_t
(λm)t表示在
t
t
t次更新之后的自适应跟踪因子。多模态网络的定义和更新与传统算法中的相同。考虑到直接优化学习率超参数
α
α
α是困难的,我们引入了自适应跟踪因子
λ
m
λ_m
λm,以调整学习速率。从公式我们可以推断
α
α
α和
λ
m
λ_m
λm实际上起着相同的作用。因此,每个模态的学习速率可以通过
λ
m
λ_m
λm来调整,并且我们定义
G
m
=
α
⋅
λ
m
Gm = α · λ_m
Gm=α⋅λm为模态
m
m
m的“广义学习速率”。
更新
λ
m
λ_m
λm的一种简单方法是SGD:
(
λ
m
)
t
+
1
=
(
λ
m
)
t
−
α
a
t
f
⋅
∂
ℓ
2
m
∂
(
θ
m
)
t
=
(
λ
m
)
t
−
α
a
t
f
ℓ
1
m
(\lambda_m)_{t+1}=(\lambda_m)_t-\alpha_{atf}\cdot \frac{\partial \ell_2^m}{\partial(\theta^m)_t}\\=(\lambda_m)_t-\alpha_{atf}\ell_1^m
(λm)t+1=(λm)t−αatf⋅∂(θm)t∂ℓ2m=(λm)t−αatfℓ1m 然而,这与我们原则相矛盾:为了确保模态之间的同时收敛并学习更优化的单模态表示,应该为损失较低的模态分配较低的学习率,以减少单一模态的过拟合或欠拟合。在上述公式中,较低的损失对应较高的
λ
m
λ_m
λm,这违反了上述原则。为了确保模态之间的同步收敛并学习更优化的单峰表示,具有较低损失的模态应该被分配比其对应物更低的学习率,以减少单一模态的过拟合或欠拟合。本文提出了自适应收敛均衡(ACE)和双层方向优化(BDO)。
ACE重新表述上述优化公式,并拟合同时收敛的原则:
(
λ
m
)
t
+
1
=
(
λ
m
)
t
+
α
a
t
f
⋅
ℓ
1
m
(\lambda_m)_{t+1}=(\lambda_m)_t+\alpha_{atf}\cdot \ell_1^m
(λm)t+1=(λm)t+αatf⋅ℓ1m 由于
ℓ
1
m
\ell_1^m
ℓ1m的非负性质,会导致
λ
m
\lambda_m
λm越来越大,因此本文又设计了一个均衡算法,在每个时间步长重新分配λm的模态:
λ
t
o
t
a
l
=
∑
m
∈
M
(
λ
m
)
t
+
1
,
M
=
l
,
a
,
v
(
λ
m
)
t
+
1
′
=
(
λ
m
)
t
+
1
λ
t
o
t
a
l
,
m
∈
l
,
a
,
v
\lambda_{total}=\sum_{m\in M}(\lambda_m)_{t+1},M={l,a,v}\\(\lambda_m)'_{t+1}=\frac{(\lambda_m)_{t+1}}{\lambda_{total}},m\in{l,a,v}
λtotal=m∈M∑(λm)t+1,M=l,a,v(λm)t+1′=λtotal(λm)t+1,m∈l,a,v 其中
(
λ
m
)
t
+
1
(\lambda_m)_{t+1}
(λm)t+1是重新分配的
λ
m
)
\lambda_m)
λm)。
λ
m
\lambda_m
λm在时间上不再是单调递增的函数,从而保证了目标函数的有效收敛。
为了解决目标函数移位问题,本文设计了BDO(双层定向优化)算法对
λ
m
\lambda_m
λm进行定向更新,并保证
λ
m
\lambda_m
λm更新后
ℓ
1
m
\ell_1^m
ℓ1m能够得到有效优化,具体如算法1:
BDO是一个两跳算法,这就是为什么称之为“双层”。具体来说,在第一跳中,我们需要得到一个初步的
(
λ
m
)
t
+
1
(\lambda_m)_{t+1}
(λm)t+1,并按照常规的更新程序更新模型参数。在第二跳中,我们给更新的模型提供相同的输入
u
m
u_m
um,并计算更新的单峰预测损失
(
ℓ
1
m
)
t
+
1
(\ell_1^m)_{t+1}
(ℓ1m)t+1。然后我们引入
Δ
ℓ
1
m
Δ\ell_1^m
Δℓ1m,通过算法1中的公式14得到
(
λ
m
)
t
+
1
′
(\lambda_m)_{t+1}'
(λm)t+1′,将
ℓ
1
m
\ell_1^m
ℓ1m的方向和值的变化带入
λ
m
\lambda_m
λm的更新过程,这就是“方向”的含义。
实验
MOSEI数据集:一个情感分类数据集,由来自1000多个YouTube身份和200多个主题的22777个视频话语组成。情绪得分的强度范围在[-3,3]之间。MOSI数据集:也是一个情感分类数据集,包含2199个视频剪辑。MOSI和MOSEI的结果分别见表1和表2:
本文的方法在许多指标上产生最佳结果。本文的方法与两个单模态系统进行比较的结果见图1。从表1中,我们可以推断ACE和BDO的表现都明显优于单模态系统,表明我们的方法可以更好地整合来自三种模态的信息。
单峰损失的比较:在实践中,当
λ
m
\lambda_m
λm被移除时,我们观察到语言、听觉和视觉的损失分别为0.637、0.817和0.831。通过比较,BDO算法得到三种模态的单峰损失分别为0.624、0.816和0.808。ACE的单峰损失分别为0.630、0.816和0.805。与不含
λ
m
\lambda_m
λm的算法相比,我们的算法获得了更低的单峰损失,这表明我们的算法在三种模态上更接近收敛,更优化。