【论文】Gan, Zhe, Yen-Chun Chen, Linjie Li, Chen Zhu, Yu Cheng, and Jingjing Liu. Large-Scale
Adversarial Training for Vision-and-Language Representation Learning. (pdf)
What is VILLA
VILLA(Vision-and-Language Large-scale Adversarial training)第一次在跨模态预训练的任务中引入了对抗训练。整个模型框架如下图所示,VILLA 包括两个训练阶段:
- 与任务无关的对抗性训练(APT)
- 特定于任务的对抗性 fine-tunning(AFT)
为什么作者会想到提出这样的 two-stage training 呢?
首先,直观地说,如果能有一个训练得非常好的预训练模型(充分理解了图像和语言之间的联系),那么这个预训练模型和下游的 V&L 任务模型将会产生很好的共鸣
于是,那么现在的问题就是考虑如何增强与任务无关的预训练模型。作者没有在训练任务上做花样,采取了常用的 3 种预训练方法 Masked language modeling、Masked region modeling 和 Image-Text matching 。但是,通过对抗性学习,作者希望在 APT 阶段提高模型的泛化能力,这样就很容易在 AFT 阶段迁移到不同的的任务上得到良好的表现
同时,由于大规模预训练模型的容量巨大,而下游任务中标记的数据量却有限,过于的 fine-tunning 容易陷入过拟合中,所以引入了 AFT 阶段的对抗性学习使得下游任务模型具有更加稳健的表现
下面我们具体说一下作者是怎么加入对抗性学习的
为了在训练时能方便地引入对抗样本,作者建议在每个模态的嵌入空间中进行对抗训练,而不是在图像像素和文本标记上添加对抗性扰动——对于 text modality,在 word embedding 中添加对抗扰动;对于 image modality,直接在提取得到的图像区域特征上添加对抗性扰动,因为我们目标只是提高 V&L 模型的泛化能力,不是生成对抗性图像示例,所以和以往的对抗性学习采取的方式不同
对抗性学习的引入会大大增加计算的消耗,为了实现大规模训练,作者采用 free adversarial training strategy,该方案可以在计算输入梯度时以一种不增加额外开销的方式得到参数梯度。同时,作者还引入了基于 KL 散度的正则化来强制使得预测结果的置信度水平相互接近,这不仅能够提高训练目标的平滑度,在实践也已证明是重要的正则化方法,可有效提高模型性能
下面我们将详细介绍作者在论文中具体工作是如何实现的
Perturbations in the Embedding Space
作者只在 image embedding 和 word embedding 上添加对抗性扰动,对多模态特征的其他内容保持不变,例如图像、文本的位置编码这些都不做扰动
另外,同一时刻只对一个模态添加扰动,记两个模态各自的抵抗性扰动为 δ i m g , δ t x t \delta_{img},\delta_{txt} δimg,δtxt,那么输出预测要是 y ^ = f θ ( x i m g + δ i m g , x t x t ) \hat y=f_\theta(x_{img}+\delta_{img},x_{txt}) y^=fθ(ximg+δimg,xtxt),要么是 y ~ = f θ ( x i m g , x t x t + δ t x t ) \tilde y=f_\theta(x_{img},x_{txt}+\delta_{txt}) y~=fθ(ximg,xtxt+δtxt)。为了保留 embedding 的原始语义, δ i m g \delta_{img} δimg 和 δ t x t \delta_{txt} δtxt 的范数被限制得很小
“Free” Multimodal Adversarial Training
在详细介绍 VILLA 的训练目标之前,我们先按照作者在文中的数学符号简单梳理一下跨模态预训练的内容
记下游任务为 T f \mathcal T_f Tf,对应的数据集 D f \mathcal D_f Df 由 ( x i m g , x t x t , y ) (x_{img}, x_{txt}, y) (ximg,xtxt,y) 构成, y y y 表示数据集的标签,例如在 VQA 中, y y y 表示候选池中的 ground-truth answer;在 VCR 中 y y y 就是四选一的分类标签
于是,pretraining 和 fine-tunning 统一起来的训练任务就可以用如下的公式描述,不同的
y
y
y 实例化了每一个下游任务,其中
θ
\theta
θ 表示学习的参数集在 fine-tunning 中用预训练得到的权重初始化
m
i
n
θ
E
(
x
i
m
g
,
x
t
x
t
,
y
)
∼
D
[
L
(
f
θ
(
x
i
m
g
,
x
t
x
t
)
,
y
)
]
\underset{\theta}{min}\ \mathbb E_{(x_{img},x_{txt},y)\sim\mathcal D}\left[L(f_\theta(x_{img},x_{txt}),y)\right]
θmin E(ximg,xtxt,y)∼D[L(fθ(ximg,xtxt),y)]
现在来看 VILLA 总的训练目标
m
i
n
θ
E
(
x
i
m
g
,
x
t
x
t
,
y
)
∼
D
[
L
s
t
d
(
θ
)
+
R
a
t
(
θ
)
+
α
⋅
R
k
l
(
θ
)
]
\underset{\theta}{min}\ \mathbb E_{(x_{img},x_{txt},y)\sim\mathcal D}\left[\mathcal L_{std}(\theta)+\mathcal R_{at}(\theta)+\alpha\cdot\mathcal R_{kl}(\theta)\right]
θmin E(ximg,xtxt,y)∼D[Lstd(θ)+Rat(θ)+α⋅Rkl(θ)]
对于上面的第一项很清楚,就是传统的跨模态预训练的损失,即
L
s
t
d
(
θ
)
=
L
(
f
θ
(
x
i
m
g
,
x
t
x
t
)
,
y
)
\mathcal L_{std}(\theta)=L(f_\theta(x_{img},x_{txt}),y)
Lstd(θ)=L(fθ(ximg,xtxt),y)
重点关注后面两项, R a t ( θ ) \mathcal R_{at}(\theta) Rat(θ) 表示 label-preserving AT loss, R k l ( θ ) \mathcal R_{kl}(\theta) Rkl(θ) 表示 finer-grained adversarial regularization
R
a
t
(
θ
)
\mathcal R_{at}(\theta)
Rat(θ) 完成了 lebal-preserving 的对抗性攻击,其定义为
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \mathcal R_{at…
其中,
L
L
L 表示对抗性 embedding 上的交叉熵损失。我们使用 Frobenius norm 来限制
δ
i
m
g
\delta_{img}
δimg 和
δ
t
x
t
\delta_{txt}
δtxt
R
k
l
(
θ
)
\mathcal R_{kl}(\theta)
Rkl(θ) 则进一步要求预测结果的置信度水平都十分接近,这些预测结果都是一些在 simplex
Δ
n
\Delta_n
Δn (
n
n
n 是类别数)上的概率向量,具体来说,
R
k
l
(
θ
)
\mathcal R_{kl}(\theta)
Rkl(θ) 定义为
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \mathcal R_{kl…
其中,
L
k
l
(
p
,
q
)
=
K
L
(
p
∣
∣
q
)
+
K
L
(
q
∣
∣
p
)
L_{kl}(p,q)=KL(p||q)+KL(q||p)
Lkl(p,q)=KL(p∣∣q)+KL(q∣∣p)
讲完了训练目标,我们现在来看一下如何求解吧
在优化上,总目标的最小化可以通过 SGD 解决,
R
a
t
\mathcal R_{at}
Rat 的最大化则可以通过 PGD,以
δ
i
m
g
\delta_{img}
δimg 为例,
δ
i
m
g
,
t
+
1
=
Π
∣
∣
δ
i
m
g
∣
∣
≤
ϵ
(
δ
i
m
g
,
t
+
α
g
(
δ
i
m
g
,
t
)
/
∣
∣
δ
i
m
g
,
t
∣
∣
F
)
\delta_{img,t+1}=\Pi_{||\delta_{img}||\leq\epsilon}(\delta_{img,t}+\alpha g(\delta_{img,t})\ /\ ||\delta_{img,t}||_F)
δimg,t+1=Π∣∣δimg∣∣≤ϵ(δimg,t+αg(δimg,t) / ∣∣δimg,t∣∣F)
g
(
δ
i
m
g
,
t
)
=
▽
δ
i
m
g
L
(
f
θ
(
x
i
m
g
+
δ
i
m
g
,
x
t
x
t
)
,
y
)
g(\delta_{img,t})=\triangledown_{\delta_{img}} L(f_\theta(x_{img}+\delta_{img},x_{txt}),y)
g(δimg,t)=▽δimgL(fθ(ximg+δimg,xtxt),y) 表示 损失梯度中相对于
δ
i
m
g
\delta_{img}
δimg 的部分,
Π
∣
∣
δ
i
m
g
∣
∣
≤
ϵ
\Pi_{||\delta_{img}||\leq\epsilon}
Π∣∣δimg∣∣≤ϵ performs a projection onto the
ϵ
\epsilon
ϵ-ball
"Free" AT Strategy
这里我先给出论文原文的翻译,因为不熟悉 PGD 和 FreeLB,所以对 Free AT Strategy 不是很理解
K-step PGD 会有 K 次的前向传播和反向传播,这样的计算消耗是很大的。同时,在 K-step PGD 中只有在最后一步对抗性扰动才会在模型训练中被用到。考虑这两点问题,作者采用 FreeLB 中的方法通过多次的 PGD 迭代来精修对抗性 embedding,同时在每一次迭代中累积 free parameter gradients ▽ θ L \triangledown_\theta L ▽θL,这样根据累积的梯度就可以一次性更新完模型参数 θ \theta θ,实际上产生了一个虚拟的 K倍的 mini-batch
下图的算法描述了 Free Multimodal Adversarial Training 的完整过程
Experiments
下图是 VILLA 在不同下游任务和目前表现不错的模型的比较
论文中还给出了 VILLA 和 UNITER 注意力可视化的对比