八、对抗训练

  1. 神经网络在预测过程中,可以故意人工构造这样的一种样本:对输入点 八、对抗训练 - 图1 ,我们搜寻它的附近的一个人眼看起来没有区别、网络预测结果差异很大的样本 八、对抗训练 - 图2

    • 输入点 八、对抗训练 - 图3 来自于训练集,称作原始样本;而 八、对抗训练 - 图4 是人工构造的,称作对抗样本adversarial example
    • 我们可以通过将对抗样本加入训练集来改善模型的泛化能力,这称作对抗训练adversarial training。其中:对抗样本八、对抗训练 - 图5的真实标签要求和 八、对抗训练 - 图6 相同,但是其预测结果要求和 八、对抗训练 - 图7 不同。
  2. Goodfellow et al(2014b)表明:存在这些对抗样本的主要原因是高度线性。

    神经网络主要基于线性块构建的,因此模型是高度线性的。对于一个线性函数,如果它是高维的,那么其函数值可能对扰动非常敏感。

  3. 对抗训练通过鼓励网络在训练数据附近的局部区域保持稳定来限制函数对输入扰动的高度敏感性。它可以视作一种先验知识:模型是局部稳定的。

  4. 对抗训练也可以用于实现半监督学习:

    • 首先根据规模小的、监督样本中学习模型。
    • 然后根据模型,预测大量的、未监督的样本。假设未监督样本 八、对抗训练 - 图8 预测的标签为 八、对抗训练 - 图9(虽然其真实标签可能不是 八、对抗训练 - 图10,但是如果模型质量非常好,则真实标签是 八、对抗训练 - 图11 的概率非常大)。
    • 然后在 八、对抗训练 - 图12 的一个很小的领域内寻找它的对抗样本 八、对抗训练 - 图13。由于不是采用真实的标签,而是模型预测的标签 八、对抗训练 - 图14,因此 八、对抗训练 - 图15 也称作虚拟对抗样本。
    • 重新训练模型,使得模型在 八、对抗训练 - 图16 上的预测标签分类都相同。

    这种策略鼓励模型沿着未监督样本所在流形上的任意微小变化都是稳定的。其基本假设是:不同的分类通常位于分离的流形上,并且小的扰动不能从一类的流形跳到另一个流形上。