Hinton领衔谷歌大脑新研究,通过胶囊网络重构自动检测对抗样本

2018 年 12 月 02 日

Hinton领衔谷歌大脑新研究,通过胶囊网络重构自动检测对抗样本

AI 前线导读:


胶囊网络(capsule network,CapsNet)可以自动把对抗样本揪出来啦!这项研究来自 capsule 模型的原作者 Sabour、Frosst 以及 Hinton,相关论文将在 NIPS 2018 的机器学习安全研讨会中展示。


Hinton 团队在 2017 年发表在 NIPS 上的论文曾经介绍,通过添加一个能够从顶层胶囊的姿态参数和身份重构输入图像的网络,可以提高胶囊网络的判别能力(Dynamic routing between capsules)。而在最新论文中,该团队提出重构网络可以视作检测对抗性攻击的非常有效的方法:从获胜的顶层胶囊的身份和姿态参数中重构输入,以验证网络能够感知我们期望它从某个类的典型样例中感知的东西。本文是 AI 前线第 59 篇论文导读。


更多干货内容请关注微信公众号“AI 前线”(ID:ai-front)



在这篇论文中,作者提出了一项简单的方法,可以让胶囊网络检测出对抗图像样本。除了图像分类的训练任务之外,作者训练胶囊网络根据顶层胶囊的姿态参数和身份来重构图像。由于对抗样本看起来不像目标类的典型成员,因此从该类的顶层胶囊生成重构图像时,它们会有更大的重构误差。实验证明了在输入图像和重构图像之间的 L2 距离上设置阈值可以有效检测出攻击图像。同样的方法对于其他能够从隐层重构图像的卷积神经网络也使用。作者进一步探索了更强的白盒攻击,将重构误差考虑在内。这种攻击能够欺骗检测技术,但是为了能让模型将预测结果改变为目标类别,必须使对抗图像类似于目标类别的图像。


介绍


通过重构网络反向传播的导数,可以让顶层胶囊的姿态参数捕获关于图像的大量信息。这样训练的胶囊网络不仅可以输出分类结果,而且可以输出输入图像的类别条件重构。重构子网络可以视作一种检测对抗性攻击的非常有效的方法。作者提出 DARCCC,是一种与攻击独立的检测技术,它依赖于真实图像和对抗图像的类重构距离分布之间的差异。作者进一步将 DARCCC 扩展到更标准的图像分类网络(卷积神经网络),并且在三个 MNIST、Fashion-MNIST 和 SVHN 数据集上证明了检测方法对黑盒攻击和典型白盒攻击的有效性。


不过论文提出的检测方法可以被更强的白盒攻击(R-BIM)所击败。这种白盒攻击将重构误差考虑在内,并且通过迭代地方式干扰图像,以得到更好的重构结果。然而,这种更强的攻击不会产生看起来像原始图像的典型对抗图像,而是带有少量的附加噪声。为了使模型不能正确地对图像进行分类,对原始图像的扰动必须很大,并且得到类似于目标类图像的“对抗”图像。此外,对于胶囊网络,如果给重构误差足够的权重以避免检测,则通常无法以导致错误分类的方式改变图像。图 1 给出了从真实数据和对抗样本中重构的图像,对抗重构与输入图像之间的偏差是这个方法的主要动机。



图 1 用真实数据和对抗样本训练的胶囊网络的预测类别姿态参数中重构的图像,目标类别为“1”。从对抗数据中重构出的图像比输入图像更像“1”。


方法


在 2017 年,Sabour 等人(Sara Sabour, Nicholas Frosst, and Geoffrey E Hinton. Dynamic routing between capsules. In Advances in Neural Information Processing Systems, pages 3856–3866, 2017)提出的 CapsNet 的重构网络,将所有类别胶囊的姿态参数作为输入,然后通过 masking 操作,将除了预测类别的姿态参数外的所有值设为 0。在训练过程中,他们优化输入图像和重构图像直接的 L2 距离以及类别误差。在这篇文章中,作者使用同样的重构网络来检测对抗攻击,优化输入和预测重构之间的欧式距离。图 2 显示了自然图像和对抗图像的重构距离的直方图。作者利用两个分布(真实图像和对抗图像的类重构距离分布)之间的差异,提出了 DARCCC:基于分类重构检测攻击。DARCCC 将图像的重构距离作为阈值,判断其是否为对抗样本。





图 2 不同模型输入和重构之间的 L2 距离直方图,输入分别为 MNIST、Fashion MNIST 和 SVNH 数据集上的真实和对抗数据。作者用 FGSM 来产生攻击数据。


