返回介绍

数学基础

统计学习

深度学习

工具

Scala

八、对抗训练

发布于 2023-07-17 23:38:25 字数 1275 浏览 0 评论 0 收藏 0

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

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

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

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文