zoukankan      html  css  js  c++  java
  • 虚拟对抗训练:一种新颖的半监督学习正则化方法

     

    特约作者 | 曹凯

    本文介绍一种名叫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.

  • 相关阅读:
    2018年3月至4月小结
    前端面试中,经常看到垂直居中与水平居中,实际排版用的多吗?
    Hbuilder配置识别逍遥安卓模拟器
    php静态变量与方法与phar的使用
    切面反射获取方法
    Spring:源码解读Spring IOC原理
    怎样批量提取JPG照片的文件名
    如何1秒批量提取电脑文件夹中的所有文件、文件夹名字到txt/excel
    用powermock 方法中new对象
    springboot单元测试自动回滚:@Transactional
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/14055782.html
Copyright © 2011-2022 走看看