zoukankan      html  css  js  c++  java
  • Understanding and Improving Fast Adversarial Training

    Andriushchenko M. and Flammarion N. Understanding and improving fast adversarial training. In Advances in Neural Information Processing Systems (NIPS), 2020.

    本文主要探讨:

    1. 为什么简单的FGSM不能够提高鲁棒性;
    2. 为什么FGSM-RS(即加了随机扰动)可以更好地提高鲁棒性;
    3. 一种正则化方法, 即使不加随机扰动亦可提高鲁棒性.

    主要内容

    对抗训练是迄今最有效的防御手段, 其思想为:

    [min_{ heta} : mathbb{E}_{(x, y) sim D} [max_{|delta| le epsilon} ell(x + delta, y ; heta) ]. ]

    为了求解inner maximum, 一般通过PGD来近似求解. 但是这种multi-steps的方法很耗时, 所以最近也有一些方法基于FGSM进行一些改进, 其发现是FGSM在额外加一个扰动之后可以有效提高网络鲁棒性:

    [delta_{FGSM-RS} := prod_{[-epsilon, epsilon]^d} [eta + alpha mathrm{sign} ( abla_x ell(x + eta, y; heta))], : eta sim mathcal{U}([-epsilon, epsilon]^d). ]

    但是作者发现这种方法所带来的鲁棒性作用范围((epsilon))非常狭窄:

    其和FGSM-AT一样, 会在某个点鲁棒性突然崩溃, 没有很好的扩展性.

    Random Step的作用

    为什么RS能起到一定作用, 作者认为实际上加了RS之后, (epsilon)在某种意义是'变小'了,

    作者推得

    [mathbb{E}_{eta} [|delta_{FGSM-RS}(eta)|_2] le sqrt{d}sqrt{-frac{1}{6epsilon}alpha^3 + frac{1}{2}alpha^2 + frac{1}{3}epsilon} in [frac{1}{sqrt{3}}sqrt{d}epsilon, sqrt{d}epsilon] le |delta_{FGSM}|_2 = sqrt{d}epsilon. ]

    特别的, 作者设定小的(epsilon)试了(且不加RS)发现能与加了RS效果一致:

    线性性质

    接下来作者提出自己的观点, 剖析FGSM为啥有这些异常的情况出现.
    作者认为一开始FGSM是对于inner maximum求解是较为准确的, 但是随着训练的深入, 不准确了, 为什么不准确, 作者认为是(ell(x; heta))关于(x)并不那么线性了.
    我们知道, FGSM实际上是对于线性情况的最优解:

    [delta_{FGSM} = arg max_{|delta|_{infty} le epsilon} langle abla_x ell(x, y; heta),delta angle, ]

    (ell)(epsilon)球内不那么线性的时候, 这个解就不好了, 可以通过下面的条件来衡量是否线性:

    [mathbb{E}_{(x, y) sim D, eta sim mathcal{U}([-epsilon, epsilon]^d)} [cos( abla_x ell(x, y; heta), abla_x ell(x + eta, y; heta))], ]

    如上图所示, 普通的FGSM和FGSM-RS在训练过程中越发变得局部非线性, 所以求解越来越差.

    gradient alignment

    本文提出的解决方法就是利用上述的条件作为一个正则化项.
    个人感觉这个正则化条件比以往的想法子让梯度变小更有趣一点(不局限于光滑性之上).

    代码

    原文代码

  • 相关阅读:
    Java多线程总结之线程安全队列Queue
    Android模拟器Genymotion使用详解
    Failed to resolve:com.android.support:appcompat-v7:报错处理
    第一次使用Android Studio时你应该知道的一切配置
    sdk manager 打不开
    Android app设置全屏模式
    Android设备与外接U盘实现数据读取操作
    IIS相关优化
    集群、负载均衡、分布式
    docker启动
  • 原文地址:https://www.cnblogs.com/MTandHJ/p/15448899.html
Copyright © 2011-2022 走看看