手把手教你如何取得MSC对抗赛的胜利
yuyutoo 2024-10-13 00:29 1 浏览 0 评论
雷锋网(公众号:雷锋网)按:本文为雷锋字幕组编译的技术博客,原标题 Playing with adversarial attacks on Machines Can See 2018 competition ,作者为 snakers41 。
翻译 | 廖颖 整理 | MY
对抗攻击比赛的简介
TLDR;
我偶然地参加了 MCS2018 对抗比赛。参加这项比赛的时候已经很晚了(加入的时候距离截止只有差不多一周的时间),但最后还是组成了一个四人小组。其中,小组中三个成员(加上我)的付出是这次胜利的必然条件(去掉其中任意一个,我们都可能与胜利擦身而过)。
这项比赛的目标是改变人脸(要求结构相似度 SSIM 不低于 0.95),使得卷积神经网络这个黑箱不能区分源人脸和目标人脸的差别。
简单描述比赛的主旨——修改人脸,使得黑箱不能区分两张脸的差别(至少从 L2 范数表示的欧氏距离的距离度量上来看)。
对抗攻击需要的工作以及对我们有用的东西:
· 快速梯度标记法(FGSM)是有用的,加入启发式会使得它更好一点;
· 快速梯度取值方法(FGVM),添加启发式会大大改善效果;
· 生成式差分进化(恒星网 Stellar 的一篇文章讲到这个方法)+ 一个像素值的攻击;
· 模型融合(最好的网络结构是 6 个 34 层 ResNet 模型);
· 目标图像组合的巧妙遍历;
· 基本上在进行 FGVM 攻击时就尽早停止。
对我们没用的东西:
· 向 FGVM 添加动量(这对那些排名较低的队伍有效,或许融合+启发式的组合比动量更有效?);
·Carlini 和 Wagner 提出的攻击方法(C&W 攻击,基本上是一种端到端的攻击,关注白箱模型的 logits)——这种方法对白箱(WB)有用,但对黑箱(BB)没用;
· 端到端的基于 Siamese LinkNet(一种类似于 UNet 的架构,但是基于 ResNet 的)的方法。同样是对白箱有用,而对黑箱无用。
我们还没有来得及尝试的(时间不够,也或者是不够努力和坚持):
· 对学生学习适当增强测试(我们也会修改描述器);
·在攻击的时候进行增强。
比赛的大致介绍:
· 比赛包含了 1000 张 5+5 图像组合的小型数据集;
· 提供给学生网络学习的数据集相当大——超过 1 万张图片;
· 黑箱是作为大量预编译的 Caffe 模型(因为使用了这些,不能很好地在现在的软件版本上使用——但最终还是由主办方处理了)。这还是有点痛苦的,因为黑箱不接受批量图像;
· 这个比赛提供 baseline 代码(实话说,没有这个开源代码,我想可能没什么人了)。
核心材料:
· 结果复现的代码库;
· 我们的演示;
· 所有优胜者的演示。
1、MCS2018 比赛概览以及我是如何入选的
比赛和方法
实话说,我为这个有趣的领域着迷。我以为奖品里有 GTX 1080 Ti FE 版本显卡,就显得比赛等级相对「低」(远远赶不上用 Kaggle + 整个 ODS 团队与 4000 人竞争)。
像上面提到的,比赛的目标是要混淆黑箱模型,使它不能区分两个人的差别(用 L2 范式或欧式距离)。这项比赛是「黑箱」比赛,所以我们不得不在给定的数据上对学生网络进行蒸馏,也希望黑箱梯度和白箱梯度在攻击性能上足够相似。
事实上如果你阅读了学术文献(比如这篇和这篇,即使它们并不会真正告诉你在实际操作中什么是有用的),并对顶级团队实现模型进行蒸馏,你就可以轻易发现以下一些规律:
· 最简单的执行攻击(在现代的框架上)包括白箱或者了解你正攻击的卷积神经网络 CNN 的内部结构(或仅仅是一个架构);
聊天中有人提出建议 ... 计算出黑箱进行推断的时间,从而压缩它的结构;
· 考虑到给定了足够多的数据,你可以用正确训练的白箱来模拟黑箱;
· 当下最经典的方法有:
端到端的 C&W 攻击(在这里并没有用);
FGSV 的巧妙扩展(比如动量+集成)。
实话说我们也曾百思不得其解,队伍里两个人采用了完全不同的端到端解决方案(彼此不了解,即完全独立的),但他们对黑箱都不起作用。这可能意味着在我们的任务设置中,存在一些隐藏的设置泄漏,而我们并没注意到。像很多完全采用端到端的现代机器视觉应用可以给出很好的结果(比如风格转换、深部分水岭算法、图像生成、减少噪声和伪影等),但在这没用。
梯度方法是如何工作的
基本上你可以通过蒸馏,用白箱来模拟黑箱,然后计算出输入图像对模型输出的梯度。秘密还是像往常一样藏在启发式中。
目标矩阵
目标矩阵是一个 L2 范式(欧氏距离)的均值,是对源图像和目标图像(5*5)的 25 个组合取平均。
由于 CodaLab 的限制,我认为个人得分(和团队总分)都是由管理员手动操控的,这就有点后怕了。
团队
我在训练了学生网络之后效果比其他人都好(目前为止),和 Atmyre 讨论后(因为她之前遇到一些类似的问题,她帮助我使用正确编译的黑箱),我们分享了彼此的分数,当然在比赛截止前 2、3 天我们没有分享方法和代码:
· 我的端到端模型失败了(她的也是);
· 我有很棒的学生模型;
·他们具有 FGVM 启发式的优秀差分(他们的代码是基于 baseline 的);
· 我只是刚刚开始处理基于梯度的模型,本地上实现接近 1.1——最初因为个人原因,我是拒绝使用 baseline 代码的(毫无挑战);
·那时候他们还没有太强的计算能力;
· 最后我们冒了一个险,结合了其他力量——我献出了我的 devbox / CNNs / ablation 实验和观测,他们提供了发布了数周的代码库。
再一次向她的组织能力及无私建议表达深深的感谢。
队伍成员如下:
· https://github.com/atmyre——她当时是队长(我从她的表现猜想的)。她提交了最终版的遗传差分进化攻击;
· https://github.com/mortido——他用 stellar 启发式最好地实现了 FGVM 攻击 + 用 baseline code 训练了 2 个模型;
·https://github.com/snakers4 - 除了一些消融测试,我提供了 3 个高分的学生模型+计算能力+演示期间和 最后提交版的加班;
· https://github.com/stalkermustang;
最后,我们在彼此身上学到很多,很开心有这次经历。缺少上面三位中哪一位对贡献,我们都不能取得胜利。
2、学生卷积神经网络蒸馏
我用学生模型在训练中实现了最好的分数,因为我用了自己的代码而不是 baseline 里的。
关键点 /有效点:
·对每一个架构单独设计 LR regime;
· 开始时用 Adam + LR 衰减进行训练;
· 然后使用折叠 与/或,甚至更聪明的(我并没有采用)像周期性学习率或权重集成;
· 仔细监控欠拟合和过拟合以及模型容量;
· 手动调节你的日志,不要完全依赖自动日记。虽然它们也可以很好的工作,但如果你每一个都正确调节,则训练时间可以缩短 2 到 3 倍。尤其是遇到像 DenseNet 这样重梯度的模型;
·最好的架构都是适当笨重的;
· 训练 L2 损失而不是均方差也是可以的,但没有那么精确。运行用均方差训练的模型比用 L2 损失训练模型表现出 L2 距离更接近黑箱模型输出。大概是因为均方差,我们使用的箱是批量分别训练每个 Bx512 的对象(允许更多的微调和图像间的信息共享),而 L2 范式是分别训练 2x512 的向量。
没有用的:
· 基于 Inception 的架构(并不合适,因为高的下采样和更高的所需分辨率)。虽然第三名试图采用 Inception-v1 和 全分辨率图像(大约是 250x250);
· 基于 VGG 的架构(过拟合);
·「轻」架构(SqueezeNet / MobileNet——欠拟合);
· 图像增强(不修改描述器——即使第三名的朋友关掉了);
·在全尺寸图像上操作;
·富有挑战精神的主办方在网络最后还是提供了批量规范。不过这对我的队伍并没有什么用,我使用的是自己的代码,但我不太明白为什么它也在这儿;
· 使用特征图和单像素攻击。假定这对全尺寸图像更有用(仅仅比较 112x112x search_space 和 299x299xseach_space)。
我们最好的模型——注意最高分数是 3 * 1e-4。同时也考虑模型的复杂性,不难猜到黑箱模型是 ResNet34。在我的测试中,ResNet50+ 表现不如 ResNet34。
第一名的均方差损失
3、最终得分和消融分析
我们的消融分析就像这样:
顶级解决方案就像这样(好吧,这是对堆叠 ResNet 开了玩笑,他认为 ResNet 是黑箱架构):
其他队伍的一些巧妙有用的技巧:
·自适应的 epsilon 参数;
·增强数据;
· 动量;
· 牛顿动量;
·攻击镜像反射;
· 破解数据——5000 张组合图像中只有 1000 张特有的图像,也就是说你可以生成更多的训练数据。
对 FGVM 有用的启发式:
· 噪声= eps * clamp(grad / grad.std, -2, 2);
·通过梯度集成几个卷积神经网络 CNN;
· 仅当平均损失降低时保存变化;
· 使用目标组合实现更鲁邦的目标;
· 仅使用超过标准均方差的梯度(对 FGSV)。
简单总结:
· 第一名是最不优雅的解决方案;
· 我们有最多样化的解决方案;
· 第三名是最优雅的解决方案。
4、端到端模型
即使他们失败了,在未来也是值得一试的。更多细节请参考官网,简言之,我们尝试了:
· C&W 攻击;
·2 个目标激励的 Siamese LinkNet;
端到端模型
端到端模型流程
我还是认为我的损失是相当优美的。
5、参考文献和进一步阅读
1、比赛主页
2、我们的公共库
3、一个与这个主题接近的关于变分自编码(VAE)的文章系列
4、关于结构相似性(SSIM)的材料
1、维基百科
2、"Backpropable" PyTorch 实现
5、差分进化算法的材料
1、 Stellar 的博客
2、 SciPy
6、演示
1、我们的
2、所有的
7、最有用的两篇文章
1、https://arxiv.org/pdf/1710.06081.pdf
2、https://arxiv.org/abs/1708.03999
8、2 all over the place papers:
1、https://arxiv.org/abs/1712.07107
2、https://arxiv.org/abs/1801.00553
原文链接: https://spark-in.me/post/playing-with-mcs2018-adversarial-attacks
雷锋网雷锋网
相关推荐
- 《亲爱的》特效真厉害,一块绿布贯彻全集,不得不佩服李现的演技
-
说起《亲爱的热爱的》这部电视剧,相信很多人并不陌生,这部电视剧让男演员李现因此爆红,其实李现是一个非常有潜力的男演员,他的表现也非常的精彩。但是大家都知道,在每一部电视剧中都有特效的存在,这部电视剧也...
- 充分运用AI特效,京剧电影《大唐贵妃》正式开机
-
“当唱到‘在天愿为比翼鸟,在地愿为连理枝’的时候,会从演员身后飞起一只巨大无比的比翼鸟,鸟在空中盘旋,刮起的风甚至会吹过角色的脸……”11月10日,电影《大唐贵妃》在上海车墩影视基地正式开机,这是第一...
- 工业光魔:没有PS的年代,特效怎么做?
-
大家好,我是戴着眼镜拿着话筒的阿拉斯加,片片。昨天,我给大家简单介绍了传奇特效公司——工业光魔的起源。...
- 价值13亿的“爽片”上映,每一帧都是钱砸出来的特效,却无缘国内
-
在七月二号的时候;美国在网络上面上映了一部大制作的“爽片”《明日之战》。...
- 影视特效是怎么制作出来的?来,一起体验吧!
-
电影是人们生活中不可缺少的一部分,是视觉与听觉相结合的现代艺术。悲剧、喜剧、亲情、友情、爱情都是它所能展现的内容。影视艺术有哪些独有的特征?什么是蒙太奇?全息影片又是什么意思?最近,少儿频道的一档节目...
- ps五分钟学会自己制作“特效”
-
嗨,欢迎观看本期的摄影后期教学。那就是教大家一个特别炫酷,特别实用的ps“特效”光!有同学会问,“啊,特效光是不是特别难,我一点ps都不会!”咳咳不要着急,karry的教学都是针对ps零基础的同学的,...
- 抖音这个特效太扎心,无数网友看着看着就哭了……
-
2078年的你,会是什么样子?最近,抖音上一款特效火了。它可以让你看到自己从现在到2078年的容貌变化,你可以一点点看着皱纹爬上眼角,白发布满双鬓。看着看着,很多网友就哭了。有人说,一辈子很长却也很短...
- 《爱情公寓》的特效有多好?这集花了300万,网友看不出来特效
-
对于有些电视剧来说,特效那可是相当重要的一个部分了。尤其是对那些科幻片和一些玄幻类的电视剧就更加了。一部剧或者是影片特效的好坏,直接就影响了这个作品的质量。首先就让我们来看一下电视剧孤芳不自赏吧!里面...
- 窗花剪纸、鸭头滤镜、潜艇王者…… 揭秘抖音特效那些事儿
-
更多往期「Byte漫来了」系列漫画,可点击阅读:...
- 原来影视剧中的“光头”全是这样弄的 观众被骗了许多年
-
不管是电影还是电视剧,都会有光头因为是剧情的需要,那么她们的光头会是怎么弄的呢?一直都以为那些演员都是要真的剃光头,看到这些照片后,才知道深深的被骗了许多年。在影视中,常常看到演员有光头的戏,她在外出...
- 这些特效给几分?春晚舞台显示技术盘点
-
[中关村在线投影机频道原创]从1983年开始,春晚成为国人大年三十晚上最期待的一场精神盛宴。直播式节目播出方式,各类表演大师云集舞台,相声小品歌舞欢聚一堂,这是很多家庭一年中最欢乐的时刻,而春晚,则是...
- 11 款六元秒杀特效对比,哪个赢了不知道,貂蝉一眼输了
-
已经上线了11款六元秒杀皮肤,其中部分是升级后的“伴生皮”,也就是英雄的首款皮肤,首周六元之后恢复原价488点券。无论是何种形式的六元皮肤,不得不说他们的质量都非常好,这11款皮肤的特效对...
- 《半条命2 RTX》上架Steam 光追特效+4K效果
-
《半条命2RTX》现已在Steam平台正式上架,这款屡获殊荣的游戏以其沉浸式的故事、惊险的战斗和令人费解的物理特性吸引了全球数百万玩家,游戏现已经新增全面光追、物理纹理以及增强的多边形效果进行了彻底...
- 微信又有新玩法?多种好看特效可选择,赶快安排上
-
今日分享:手机特效适用系统:安卓今天小雷又发现了一个好玩的东西,就是手机加上特效也太好看了吧!早上上班的时候发现同事打开微信后,微信页面居然下起了樱花雨。看了同事的微信页面小雷我真的觉得太好玩太好看了...
- 判若两人!揭秘好莱坞的特效化妆过程
-
好莱坞的特效化妆牛到什么程度呢?可以把美人化妆成丑八怪,把黑人化妆成白人,把年轻人化妆成老人,把女人化妆成男人,把男人化妆成女人,把普通人化妆成怪物、外星人甚至异鬼……来见识一下这些神奇化妆术的“变...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)