关于Distributional Smoothing with Virtual Adversarial Training的理解

作者受之前Goodfellow的adversarial training的启发,提出了一种叫局部分布性平滑(LDS) 的方法,这是统计模型的一个新的光滑概念,可以用作正则化术语来促进模型分布的平滑。作者将基于LDS的正则化命名为虚拟对抗训练 (VAT)。
  下面简单介绍一下LDS:我们先固定模型的参数θ,假设输入空间为RI,输出空间为Q,以及一个训练样本集合:

D={(x(n),y(n))|x(n)RI,y(n)Q,n=1,,n}

然后利用数据集D,通过参数θ去训练模型分布p(y|x,θ)。用KL[p||q]表示分布p和分布q的KL-散度。同时,我们定义:
ΔKL(r,x(n),θ)=KL[p(y|x(n),θ)||p(y|x(n)+r,θ)]rvadv(n)=argmaxr{ΔKL(r,x(n),θ);||r||ϵ}

我们记rvadv(n)为第n的样本的模拟对抗扰动。因此模型分布在x(n)处的局部分布平滑为:
LDS(x(n),θ)=ΔKL(rvadv(n),x(n),θ)

因此,rvadv(n)实际上是模型分布p(y|x(n),θ)在KL散度的意义上最为敏感的方向。在某种程度上,这是模型分布相对于输入的梯度x的KL散度近似,并且x在该方向上的扰动最大程度的破坏了概率分布p(y|x(n),θ)的局部平滑性。ΔKL(rvadv(n),x(n),θ)的值越小,p(y|x(n),θ)x(n)处越平滑。我们的目标是在输入样本的邻域提升模型的平滑度,即目标函数(最大化)为:
1Nn=1Nlogp(y(n)|x(n),θ)+λ1Nn=1NLDS(x(n),θ)

如果我们定义radv(n)=argminr{p(y(n)|x(n)+r,θ),||r||pϵ},并且用log(y(n)|x(n)+radv(n),θ)代替ΔKL(rvadv(n),x(n),θ),那么这就变成了Goodfellow的对抗训练的目标函数。而根据radv(n)生成的对抗样本几乎都能够很大程度的影响目标函数的概率分布,因此这很适用于半监督模型。
举一个例子,对于一个线性回归模型p(y|x,θ)=N(θTx,σ2),它的LDS为:
LDS(x,θ)=12σ2ϵ2||θ||22

具体推导如下:
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(2y2θTxθTr)2σ2dy=θTr+12πσyσ2e(yθTx)22σ2dy+θTr(2θTx+θTr)2σ2=θTr+(12πσe(yθTx)22σ212πσθ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

这和L2范数的正则化是一样的,但是如果概率模型为p(y|x,θ)=N(θ3Tx,σ2),那么我们有LDS(x,θ3)σ2||θ3||22。如果对于逻辑回归模型p(y=1|x,θ)=σ(θTx)=(1+exp(θTx))1,我们有
LDS(x,θ)12σ(θTx)(1σ(θTx))ϵ2||θ||22

这是对θTr泰勒展开得到的:
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θTr12eθ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

关于扰动向量的计算,作者也选择泰勒展开近似计算,由于ΔKL(r,x,θ)r=0处有最小值0,因此,对于r的一阶微分也等于0rΔKL(r,x,θ)|r=00。因此我们选择二阶泰勒展开近似计算:
ΔKL(r,x,θ)12rTH(x,θ)r

其中H(x,θ)是Hessian矩阵,即H(x,θ)=rΔKL(r,x,θ)|r=0。在这种近似下,rvadv(n)作为H(x,θ)的第一个特征向量u(x,θ)出现,并且值为ϵ。(二次型在单位元上的最大值和最小值分别对应其最大特征值和最小特征值,此时r等于其对应的特征向量,这个具体的证明将Hermite矩阵正交对角化)。因此rvadv(n)可以近似求解为:
rvadv(x,θ)argmaxr{rTH(x,θ)r;||r||2ϵ}=ϵu(x,θ)¯

其中¯表示的是将任意一个非零向量v投影为其方向向量对应的单位向量v¯
然而特征值计算是一个O(n3)计算复杂度的过程,因此作者提出用幂迭代法(power iteration method)和有限差分法(finite difference method)来计算rvadv。设d是一个随机抽样的单位矢量。 只要d不与主特征向量u垂直,则迭代计算
dHd¯

会使d收敛于u。 此外,我们不需要直接计算H,而是近似为有限差分
HdrΔKL(r,x,θ)|r=ϵdrΔKL(r,x,θ)|r=0ξ=rΔKL(r,x,θ)|r=ϵdξ

这里我们再次利用了rΔKL(r,x,θ)|r=0=0,因此我们就得到了d的更新公式:
drΔKL(r,x,θ)|r=ϵd¯

具体的实验,评估就省略了,我们主要用这种方式来生成对抗样本,也能产生很好的效果。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页