A New Defense Against Adversarial Images: Turning a Weakness into a Strength
@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网络, 抗干扰(随机噪声)的能力是很强的, 这说明, 数据分布应当是如下图一样, \(x\)(其类别为\(A\)) 的周围的点大部分类别仍为\(A\), 落入\(B,C,D\)需要一些更强的干扰(如gradient-based adversaries).
这启发了作者, 采样\(\epsilon \sim \mathcal{N}(0, \sigma^2I)\), 比较
其中\(h(\cdot)\)为网络, 其输出为概率向量, 显然\(\Delta\)越大, 说明\(x\)对随机噪声的抗干扰能力不强, 说明\(x\)越有可能是adversarial sample.
准则2
同样如上图, 可以发现, 普通的样本往往落在分类边界周围, 所以利用adversaries 可以很容易(表现为迭代次数少)就能将其转移到另外的类别区域中去, 相反的, adversarial samples往往落在分类区域内部, 所以如果我们将adversarial samples移动到别的区域是不容易的(表现为需要更多的迭代次数).
所以, 假设将\(x\)移动到别的区域内的最少迭代次数为\(K\), \(K\)越大越有可能是adversarial samples. 由于攻击分为untarget, target所以, 所以作者也将准则2细分为C2(t/u)
总策略
有了\((\Delta,K_t,K_u)\), 当其中任何一个大于(分别)\((t_{C1}, t_{C2t},t_{C2u})\)时, 我们就认为\(x\)是一个adversarial sample, 其中\((t_{C1}, t_{C2t},t_{C2u})\)是认为设置的阈值.
注: 这俩个直觉还是挺有趣的, 只是感觉很难实用, 毕竟这些指标不仅是依赖于网络本身, 对干净数据也是一个挑战.