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∗)
是不合适的. 这或许就是导致容易出现过拟合现象的原因.
主要内容
假设
- 假设训练集标签没有噪声, 即样本x的标签y=y∗ 且 p(y|x)=p(y∗|x).
- 训练集X中的样本x的质量很高, 即可以认为P(Y=y∗|x)≈1;
- 对抗样本xδ=x+δ, 其中
δ=argmax∥δ∥≤ϵℓ(f(x+δ;θ),y).
xδ的标签yδ∗:=argmaxjp(Yδ=j|xδ)=y∗, 即扰动δ应该不改变预测的标签. 这个是合理的, 因为我们一般采用8/255, 这虽然会导致图片语义模糊, 但不至于改变其语义.
扰动前后条件概率的距离
我们用 total variation 来定义两个分布p,q的距离:
∥p−q∥TV=supA|p(A)−q(A)|,
对于离散分布而言
∥p−q∥TV=12∑j|pj−qj|
我们假设 p(Yδ=y∗δ|xδ)是已知xδ的情况下的真实分布, 而p(Y=y∗|xδ)=p(Y=y∗|x)是我们在对抗训练过程中所给予的一个先验分布 (既然我们在训练中利用交叉熵令fθ(xδ的概率值和此概率接近)). 现在我们讨论这两个Yδ,Y的差距.
定理3.1:
p(Y≠Yδ|xδ)≥∥p(Yδ|xδ)−p(Y|x)∥TV,
即二者不等的概率是至少大于二者分布的TV的. 所以由此导致的分布不匹配的问题是需要引起重视的.
proof:
|p(Yδ∈J|xδ)−p(Y∈J|xδ)|=|p(Yδ∈J,Y=Yδ|xδ)+p(Yδ∈J,Y≠Yδ|xδ)−p(Y∈J,Y=Yδ|xδ)−p(Y∈J,Y≠Yδ|xδ)|≤|p(Yδ∈J,Y=Yδ|xδ)−p(Y∈J,Y=Yδ|xδ)|+|p(Yδ∈J,Y≠Yδ|xδ)−p(Y∈J,Y≠Yδ|xδ)|≤0+p(Y≠Yδ|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δ|δ)∥TV≤∥p(Y|x)−p(Yδ|xδ)∥TV.
这说明, 替代分布加上 label smoothing 比单纯的标签有效 (注意, 需要g关于xδ是正确判断的).
定理4.2:
如果argmaxjg(xδ;T;θ)j≠y∗δ, 则存在λ使得
∥pθ;T,λ(Yδ|xδ)−p(Yδ|xδ)∥TV≤min(∥g(xδ;T;θ)−p(Yδ|xδ)∥TV,∥p(Y|x)−p(Yδ|xδ)∥TV).
注: 文中只给出了前者, 我发现通过同样的构造:
pθ;T,λ∗(Yδ|xδ)=p(Yδ|xδ),
同时满足
λ∗(1−g(xδ;T;θ)j∗)=1−p(Yδ=j∗|xδ).
可以类似证明出后者.
这个定理表明, 即便是在g误判的情况下, 我们也能找到一个合适的λ使得结果比单纯用标签效果好.
实际的操作
根据上面的结果, 一个合理的做法是为每一个样本定制一个T,λ, 不过文中发现, 大部分的T,λ都比较集中. 所以作者选择同一个. 其由下式优化的得到:
T,λ=argminT,λ−E(xδ,yδ)∼Dvalδlogpθ;T,λ(Yδ=yδ|xδ).
在实际中, 作者采用的是如下方式优化的:
T,λ=argminT,λ−E(xδ,yδ)∼Dvalℓce(λ⋅g(xδ;T;θ)+(1−λ)⋅g(xδ;θs,T),yδ).
注意: Dvalσ和Dval, 我想应该不是笔误. 作者用后者, 给出的理由是标签不知道?我的感觉是因为我们不确定的是 Dvalσ.
设想, 虽然我们从测试集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δ)).
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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