用 JPEG 压缩防御攻击
SHIELD · KDD 2018
把输入图片做一次 JPEG 压缩,人眼看不见的对抗扰动大多会被压掉。前提是攻击者不知道有压缩这一环。
原作页面(说明为主,供备课阅读)
这一件没有可操作的实验,下面嵌的是原作页面本身;屏幕小或要投影时,点「全屏打开原作页」更清楚。
这一页怎么读
- 这是原作的论文说明页,不是可以动手的实验。先读「概述」,知道它是 KDD 2018 的一篇论文,里面的攻击算法名(Carlini-Wagner-L2、DeepFool、FGSM)不用记
- 读「研究摘要」,找出三个做法:JPEG 压缩、用压缩图重新训练模型(页面里叫「接种疫苗」)、测试时对图片不同区域随机选压缩质量
- 「安装与配置」「使用示例」两节是给研究者复现用的命令,课堂可以跳过,直接回到本页做思考题
课堂怎么用
- 这件是研究项目说明页,页面里没有可操作的部分(上面嵌的就是这张说明页),动手演示要老师另备素材,例如把同一张图存成不同 JPEG 质量再对比
- 放在讲完对抗样本之后,用 5 到 10 分钟讲「最朴素的防御思路」:先让学生猜怎么最省事地去掉看不见的噪声,再揭示 JPEG 压缩
- 一定要追问「攻击者知道你在压缩会怎样」,避免学生以为问题已经解决
思考题
- 压缩能去掉扰动,会不会也损失图片里有用的信息?
- 论文说最多能消除 94% 的攻击,这个数字成立的前提是什么?
已知限制
- 非交互作品:原作是论文说明页,演示为视频,视频已隐藏
- 页面外链(GitHub、arXiv、YouTube、Academic Torrents)在校园网多半打不开;「安装与配置」「使用示例」是 2018 年 TensorFlow 1 时代的命令,课堂不需要
- 方法针对的是 2018 年的攻击,不代表今天的防御水平:后来的研究表明,攻击者把压缩环节算进去就能重新生成有效扰动
原作 SHIELD(Nilaksh Das, Madhuri Shanbhogue, Shang-Tse Chen 等(佐治亚理工与英特尔),KDD 2018),MIT 许可(原文),界面已中文化。