虚拟对抗训练:一种新颖的半监督学习正则化方法

2019-07-17 18:07:45 浏览数 (1)

特约作者 | 曹凯

本文介绍一种名叫Virtual Adversarial Training (VAT) [1]的方法,是一种对于给定条件标签分布

的数据度量该分布局部光滑性的一种方法。其实就是对于每一个数据点,它的条件标签分布对于局部的扰动鲁棒性怎么样,是否数据的一点小变化,就会导致预测的其标签的大变化。这种情况在研究对抗样本的时候很常见,比如本来一张猫的图片,稍微加了一点扰动,神经网络就将其判为梨这种完全不一样的类别,这显然不是我们想要的。

一、动机

为什么会想到用光滑性smooth来做正则化呢?正则化从贝叶斯的角度来看,是加了先验信息到模型里面。而自然界的很多物理系统,都是可以用基于微分方程光滑模型描述。所以作者就想到了把条件标签概率约束成光滑的,在输入

变化很小的情况下,输出

也变化很小。满足光滑的情况下,如果对抗样本相比于原样本变化(某种度量下)很小,那么标签应该也不会有太大变化。

优点:VAT在对抗训练的时候,不需要标签信息,所以可以应用于无监督学习。此外,VAT的计算代价也是很低的。

与Goodfellow提出的监督学习对抗方法adversarial training[2]不同的是,VAT找的方向是能使预测的输出分布偏离现状的方向,而adversarial training找的是使模型预测最大地偏离正确label的方向。我们可以称目前模型预测的label是虚拟label(virtual)。

二、方法

  • 一些符号定义

表示输入向量,维度是

表示输出标签,

是标签空间;输出分布

是模型参数;用

表示某一步训练之后的模型参数;

表示有标签的数据集;

表示无标签的数据集。我们使用

训练模型

  • 对抗训练

要讲VAT,首先要从Goodfellow的adversarial training开始,其损失函数为:

其中,

是一个非负度量函数,度量分布

之间的距离,比如交叉熵,我们可以称

是对抗的扰动,也就是对抗的一方想找出来用于攻击的量,对抗的另一方想尽量减小这个量对模型的影响。对于adversarial training来说,

是真实label 的one-hot编码向量

。对于这个优化问题,我们没法得到闭式解,但是对抗的方法本来也就是迭代求解的,我们可以得到近似的解,比如:

或者:

对于神经网络来说,

是可以用反向传播计算的。很明显,对抗方法找到的扰动方向,比随机找一个扰动是要来的好的。

  • 虚拟对抗训练:VAT

那么如果训练样本没有标签,或者有一部分数据没有标签怎么办呢?VAT就是要解决这样一个问题。

我们把

统一记为

,VAT目标函数为:

之前的

是用的label的one-hot编码,这边没有了label,VAT用

近似代表。作者认为如果有标签的样本比较多,那么

是离

比较近的,这也是文章用virtual 这个词的原因。所以在迭代过程中,

用上一步的

代替,损失函数变为:

于是,给整个目标函数加上LDS:

其中,

是有标签数据的负对数似然函数。

整个正则化过程,只有两个超参数

。作者实验过程中,将

固定为1,这样就只有一个超参数了。

  • 具体计算

注意到之前算

,如果

换成

,那么

永远是0,就没法算了,所以得用到二阶信息。

如果一阶导数为0,则

二阶泰勒展开:

其中,

是海森矩阵,记为H。再把

记为

那么计算

其中

最大特征值对应的特征单位向量。

为了计算特征向量,作者使用一种能量迭代方法[3],令

是一个随机采样的单位向量,假设

不垂直,那么随着迭代

就可以让

收敛到

。为了避免算

,这边将

也近似替代:

那么就可以计算:

原文算法描述如下:

作者对算例描述:

实验部分:

参考文献: [1].Takeru Miyato, Shin-ichi Maeda, Masanori Koyama, and Shin Ishii. Virtual adversarial training: a regularization method for supervised and semi-supervised learning. arXiv preprint. arXiv:1704.03976, 2017. [2]. Ian Goodfellow, Jonathon Shlens, and Christian Szegedy. Explaining and harnessing adversarial examples. In ICLR, 2015. [3]. Gene H Golub and Henk A van der Vorst. Eigenvalue computation in the 20th century. Journal of Computational and Applied Mathematics, 123(1):35–65, 2000.

0 人点赞