百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

手把手教你如何取得MSC对抗赛的胜利

yuyutoo 2024-10-13 00:29 2 浏览 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

雷锋网雷锋网

相关推荐

史上最全的浏览器兼容性问题和解决方案

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

平面设计基础知识_平面设计基础知识实验收获与总结
平面设计基础知识_平面设计基础知识实验收获与总结

CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

2025-02-21 16:01 yuyutoo

写作排版简单三步就行-工具篇_作文排版模板

和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

写一个2048的游戏_2048小游戏功能实现

1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

  最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

柠檬科技肖勃飞:大数据风控助力信用社会建设

...

你的自我界限够强大吗?_你的自我界限够强大吗英文

我的结果:A、该设立新的界限...

行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

2025-02-21 16:00 yuyutoo

今年国家综合性消防救援队伍计划招录消防员15000名

记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

style="text-align:center;"data-mce-style="text-align:...

学物理能做什么?_学物理能做什么 卢昌海

作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

你不知道的关于这只眯眼兔的6个小秘密
你不知道的关于这只眯眼兔的6个小秘密

在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

2025-02-21 16:00 yuyutoo

取消回复欢迎 发表评论: