核心思想:
对于边界点,通过在一些方向上移动的测试,确定梯度方向的大致位置。
如图:
①想法:对于扰动方向θ在与边界交点画圆,我们希望在标签改变的方向(B方向)的圆轨迹上确定点作为下一个扰动方向θ’,最小扰动肯定比θ好。
②问题:在只知道改变后标签内容的硬黑盒攻击下,如何确定B方向呢?
③方法:只好多试几次取平均来估计喽~
算法内容:
①首先,针对初始图像x0,对任意扰动方向θ定义问题g(θ):
②计算梯度的方法:
③定义扰动改变的方向是怎样:
④但是上图的边界我们没法获取,只能获得指向点的标签信息,因此提出Sign-OPT attack来多做几次以估算:
⑤也可以不选择简单的线性叠加,获得各个方向的标签信息后使用SVM的方法来更精确的估算:
实验结果:
①Sign-OPT和SVM-OPT比较:
②和其他方向比较:
对比HopSkipJumpAttack:
HopSkipJumpAttack的思路基本与本文一致,但是它的每一步的位移是经过数学分析后具体确定的,而非本文采用的sign方法快速处理:
实验效果的话俩种方式也差不多,这里就不贴了,有兴趣的可以看一下原文。
最后思考:
query的次数少如以上俩种方法,比较好的情况也仍然需要数以千记的query。而且,防御的思路也非常清晰:只需要限制模型在边界处的访问次数即可。因此,仍然需要继续改善。未来可以尝试这样的方法和迁移攻击的结合。
希望路过这儿的你可以关注我一下~~我会定期更新一系列阅读笔记和总结,加入自己的见解和思路,希望能对你有用~