尽管上述系统是为胶囊网络的姿态参数设计,这个方法也可以延伸到其他网络。作者设计了一个类似的结构,“Masked CNN+R”,通过使用一个标准的卷积神经网络,然后将倒数第二个隐层按类别分组。每个神经元组的和作为该类别的分数,然后通过 Masking 方法,将整个组传递给重构子网络。作者进一步通过省略 Masking 操作,用传统的“CNN+R”模型,将整个倒数第二层用于重构,研究了类别条件重构的影响。


检测阈值


DARCCC 的阈值基于输入图像和重构图像之间的期望距离。如果输入和重构之间的距离高于设定阈值,DARCCC 则将数据认定为攻击样本。选择阈值需要在假阳性和假阴性检测率中进行权衡。因此,应该根据系统被攻击的假设可能性来选择阈值。Gilmer 等人的论文(Justin Gilmer, Luke Metz, Fartash Faghri, Samuel S Schoenholz, Maithra Raghu, Martin Wattenberg, and Ian Goodfellow. Adversarial spheres. arXiv preprint arXiv:1801.02774, 2018)讨论了该如何进行权衡。在实验中,作者没有调整这个参数,而是直接设置为验证距离的 95%,也就是说在真实验证数据集上的假阳性率是 5%。


实验


实验所用三个模型,胶囊网络(Capsule)、CNN+R 以及 Masked CNN+R,参数数量相同。图 3 给出了每个网络的结构。所有模型的训练参数一样,超参数经过选择使模型在测试集上表现大致相同。


图3 CNN+R和胶囊网络结构图


表 1 给出了训练模型在三个数据库(MNIST、Fashion-MNIST 和 SVHN)上的测试准确率。



表 1


黑盒对抗攻击检测


为了测试 DARCCC 在黑盒攻击的表现,我们训练了一个有两层卷积和两个隐层的标准 CNN 网络,没有重构网络,然后用 FGSM 方法来生成对抗攻击样本。图 4 给出了误差率、攻击检测率以及成功攻击检测率的曲线图。对于所有三个模型,DARCCC 不仅准确的检测出了成功的攻击样本(成功攻击检测率,攻击改变了网络的分类结果),并且不管攻击样本有没有改变网络的分类,都检测出了样本的扰动(攻击检测率)。




图 4 DARCCC 检测率和黑盒 FGSM 攻击误差率曲线图


白盒对抗攻击检测


作者测试了 DARCCC 对于白盒 BIM(Basic Iterative Method)对抗攻击方法的表现。图 5 给出了成功攻击率(将分类结果改变为目标类别)、攻击检测率(图片是否被改动)以及成功攻击检测率(检测出预测结果改变的图片)随迭代次数变化曲线图。对于所有模型,DARCCC 在 Fashion MNIST 和 MNIST 数据集上可以在一定程度上检测出攻击,但是在胶囊模型上,DARCCC 也能够检测出 SVHN 数据集中的对抗样本。



图 5 DARCCC 检测率和白盒 BIM 攻击成功率随迭代次数变化曲线图


重构 BIM 攻击


有目标的 BIM 方法用梯度来最大化目标类别的分类概率。由于重构距离也是可导的,作者将 BIM 修改为 R-BIM,最小化重构距离。R-BIM 是专门为击败 DARCCC 而设计的。图 6 给出了随机 10 张 SVHN 图像作为初始输入,以及 R-BIM 运行 100 步后的结果,目标类别为“0”。我们发现几张被改动的样本看起来像“0”。但是它们并不是对抗图像,因为对于肉眼来说它们与预测类别太过相似。这也意味着其梯度与真实数据分布在同一流形。论文附录给出了 MNIST 和 Fashion MNIST 数据集上的结果。对于 Fashion MNIST,只有胶囊模型的攻击样本与目标类别的真实图像相似。



图 6 第一排是初始 SVHN 图像,受 R-BIM 攻击,目标类别为“0”。后面几行是不同模型生成的成功对抗样本。



图 7 R-BIM 攻击成功率和 DARCCC 检测率曲线图


总结


这篇文章中作者提出了 DARCCC,一个能够检测对抗攻击的简单结构扩展。DARCCC 主要基于重构和输入图像之间的相似性度量。这一度量在训练过程中用于训练重构网络,在测试过程中区分对抗样本。在 3 个数据集上的实验表明,样本之间的距离与语义相似性大致相关。但是在更复杂的数据集如 Cifar10 或 ImageNet 中,情况并不是这样。更复杂的数据集中两张图像可能在外观上很相似,但是 L2 距离很大。如何将本文提出的方法扩展到更复杂的问题上可以作为未来的研究方向。


