作者受之前Goodfellow的adversarial training的启发,提出了一种叫局部分布性平滑(LDS) 的方法,这是统计模型的一个新的光滑概念,可以用作正则化术语来促进模型分布的平滑。作者将基于LDS的正则化命名为虚拟对抗训练 (VAT)。
下面简单介绍一下LDS:我们先固定模型的参数
θ
θ
,假设输入空间为
RI
R
I
,输出空间为
Q
Q
,以及一个训练样本集合:
然后利用数据集 D D ,通过参数去训练模型分布 p(y|x,θ) p ( y | x , θ ) 。用 KL[p||q] K L [ p | | q ] 表示分布 p p 和分布的KL-散度。同时,我们定义:
ΔKL(r,x(n),θ)r(n)v−adv=KL[p(y|x(n),θ)||p(y|x(n)+r,θ)]=argmaxr{ΔKL(r,x(n),θ);||r||≤ϵ}
Δ
K
L
(
r
,
x
(
n
)
,
θ
)
=
K
L
[
p
(
y
|
x
(
n
)
,
θ
)
|
|
p
(
y
|
x
(
n
)
+
r
,
θ
)
]
r
v
−
a
d
v
(
n
)
=
arg
max
r
{
Δ
K
L
(
r
,
x
(
n
)
,
θ
)
;
|
|
r
|
|
≤
ϵ
}
我们记 r(n)v−adv r v − a d v ( n ) 为第 n n 的样本的模拟对抗扰动。因此模型分布在处的局部分布平滑为:
LDS(x(n),θ)=−ΔKL(r(n)v−adv,x(n),θ)
L
D
S
(
x
(
n
)
,
θ
)
=
−
Δ
K
L
(
r
v
−
a
d
v
(
n
)
,
x
(
n
)
,
θ
)
因此, r(n)v−adv r v − a d v ( n ) 实际上是模型分布 p(y|x(n),θ) p ( y | x ( n ) , θ ) 在KL散度的意义上最为敏感的方向。在某种程度上,这是模型分布相对于输入的梯度 ∇x ∇ x 的KL散度近似,并且 x x 在该方向上的扰动最大程度的破坏了概率分布的局部平滑性。 ΔKL(r(n)v−adv,x(n),θ) Δ K L ( r v − a d v ( n ) , x ( n ) , θ ) 的值越小, p(y|x(n),θ) p ( y | x ( n ) , θ ) 在 x(n) x ( n ) 处越平滑。我们的目标是在输入样本的邻域提升模型的平滑度,即目标函数(最大化)为:
1N∑n=1Nlogp(y(n)|x(n),θ)+λ1N∑n=1NLDS(x(n),θ)
1
N
∑
n
=
1
N
log
p
(
y
(
n
)
|
x
(
n
)
,
θ
)
+
λ
1
N
∑
n
=
1
N
L
D
S
(
x
(
n
)
,
θ
)
如果我们定义 r(n)adv=argminr{p(y(n)|x(n)+r,θ),||r||p≤ϵ} r a d v ( n ) = arg min r { p ( y ( n ) | x ( n ) + r , θ ) , | | r | | p ≤ ϵ } ,并且用 log(y(n)|x(n)+r(n)adv,θ) log ( y ( n ) | x ( n ) + r a d v ( n ) , θ ) 代替 −ΔKL(r(n)v−adv,x(n),θ) − Δ K L ( r v − a d v ( n ) , x ( n ) , θ ) ,那么这就变成了Goodfellow的对抗训练的目标函数。而根据 r(n)adv r a d v ( n ) 生成的对抗样本几乎都能够很大程度的影响目标函数的概率分布,因此这很适用于半监督模型。
举一个例子,对于一个线性回归模型 p(y|x,θ)=(θTx,σ2) p ( y | x , θ ) = N ( θ T x , σ 2 ) ,它的LDS为:
LDS(x,θ)=−12σ2ϵ2||θ||22
L
D
S
(
x
,
θ
)
=
−
1
2
σ
2
ϵ
2
|
|
θ
|
|
2
2
具体推导如下:
KL[p(y|x(n),θ)||p(y|x(n)+r,θ)]=∫+∞−∞p(y|x(n),θ)p(y|x(n),θ)p(y|x(n)+r,θ)dy=∫+∞−∞12π‾‾‾√σe−(y−θTx)22σ2−(y−θTx)2+(y−θTx−θTr)22σ2dy=∫+∞−∞12π‾‾‾√σe−(y−θTx)22σ2−θTr(2y−2θTx−θTr)2σ2dy=θTr∫+∞−∞12π‾‾‾√σ−yσ2e−(y−θTx)22σ2dy+θTr(2θTx+θTr)2σ2=θTr∫+∞−∞(12π‾‾‾√σe−(y−θTx)22σ2−12π‾‾‾√σθTxσ2e−(y−θTx)22σ2)dy+θTr(2θTx+θTr)2σ2=θTr(−θTxσ2)+θTr(2θTx+θTr)2σ2=(θTr)22σ2=||θ||22ϵ22σ2
K
L
[
p
(
y
|
x
(
n
)
,
θ
)
|
|
p
(
y
|
x
(
n
)
+
r
,
θ
)
]
=
∫
−
∞
+
∞
p
(
y
|
x
(
n
)
,
θ
)
p
(
y
|
x
(
n
)
,
θ
)
p
(
y
|
x
(
n
)
+
r
,
θ
)
d
y
=
∫
−
∞
+
∞
1
2
π
σ
e
−
(
y
−
θ
T
x
)
2
2
σ
2
−
(
y
−
θ
T
x
)
2
+
(
y
−
θ
T
x
−
θ
T
r
)
2
2
σ
2
d
y
=
∫
−
∞
+
∞
1
2
π
σ
e
−
(
y
−
θ
T
x
)
2
2
σ
2
−
θ
T
r
(
2
y
−
2
θ
T
x
−
θ
T
r
)
2
σ
2
d
y
=
θ
T
r
∫
−
∞
+
∞
1
2
π
σ
−
y
σ
2
e
−
(
y
−
θ
T
x
)
2
2
σ
2
d
y
+
θ
T
r
(
2
θ
T
x
+
θ
T
r
)
2
σ
2
=
θ
T
r
∫
−
∞
+
∞
(
1
2
π
σ
e
−
(
y
−
θ
T
x
)
2
2
σ
2
−
1
2
π
σ
θ
T
x
σ
2
e
−
(
y
−
θ
T
x
)
2
2
σ
2
)
d
y
+
θ
T
r
(
2
θ
T
x
+
θ
T
r
)
2
σ
2
=
θ
T
r
(
−
θ
T
x
σ
2
)
+
θ
T
r
(
2
θ
T
x
+
θ
T
r
)
2
σ
2
=
(
θ
T
r
)
2
2
σ
2
=
|
|
θ
|
|
2
2
ϵ
2
2
σ
2
这和 L2 L 2 范数的正则化是一样的,但是如果概率模型为 p(y|x,θ)=(θ3Tx,σ2) p ( y | x , θ ) = N ( θ 3 T x , σ 2 ) ,那么我们有 LDS(x,θ3)∝−σ2||θ3||22 L D S ( x , θ 3 ) ∝ − σ 2 | | θ 3 | | 2 2 。如果对于逻辑回归模型 p(y=1|x,θ)=σ(θTx)=(1+exp(−θTx))−1 p ( y = 1 | x , θ ) = σ ( θ T x ) = ( 1 + exp ( − θ T x ) ) − 1 ,我们有
LDS(x,θ)≃−12σ(θTx)(1−σ(θTx))ϵ2||θ||22
L
D
S
(
x
,
θ
)
≃
−
1
2
σ
(
θ
T
x
)
(
1
−
σ
(
θ
T
x
)
)
ϵ
2
|
|
θ
|
|
2
2
这是对 θTr θ T r 泰勒展开得到的:
KL[p(y|x(n),θ)||p(y|x(n)+r,θ)]=11+e−θxlog1+e−θTx−θTr1+e−θx+11+eθxlog1+eθTx+θTr1+eθx=−e−θTx(1+e−θx)2θTr−12e−θTx(1+e−θx)3(θTr)2+eθTx(1+eθx)2θTr+12eθTx(1+eθx)3(θTr)2=12e−θTx(1+e−θTx)2(θTr)2=−12σ(θTx)(1−σ(θTx))ϵ2||θ||22
K
L
[
p
(
y
|
x
(
n
)
,
θ
)
|
|
p
(
y
|
x
(
n
)
+
r
,
θ
)
]
=
1
1
+
e
−
θ
x
log
1
+
e
−
θ
T
x
−
θ
T
r
1
+
e
−
θ
x
+
1
1
+
e
θ
x
log
1
+
e
θ
T
x
+
θ
T
r
1
+
e
θ
x
=
−
e
−
θ
T
x
(
1
+
e
−
θ
x
)
2
θ
T
r
−
1
2
e
−
θ
T
x
(
1
+
e
−
θ
x
)
3
(
θ
T
r
)
2
+
e
θ
T
x
(
1
+
e
θ
x
)
2
θ
T
r
+
1
2
e
θ
T
x
(
1
+
e
θ
x
)
3
(
θ
T
r
)
2
=
1
2
e
−
θ
T
x
(
1
+
e
−
θ
T
x
)
2
(
θ
T
r
)
2
=
−
1
2
σ
(
θ
T
x
)
(
1
−
σ
(
θ
T
x
)
)
ϵ
2
|
|
θ
|
|
2
2
关于扰动向量的计算,作者也选择泰勒展开近似计算,由于 ΔKL(r,x,θ) Δ K L ( r , x , θ ) 在 r=0 r = 0 处有最小值 0 0 ,因此,对于的一阶微分也等于 0 0 :是 0 0 。因此我们选择二阶泰勒展开近似计算:
其中 H(x,θ) H ( x , θ ) 是Hessian矩阵,即 H(x,θ)=∇∇rΔKL(r,x,θ)|r=0 H ( x , θ ) = ∇ ∇ r Δ K L ( r , x , θ ) | r = 0 。在这种近似下, r(n)v−adv r v − a d v ( n ) 作为 H(x,θ) H ( x , θ ) 的第一个特征向量 u(x,θ) u ( x , θ ) 出现,并且值为 ϵ ϵ 。(二次型在单位元上的最大值和最小值分别对应其最大特征值和最小特征值,此时 r r 等于其对应的特征向量,这个具体的证明将Hermite矩阵正交对角化)。因此可以近似求解为:
rv−adv(x,θ)≃argmaxr{rTH(x,θ)r;||r||2≤ϵ}=ϵu(x,θ)⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
r
v
−
a
d
v
(
x
,
θ
)
≃
arg
max
r
{
r
T
H
(
x
,
θ
)
r
;
|
|
r
|
|
2
≤
ϵ
}
=
ϵ
u
(
x
,
θ
)
¯
其中 ⋅⎯⎯ ⋅ ¯ 表示的是将任意一个非零向量 v v 投影为其方向向量对应的单位向量。
然而特征值计算是一个 O(n3) O ( n 3 ) 计算复杂度的过程,因此作者提出用幂迭代法(power iteration method)和有限差分法(finite difference method)来计算 rv−adv r v − a d v 。设 d d 是一个随机抽样的单位矢量。 只要不与主特征向量 u u 垂直,则迭代计算
会使 d d 收敛于。 此外,我们不需要直接计算 H H ,而是近似为有限差分
这里我们再次利用了 ∇rΔKL(r,x,θ)|r=0=0 ∇ r Δ K L ( r , x , θ ) | r = 0 = 0 ,因此我们就得到了 d d 的更新公式:
具体的实验,评估就省略了,我们主要用这种方式来生成对抗样本,也能产生很好的效果。