Virtual Adversarial Training(VAT)

Posted Facico

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Virtual Adversarial Training(VAT)相关的知识,希望对你有一定的参考价值。

Virtual Adversarial Training:A Regularization Method for Supervised and Semi-Supervised Learnimg

对抗训练

Goodfellow对对抗训练损失函数定义如下
L a d v ( x l , θ ) = D [ q ( y ∣ x l ) , p ( y ∣ x l + r a d v , θ ) ] w h e r e r a d v = a r g m a x D [ q ( y ∣ x l ) , p ( y ∣ x l + r a d v , θ ) ] L_adv(x_l,\\theta)=D[q(y|x_l),p(y|x_l+r_adv,\\theta)]\\\\ where \\quad r_adv=argmax\\quad D[q(y|x_l),p(y|x_l+r_adv,\\theta)]\\\\ Ladv(xl,θ)=D[q(yxl),p(yxl+radv,θ)]whereradv=argmaxD[q(yxl),p(yxl+radv,θ)]

  • D是衡量两个分布相似度的函数, q ( y ∣ x l ) q(y|x_l) q(yxl)是样本即真实分布, p ( y ∣ x l , θ ) p(y|x_l,\\theta) p(yxl,θ)是由参数和 x l x_l xl生成的预测分布
  • 通过加入扰动 r a d v r_adv radv来使得两个分部尽量相似

这样对抗的可行性

  • 因为很多网络被设计得十分“线性”,像LSTM这样的,对x的每个维度都做微小扰动,当x的维度变大的时候,会对网络造成较大的影响。
  • 网络的线性,使得高阶导近似0,taylor展开后占主导的是线性的部分,所以用来干扰的主要就是对抗样本中线性的部分

线性估计

  • 优化这个loss很难,我们使用线性估计的方法,找到最近似的扰动,当是L2正则的时候

r a d v ≈ ϵ g ∣ ∣ g ∣ ∣ 2 w h e r e g = ∇ x l D [ h ( y ; y l ) , p ( y ∣ x l , θ ) ] r_adv\\approx \\epsilon \\fracg||g||^2\\\\ where\\quad g=\\nabla_x_lD[h(y;y_l),p(y|x_l,\\theta)] radvϵg2gwhereg=xlD[h(y;yl),p(yxl,θ)]
当是 L ∞ L_∞ L时, r a d v ≈ ϵ s i g n ( g ) r_adv\\approx \\epsilon sign(g) radvϵsign(g)

  • 这个扰动现在相当于是,模型最容易犯错误的方向,用梯度来估计‘

大问题

  • AT(adversarial training)是在supervise的,就是没有样本不行。
  • 所以论文寻求semi-supervised的方法

VAT

  • 我们要找的这个方向就是最大程度影响模型决策的方向,在VAT中,我们不需要label,只需要virtual label

我们假设:当label训练足够多之后,会接近真实label分布

  • 所以我们将 q ( y ∣ x ∗ ) q(y|x_*) q(yx)用预测结果 p ( y ∣ x ∗ , θ ^ ) p(y|x_*,\\hat \\theta) p(yx,θ^)代替(此处 x ∗ x_* x表示可以是有label的,也可以是没label的)

L D S ( x ∗ , θ ) = D [ p ( y ∣ x ∗ , θ ^ ) , p ( y ∣ x ∗ + r v a d v , θ ) ] r v a d v = a r g max ⁡ r ; ∣ ∣ r ∣ ∣ 2 ≥ ϵ D [ p ( y ∣ x ∗ , θ ^ ) , p ( y ∣ x ∗ + r ) ] LDS(x_*,\\theta)=D[p(y|x_*,\\hat \\theta),p(y|x_* + r_vadv, \\theta)]\\\\ r_vadv=arg\\max_r;||r||_2\\geq \\epsilon\\quad D[p(y|x_*,\\hat \\theta),p(y|x_*+r)] LDS(x,θ)=D[p(yx,θ^),p(yx+rvadv,θ)]rvadv=argr;r2ϵmaxD[p(yx,θ^),p(yx+r)]

  • LDS(local distributional smoothness):LDS定义为衡量当前基于每个输入数据的模型的平滑度的负函数,当LDS减少,模型在每个数据点会变得更平滑。

我们将损失函数正则化如下(有标签的和没标签label的求均值unlabel)
R v a d v ( D l , D u l , θ ) = 1 N l + N u l ∑ x ∗ ∈ D l , D u l L D S ( x ∗ , θ ) R_vadv(D_l,D_ul,\\theta)=\\frac1N_l+N_ul\\sum_x_* \\in D_l,D_ul LDS(x_*,\\theta) Rvadv(Dl,Dul,θ)=Nl+Nul1xDl,DulLDS(x,θ)

最终的目标函数为
l ( D l , θ ) + α R v a d v ( D l , D u l , θ ) l(D_l,\\theta)+\\alpha R_vadv(D_l,D_ul,\\theta) l(Dl,θ)+αRvadv(DAdversarial Faces

cs231n spring 2017 lecture16 Adversarial Examples and Adversarial Training 听课笔记

Generative Adversarial Nets 论文翻译

Adversarial training

生成对抗网络(Generative Adversarial Network,GAN)

AI-Adversarial Search