Double Descent in Adversarial Training: An Implicit Label Noise Perspective

Dong C., Liu L. and Shang J. Double descent in adversarial training: an implicit label noise perspective. In International Conference on Learning Representations (ICLR), 2022.

对抗训练非常容易过拟合, 但是作者发现, 对抗训练和标准训练一样, 当训练次数足够多的时候, 也会出现 Double Descent 的现象, 即测试误差先下降再上升然后再下降. 作者认为, 即便普通样本 x 质量够高, 其条件概率可以近似认为

p(Y=y|x)=1(y=y),

其中y:=argmaxjp(Y=j|x)为真实的标签, 对抗样本 xδ=x+δ 的条件概率也强硬地认为是

p(Y=yδ|xδ)=1(yδ=y)

是不合适的. 这或许就是导致容易出现过拟合现象的原因.

主要内容

假设

  1. 假设训练集标签没有噪声, 即样本x的标签y=yp(y|x)=p(y|x).
  2. 训练集X中的样本x的质量很高, 即可以认为P(Y=y|x)1;
  3. 对抗样本xδ=x+δ, 其中

δ=argmaxδϵ(f(x+δ;θ),y).

xδ的标签yδ:=argmaxjp(Yδ=j|xδ)=y, 即扰动δ应该不改变预测的标签. 这个是合理的, 因为我们一般采用8/255, 这虽然会导致图片语义模糊, 但不至于改变其语义.

扰动前后条件概率的距离

我们用 total variation 来定义两个分布p,q的距离:

pqTV=supA|p(A)q(A)|,

对于离散分布而言

pqTV=12j|pjqj|

我们假设 p(Yδ=yδ|xδ)是已知xδ的情况下的真实分布, 而p(Y=y|xδ)=p(Y=y|x)是我们在对抗训练过程中所给予的一个先验分布 (既然我们在训练中利用交叉熵令fθ(xδ的概率值和此概率接近)). 现在我们讨论这两个Yδ,Y的差距.

定理3.1:

p(YYδ|xδ)p(Yδ|xδ)p(Y|x)TV,

即二者不等的概率是至少大于二者分布的TV的. 所以由此导致的分布不匹配的问题是需要引起重视的.

proof:

|p(YδJ|xδ)p(YJ|xδ)|=|p(YδJ,Y=Yδ|xδ)+p(YδJ,YYδ|xδ)p(YJ,Y=Yδ|xδ)p(YJ,YYδ|xδ)||p(YδJ,Y=Yδ|xδ)p(YJ,Y=Yδ|xδ)|+|p(YδJ,YYδ|xδ)p(YJ,YYδ|xδ)|0+p(YYδ|xδ).

对于任意的J成立, 证毕.

label smoothing 用于减轻过拟合

假设我们手头有训练好的网络:

g(x;T;θ):=exp(zj/T)jexp(zj/T),z=g(x).

我们希望利用g提供的条件概率分布和原先的条件概率分布做一个调和:

pθ;T,λ(Yδ=yδ|xδ):=λg(xδ;θ,T)+(1λ)p(Y=y|x).

定理4.1:
如果argmaxjg(xδ;θ)j=yδ, 则存在T

g(xδ;θ,T)p(Yδ|δ)TVp(Y|x)p(Yδ|xδ)TV.

这说明, 替代分布加上 label smoothing 比单纯的标签有效 (注意, 需要g关于xδ是正确判断的).

定理4.2:
如果argmaxjg(xδ;T;θ)jyδ, 则存在λ使得

pθ;T,λ(Yδ|xδ)p(Yδ|xδ)TVmin(g(xδ;T;θ)p(Yδ|xδ)TV,p(Y|x)p(Yδ|xδ)TV).

注: 文中只给出了前者, 我发现通过同样的构造:

pθ;T,λ(Yδ|xδ)=p(Yδ|xδ),

同时满足

λ(1g(xδ;T;θ)j)=1p(Yδ=j|xδ).

可以类似证明出后者.

这个定理表明, 即便是在g误判的情况下, 我们也能找到一个合适的λ使得结果比单纯用标签效果好.

实际的操作

根据上面的结果, 一个合理的做法是为每一个样本定制一个T,λ, 不过文中发现, 大部分的T,λ都比较集中. 所以作者选择同一个. 其由下式优化的得到:

T,λ=argminT,λE(xδ,yδ)Dδvallogpθ;T,λ(Yδ=yδ|xδ).

在实际中, 作者采用的是如下方式优化的:

T,λ=argminT,λE(xδ,yδ)Dvalce(λg(xδ;T;θ)+(1λ)g(xδ;θs,T),yδ).

注意: DσvalDval, 我想应该不是笔误. 作者用后者, 给出的理由是标签不知道?我的感觉是因为我们不确定的是 Dσval.
设想, 虽然我们从测试集Dval中采样x然后再加上扰动就可以得到xδ, 但是倘若我们简单地量yδ=y, 那此时我们所默认的条件分布为

p(Yδ|xδ)=p(Y|x),

此时最小化该损失结果得到的是

pθ;T,λ(Yδ=yδ|xδ)p(Y|x),

那就没有意义了.
我们需要保证条件分布

p(Yδ|xδ)

为真实的分布, 但我们又不知道该分布. 所以我们可以用g(xδ;θs,T)来替代 (这个也很离谱的, 因为比较存在错判的情况啊) ? 但是作者显然不是从这个角度出发的.

最后, 利用下列损失训练:

argminθEDδ(f(xδ;θ),pθTrad;T,λ(yδ|xδ)).

posted @   馒头and花卷  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
历史上的今天:
2021-04-14 Augmentation For GAN
2020-04-14 One Pixel Attack for Fooling Deep Neural Networks
点击右上角即可分享
微信分享提示