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

VAT–一种普适性的,可以用来代替传统regularization和AT(adveserial training)的NN模型训练鲁棒性能提升手段,具有快捷、有效、参数少的优点,并天然契合半监督学习。

1. abstract & introduction

主要介绍了传统random perturbations的不足之处以及motivation。一般而言,在训练模型的时候为了增强loss,提升模型的generalization,我们通常会在原先的loss objection后面加上一个惩罚项,这个操作叫做regularization(正则),在贝叶斯派的角度来看,正则化这个操作其实可以被理解为一种反映我们对模型的某些先验知识或者期望的认知的先验分布,它在大多数情况下可以用来平滑模型的boundary。传统的通过对输入添加噪声干扰提升鲁棒性能其实也是一种smooth的手段,paper里声称有研究已经表明,对输入数据的局部、随机的扰动在半监督任务里面显得非常有效,但于此同时,也有其他paper证明了这种方法存在其很强的局限性—他们发现传统的随机扰动(standard isotropic smoothing via random noise)的方法会让模型对某些特定方向的微小扰动表现得很敏感、脆弱,这些方向被称作adversarial direction
为了解决模型对adversarial direction上的noise的欠鲁棒性,Goodfellow提出了一种adversarial training的方法,如下图:
在这里插入图片描述

公式的含义很明显,就是想在adversarial direction上找到一个模小于 ϵ 的扰动,但是优化这个loss是一件困难的事情,一般情况下我们很难找到这样一个精确的 r ,所以可以采用如下的线性估计的方法,找到最近似的扰动:

在这里插入图片描述
这个也很容易理解,因为我们要找的这个扰动是让模型最容易犯错的一个方向,自然它在数值上可以用loss 的梯度来估计。
在AT的帮助下,可以让模型获得比random perturbation更好的泛化能力。这也能说明,random noise这种在数据的所有方向上施加相同smoothing pressure的方法其实对于解决数据本身的anisotropic(各向异性)其实是没有多大帮助的(这里个人的理解是,对于一个输入的样本比方说一张图像,它本身数据点的adversarial direction的分布其实就是anisotropic的,而random smoothing对每个数据点施加的扰动都是随机的,那么这整张图片的“对抗性”的提升其实没多大帮助,相当于 "力没有合在一处,对抗性相互抵消 ",而AT直接找到整张图片总体的adversarial direction作为扰动,那就是 “力合在一处,对抗性能增强”
但是AT有个很明显的问题就是它只能用在supervise的场景下,也就是如果数据是unlabel的,比方说是半监督任务,那么线性估计扰动将没办法实现,AT也自然没办法应用。这也是这篇paper提出VAT的一个motivation。
这里paper给出了virtual adversarial direction的定义 – virtual adversarial direction, which is a direction of the perturbation that can most greatly alter the output distribution in the sense of distributional divergence.
通俗来讲,这个方向就是一个能够最大程度抉择影响模型输出分布的扰动的方向。而之所以是"virtual"的,是因为他的计算是不需要label,或者说只需要virtual label,因此解决了AT面临的问题。
Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning_第1张图片
上图直观的显示了VAT在半监督任务(label assign)上的表现的举例,可以看到第二行第二列,在一开始模型迭代伦次较少的情况下,有大量的unlabel point(那些大量的灰色点)会有较高的LDS(深蓝色),这是因为一开始的模型对相同类别的point预测了不同的label(见同列第一行),VAT会给予这些LDS较高数据点更大的压力,来迫使模型让数据点间的boundary to be smoothing.

2. methods

2.1 Virtual Adversarial Training

和AT类似VAT的扰动可以用下面相似的定义:
在这里插入图片描述
和AT不同的是,这里的input x既可以是labeled也可以是unlabeled,这里pap而基于一个假设,当有label数据训练足够多之后,模型的预测结果其实会和真实的label很接近,因此
q(y∣x∗)其实可以用模型的预测结果来代替,也就有了下面的式子:
Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning_第2张图片
这个objection被定义为LDS,一个负函数,值越小,说明local smoothing效果越好,而原先loss上应该加的惩罚项被定义为如下图,即每个数据样本(labeled、unlabeled)的LDS求平均:
在这里插入图片描述
在这里插入图片描述
到这里会发现VAT的超参数其实就只有两个,ϵ 和 α ,paper声称这两个参数起到的作用其实是类似的(实验部分做了证明),因此paper里面把 α fix为1。总而言之,VAT要调的参数很少。

2.2 Derivative of the Objective Function

由于VAT采用了模型预测的“virtuial label”,因此当扰动 r 等于0的时候,LDS的梯度会等于0,会出现所谓的“evident closed form”,故而不能直接用AT采用的线性估计求梯度的方式来获得 r 。
正是因为object function一阶导等于0,paper采用了二阶泰勒展开来近似原先的object function:
在这里插入图片描述
这里的H指的是 r 等于0时,object function对 r 求二阶导的高斯矩阵;此时 r 可以用如下图近似:
在这里插入图片描述
上图中的 U 表示的是H的第一主特征向量。这里为了计算矩阵H的特征向量会有O(n3)的时间复杂度,paper采用了幂指数迭代的方法来近似求解:

2.3 Fast Approximation Method

假设 d 表示与特征向量不垂直的一个随机单位向量,迭代的计算如下:
在这里插入图片描述
为了节约计算消耗,paper又采取直接计算Hd:
Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning_第3张图片
在这里作者假设object function在 r 等于0时一阶导数仍为0,因此 r 最终的可以用如下迭代update的过程近似出来:
在这里插入图片描述
假设上述迭代次数为 K ,那么当 K 取值较大的时候,这种近似方法的准确度也能大幅提升,放在NN里面,那就是K轮的梯度反传update,而这个效率也是吃得消的。paper里声称K取值很小即可取得很好的近似效果,甚至K=1就在很多不同数据集上取得了不错效果。
在K=1时, r 的近似就最终可以写成和AT类似的形式:
Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning_第4张图片


(这个section的数学推导近似其实蛮难的…这里没时间啃了,知道这么个推导的总体思路其实也差不多了,说到底VAT毕竟也只是一种trick而已,知道她的原理会用就可以了,溜了溜了 )


把所有东西pull together ,VAT就可以写成如下(以一个min-batch为例)
Virtual Adversarial Training: A Regularization Method for Supervised and Semi-Supervised Learning_第5张图片
总而言之,就是把一个batch的样本,对每个样本都给他生成一个随机的正态分布(独立同分布)的单位向量d,把它作为 r 的初始值,随后添加到输入 x 上,计算objection的梯度;如此迭代K轮(上图K==1)获得一个最终的 r vadv,即为最终的virtual adversarial direction 返回,最后将其施加到每个input上计算LDS,将这一个batch样本的LDS做平均就得到了regularization term,可以将它加在原先的loss后面进行backpropogation。综上所述就是VAT的大致过程。


下面实验部分大都是在通过结果分析自己方法的一些参数、直觉上的可解释以及性能比较,很多有用的信息在前面部分都有提到了,时间有限就不往下更了,意义也不大(而且我已经足够知道它的nb了)

总结

virtual adversarial training,可以作为supervised以及semi-supervised训练的模型鲁棒性能增强trick,如果能结合自己当前所需合理利用其思维、方法进行设计,那对模型表现的提升会有不少帮助。

数学有限,解读粗浅,多多批评

你可能感兴趣的:(论文笔记,NLP,nlp,自然语言处理)