需要注意的是,DARCCC 并不依赖于某个特定的预定义的对抗攻击。通过从网络内部的类别条件表示重构输入,系统可以准确的检测黑盒攻击,以及 FGSM 和 BIM 白盒攻击。在作者所探讨的三个模型中,胶囊网络是最适合这个任务的,并且在所有实验数据集上检测对抗样本的准确率更高。作者随后提出了一个新的,更强大的攻击方法,R-BIM,攻击不仅优化分类损失,还优化重构损失。这种攻击没有标准攻击的成功率高,尤其是胶囊网络显示了较好的适应性。对于更复杂的数据集例如 SVHN,作者发现检测方法不能检测出强对抗攻击,不过可视化结果中,被干扰图像往往与目标类别的真实数据流形十分相似,所以他们缺乏典型对抗攻击的反常性。


查看论文原文:


https://arxiv.org/pdf/1811.06969.pdf



链接:http://t.cn/E28YBT9


2018 年 12 月 02 日 14:00922
用户头像

发布了 51 篇内容, 共 22.2 次阅读, 收获喜欢 60 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

【小菜学网络】物理层概述

fasionchan

网络编程 计算机网络 网络协议 TCP/IP 物理层

Tronex智能合约APP系统开发|Tronex智能合约软件开发

开發I852946OIIO

系统开发

shell脚本的使用该熟练起来了,你说呢?(篇三)

良知犹存

Shell

2020最新最全的Java架构面试复习指南,掌握10%阿里P7没问题

Java架构之路

Java 程序员 架构 面试 编程语言

《架构即未来:现代企业可扩展的Web架构流程和组织》.pdf

田维常

架构

TCC Demo 代码实现

Java 分布式事务 Demo TCC

spring2.5.6+java6升级到spring4+java8了

阿水

Java spring 升级

怎么保护自己的音乐作品不被盗用,用FL制作防盗水印片段

懒得勤快

版权保护 音乐 音乐制作 编曲

Week 12

黄立

2021数字化投资规划,你做好了吗?

ThoughtWorks洞见

架构 业务架构

美团十年架构师精心分享:手写分布式消息中间件RocketMQ笔记

小Q

学习 面试 微服务 MQ 中间件

《前端算法系列》如何让前端代码速度提高60倍

徐小夕

Java 算法 前端 前端进阶

阿里聚划算5轮面试题:GC收集器、多线程锁、海量数据技术考核

Java架构之路

Java 程序员 架构 面试 编程语言

记录一次腾讯c/c++ linux后台开发岗面试经历(面试题含答案)

linux大本营

c++ Linux 腾讯 后台开发 架构师

架构训练营-week12-作业1

于成龙

网易游戏部门Java架构师必看的“完美版”Netty源码笔记

Java架构追梦

Java 学习 源码 架构 Netty

2020年我凭借这份pdf成功拿到了阿里,腾讯,京东等六家大厂offer

Crud的程序员

Java 阿里巴巴 程序员 java面试 offer

天下武功,唯“拆”不破之MECE原则一| 技术人应知的创新思维模型 (5)

Alan

职场成长 28天写作营 技术人应知的创新思维模型 组合创新 结构化思维

基于 getty 的分布式事务框架seata-golang 通信模型详解

apache/dubbo-go

dubbo dubbo-go dubbogo seata

图解MyBatis

田维常

TRONex智能合约APP系统软件开发

开發I852946OIIO

系统开发

100+大厂应届offer,从7个维度全面分析

程序员小灰

编程 面试 面经 腾讯大厂

OSI七层模型与TCP/IP五层模型

Linux服务器开发

TCP/IP 网络协议栈 底层应用开发 Linux服务器开发 OSI

iOS面试高薪,进阶 你会这些呢嘛?

ios swift 面试

面试官:简单说一下RocketMQ整合SpringBoot吧

比伯

Java 编程 程序员 架构 计算机

架构师训练营第 12 周学习总结

netspecial

极客大学架构师训练营

架构训练营-week-12总结

于成龙

架构训练营

作业-第8周

arcyao

第三周设计作业

cc

第三周学习心得

cc

Gradle使用问题梳理

maijun

Gradle

Hinton领衔谷歌大脑新研究,通过胶囊网络重构自动检测对抗样本-InfoQ