A New Defense Against Adversarial Images: Turning a Weakness into a Strength

Hu S, Yu T, Guo C, et al. A New Defense Against Adversarial Images: Turning a Weakness into a Strength[C]. neural information processing systems, 2019: 1633-1644.

@article{hu2019a,
title={A New Defense Against Adversarial Images: Turning a Weakness into a Strength},
author={Hu, Shengyuan and Yu, Tao and Guo, Chuan and Chao, Weilun and Weinberger, Kilian Q},
pages={1633–1644},
year={2019}}

代码.

本文介绍了一种检测是否为adversarial sample的defense.

主要内容

准则1

一般的CNN网络, 抗干扰(随机噪声)的能力是很强的, 这说明, 数据分布应当是如下图一样, xx(其类别为AA) 的周围的点大部分类别仍为AA, 落入B,C,DB,C,D需要一些更强的干扰(如gradient-based adversaries).
A New Defense Against Adversarial Images: Turning a Weakness into a Strength
这启发了作者, 采样ϵN(0,σ2I)\epsilon \sim \mathcal{N}(0, \sigma^2I), 比较
Δ=h(x)h(x+ϵ)1, \Delta = \| h(\mathbf{x}) - h(\mathbf{x}+\epsilon)\|_1,
其中h()h(\cdot)为网络, 其输出为概率向量, 显然Δ\Delta越大, 说明xx对随机噪声的抗干扰能力不强, 说明xx越有可能是adversarial sample.

准则2

同样如上图, 可以发现, 普通的样本往往落在分类边界周围, 所以利用adversaries 可以很容易(表现为迭代次数少)就能将其转移到另外的类别区域中去, 相反的, adversarial samples往往落在分类区域内部, 所以如果我们将adversarial samples移动到别的区域是不容易的(表现为需要更多的迭代次数).

所以, 假设将xx移动到别的区域内的最少迭代次数为KK, KK越大越有可能是adversarial samples. 由于攻击分为untarget, target所以, 所以作者也将准则2细分为C2(t/u)

总策略

有了(Δ,Kt,Ku)(\Delta,K_t,K_u), 当其中任何一个大于(分别)(tC1,tC2t,tC2u)(t_{C1}, t_{C2t},t_{C2u})时, 我们就认为xx是一个adversarial sample, 其中(tC1,tC2t,tC2u)(t_{C1}, t_{C2t},t_{C2u})是认为设置的阈值.

注: 这俩个直觉还是挺有趣的, 只是感觉很难实用, 毕竟这些指标不仅是依赖于网络本身, 对干净数据也是一个挑战.