SysML 2019提前看:神经网络安全性

本文涉及的产品
图像搜索,7款服务类型 1个月
简介: 自从对抗攻击(Adversarial Attack)在图像识别网络上被发现之后,神经网络的应用安全成了一个热议的话题。这里介绍 SysML 2019大会两篇有关神经网络安全性的论文。第一篇讨论对抗攻击在离散输入的泛化定义,并将其应用于文档处理的网络上,第二篇讨论对抗攻击和常用的网络压缩的关系。

SysML简介:SysML,全名为 System and Machine Learning,其目标群体是计算机系统和机器学习的交叉研究。会议由斯坦福大学的研究人员牵头,致力于发展这两方面领域的新的交集,包括机器学习在计算机系统应用上的实践方法和设计概念,以及与实践相结合的新的机器学习方法和理论。


声明:本文的所有图片和公式都来自于原论文。


论文 1: 离散对抗攻击和次模函数的优化以及在文本分类中的应用


  • 论文:DISCRETE ADVERSARIAL ATTACKS AND SUBMODULAR OPTIMIZATION WITH APPLICATIONS TO TEXT CLASSIFICATION
  • 作者:Qi Lei, Lingfei Wu. 等等
  • 来源地址 https://www.sysml.cc/doc/2019/79.pdf 


1. 背景知识


对抗攻击:对用于图像识别的神经网络的攻击。


微信图片_20211130223844.jpg

神经网络可以成功地识别左图为熊猫。但是通过在原图上添加人眼难以分辨的噪音之后,神经网络以高置信率识别右图为长臂猿。图片来自于 https://openai.com/blog/adversarial-example-research/


对抗攻击威胁了现存的神经网络的应用安全。如果通过图像识别的银行,或者自动驾驶系统被恶意攻击,后果将不堪设想。所以如何防御对抗攻击,以及是否还存在其他形式的对抗攻击,都是很重要的研究问题。


本文解决的问题:常见的对抗攻击一般是用于图像识别的神经网络,他们的输入是一个矩阵。这篇文章将对抗攻击泛化到离散集网络, 讨论并实现了对抗攻击在离散集输入神经网络中的应用。此框架适用的应用类型如下表所示:


微信图片_20211130223848.pngimage.gif

处理离散集数据的神经网络包括很多常用的文本识别,病毒程序鉴定和恶意网站鉴定。


2. 方法


处理离散数据的神经网络:通常,离散数据会被转换成特征向量,比如 bag of words 算法。下图,一个句子「I like to eat lunch in this cafe」转化成为特征矢量之后,输入卷积/或是循环神经网络,然后网络输出计算结果。


微信图片_20211130223851.jpgimage.gif


3. 问题建立


离散数据的对抗攻击可以抽象成一个优化问题。在输入的意义不变的情况下,寻找别的特征矢量集来替代当前的特征矢量集,同时最大化网络对攻击对象的输出,使得网络识别对抗样本为攻击对象,与此同时不改变输入的语义。本文把最抽象的这类问题总结为 Problem 1,又证明 problem 1 是一个 NP hard 的问题。


微信图片_20211130223854.jpg


4. 对问题的转化


如果假设神经网络函数光滑的话,classification function 就可以被泰勒展开。


微信图片_20211130223856.png


Problem 1 可以放松成 Problem 2,是一个可以在多项式时间 (polynomial time) 解决的问题。


微信图片_20211130223900.jpg


由于 Classification function 是被泰勒展开的,对于 Problem 2 的优化只关心相近的信息,但是像词嵌入 (word embedding) 这类的预处理,近义词不一定在矢量表示里互相接近,所以传统的梯度算法效果并不好。


但是另外一个有用的方法就是假设对于文本处理的神经网络是一个次模函数。来自百度百科的直观理解是,「次模函数是一个集合函数,随着输入集合中元素的增加,增加单个元素到输入集合导致的函数增量的差异减小」。作者证明了用于语言识别的神经网络:WCNN 与 RNN 都是次模函数。


由于在问题一的定义下,f 是一个单调递增的函数,加之 f 的次模函数属性,问题转化成在模的限制下最大化一个单调递增的次模函数,这种问题可以很好的用贪婪算法寻找近似的最优解。


5. 语言识别网络的对抗攻击


对抗攻击在本文的定义:在不改变文本语义的情况下,替换文本词汇而导致神经网络的误判。


本文采取的方法是对一句话的多个词语进行替换,在不改变语义的情况下,让识别文字的神经网络误判。示例见下图:


微信图片_20211130223904.jpgimage.gif


5.1 语句和词语的同意义转换


在寻找同意义的语句替换时,既要保持语义相近,又要保持语法自然。为了保持语义相近,该研究用 WMD(word mover distance) 作为语义相似度的衡量标准。


作者在语法自然方面使用了以下限制条件:


微信图片_20211130223907.pngimage.gif

x' 是 x 的对抗攻击语句。也就是说,新的替换语句 x'的概率与原语句的概率应该是相近的。


5.2 结合梯度贪婪算法,本文的攻击算法如下:


在算法一中,文档的句子被拆开,分别用特征矢量表达。line 3 中把矢量特征表达的句子找到句义想近的句集,同时保持 word mover distance 小于临界值。再使用算法二寻找替换的句子。之后将句子拆成词语,用特征矢量表达,在 WMD 低于临界值,而且句法不变的情况下,产生相邻的词语集,再用算法三替换句子中的词语。


算法二中,用贪婪算法寻找同意义的句子,在转换过的句子数小于临界值的时候,在保持网络判断始终是攻击判断的情况下替换成同意义的句子。


算法三中,通过梯度信息找到一系列从词义相近集里的词语,在保持网络判断不变的情况下,替换语句里的词语。


image.gif

微信图片_20211130223911.jpgimage.gif

6. 实验与结果


这种攻击算法先后用于 WCNN 与 LSTM,并在三个任务上做了实验:


1. 甄别文档是否为假新闻(News),

2. 甄别垃圾邮件,

3. 从 Yelp 里的文字评论判断用户给几颗星。


此外,作者又把这个方法和另一个方法(kuleshov et. al. 2018)进行了比较,结果如下:


微信图片_20211130223917.jpg

可见通过文档同语义替换,该方法可以把原先网络识别准确性从大于 90% 降到 50% 以下,同时该方法也优于其对比方法。

微信图片_20211130223920.jpg

另外,作者还对比了攻击成功率和替换语句多少的关系。可见替换句子越多,句子里的词语替换越多,攻击的成功概率就越大。


为了确保算法替换过的语句相比较原语句不会对人类读者造成歧义,作者把攻击语句给人类阅读进行对比试验,相比于神经网络,人类可以很好地区分文档的意义,结果如下:


微信图片_20211130223924.jpg

总结


该论文给出了一个对待离散输入网络的攻击方法,把它转换成一个优化问题,并且证明了用于文本识别的网络函数的次模性,指出贪婪算法可以很好的近似最优解。并且成功地将这个攻击应用在了文本识别的网络上。


分析师评论


以往对抗攻击大多用于图像识别网络,这篇文章用了一个更广泛的对抗攻击的定义,指出一个用于文本处理的网络也可以进行对抗攻击。此方法较为新颖,它把矩阵输入泛化到离散集输入,因而衍生出许多相关应用,并不局限于语言处理。


论文 2:理解对抗攻击与神经网络压缩之间的关系


  • To Compress or Not to Compress: Understanding the Interactions between Adversarial Attacks and Neural Network Compression.
  • 作者: Yiren Zhao, Ilia Shumalov 等等。
  • 来源链接: https://www.sysml.cc/doc/2019/127.pdf


1. 介绍


由于神经网络的参数量巨大,在工程实践中,尤其是在硬件的处理上,大量的参数需要被压缩,剪枝&量化 (pruning & quantization) 是两种常用的神经网络压缩方式。作者模拟了黑客攻击神经网络的几种方式,其中包括对经过参数压缩的神经网络进行攻击,因此这篇文章的主要贡献是系统的讨论了压缩和对抗攻击的关系。


2. 相关知识


2.1 pruning(剪枝)


这是一种常见的缩减参数的方法,经常应用于神经网络从软件到硬件的转换中。简单的说,pruning 就是在各个参数之外加一个 mask operation,比如以下公式:


微信图片_20211130223929.png

微信图片_20211130223933.pngimage.gif

image.gif


一种常见的 mask 的作用就是把临界值\alpha 以下的参数变为 0. 这种方法被称为 one-shot-pruning,可以把常见的 Alexnet 参数含量减少 9 倍以上。


比 one-shot-pruning 更优的方法叫做 dynamical network surgery,也就是设一个上限和下限。


微信图片_20211130223936.png


上限和下限中间的参数可以继续进行学习和调整。这种方法可以使压缩率更大。本文正是采用了这种 pruning 方法。


2.2 量化


顾名思义,就是把原先用 32 比特表示的参数量用更少的比特来表示。有文献指出,将原 32 比特的参数用稍小精度的」low precision fix point number」表示之后,比如 8 比特,网络的识别准确率没有大的变化。但是对于储存有限的硬件来说,这种量化的方法可以大大地提高网络的应用性能。


3. 对于威胁的模拟


根据假设黑客的攻击模式,作者列出了以下的三种情况。


情况 1. 黑客通过对压缩过的网络模型进行攻击,再把攻击应用于别的压缩过的网络。

情况 2. 黑客对原模型制造的神经网络进行攻击,再把攻击应用于压缩过的网络。

情况 3. 黑客对压缩过的神经网络进行攻击,再把攻击应用于原网络。


下图表示情况一和情况三:


微信图片_20211130223940.jpg


3.1 神经网络模型与压缩方法


本文使用 LeNet5 对 MNIST 手写数字的识别,和 CifarNet 对于 CIFAR10 图像数据的识别。


对于压缩方法,本文使用了 fine-grained pruning,并且对参数和 activation 都进行了量化。


3.2 对抗方法:


本文使用了三种最常见的攻击方法:I-FGSM, I-FGM, 和 Deepfool.


4. 结果


4.1 pruning 和攻击的关系


微信图片_20211130223943.jpgimage.gif


作者指出:


1. 如果对 slightly pruned 的网络的攻击可以成功地攻击原网络,反之亦然。

2. 对于 heavily pruned 的网络的攻击难以转换成原网络的攻击,但是 heavily pruned 的网络的识别准确率也大大地下降。

3. 对于原网络的攻击可以成功地转换成对 pruning 处理过网络的攻击。这种情况下准确性大大提高,而且 transferability 也最小化。


4.2 量化和攻击的关系:


微信图片_20211130223946.jpg

image.gif

作者指出:


1. 当 bit-width 高的时候,对量化的网络攻击可以转移到对原网络的攻击,反之亦然。

2. 当 bit-width 低的时候,对量化的网络攻击更难以转换到对原网络的攻击。

3. 作者认为,量化激活函数改变了 CNN 的特征空间,从而使得攻击更加难以转移到原网络


总结


这篇文章主要是实验性地对神经网络压缩和对抗攻击的关系进行了研究,对于机器学习模型的安全性研究具有重要意义。pruning 减少了网络的参数密度,对于用原网络作出的攻击有较小防御性,对参数和激活函数的大幅度量化也能使攻击的转移性变小。但是总地来说,黑客如果对大多数现有应用中的高 bit-width 压缩过的网络进行攻击,可以成功的攻击原网络或者是别的压缩过的网络。


分析师简介:Shuchen 目前在图宾根大学人工智能研究所与马克斯普朗克智能系统做研究实习,项目研究如何使深度神经网络的图像识别更接近于人类的视觉识别。本科物理,计算神经硕士。主要研究兴趣在于寻找生物学习的的计算模型。欢迎交流。



本文为机器之心原创,转载请联系本公众号获得授权

相关文章
|
10天前
|
存储 安全 网络安全
远程工作的新常态:确保家庭网络的安全性
远程工作的新常态:确保家庭网络的安全性
19 3
|
2月前
|
安全 算法 网络安全
无线网络中的WEP协议及其安全性问题
无线网络中的WEP协议及其安全性问题
82 0
|
5月前
|
安全 Java 网络安全
Java网络编程:高级应用与安全性探讨
Java网络编程:高级应用与安全性探讨
|
4月前
|
安全 Java 网络安全
Java网络编程:高级应用与安全性探讨
Java网络编程:高级应用与安全性探讨
|
4月前
|
安全 NoSQL Java
网络安全-----Redis12的Java客户端----客户端对比12,Jedis介绍,使用简单安全性不足,lettuce(官方默认)是基于Netty,支持同步,异步和响应式,并且线程是安全的,支持R
网络安全-----Redis12的Java客户端----客户端对比12,Jedis介绍,使用简单安全性不足,lettuce(官方默认)是基于Netty,支持同步,异步和响应式,并且线程是安全的,支持R
|
6月前
【专栏】子网划分在现代网络工程中的重要性,包括管理网络、增强安全性和优化IP地址使用
【4月更文挑战第28天】本文介绍了子网划分在现代网络工程中的重要性,包括管理网络、增强安全性和优化IP地址使用。文章阐述了子网划分的原理,如通过子网掩码划分广播域以减少网络风暴。接着,详细说明了子网划分的方法,涉及需求分析、选择子网掩码、计算子网及广播地址等步骤,并提到了VLSM和CIDR等高效技术。最后,通过实例展示了如何进行子网划分,强调实践对于掌握这项技能的关键作用。学习子网划分能提升网络管理和设计能力。
178 4
|
6月前
|
运维 安全 网络架构
【专栏】NAT技术是连接私有网络与互联网的关键,缓解IPv4地址短缺,增强安全性和管理性
【4月更文挑战第28天】NAT技术是连接私有网络与互联网的关键,缓解IPv4地址短缺,增强安全性和管理性。本文阐述了五大NAT类型:全锥形NAT(安全低,利于P2P)、限制锥形NAT(增加安全性)、端口限制锥形NAT(更安全,可能影响协议)、对称NAT(高安全,可能导致兼容性问题)和动态NAT(公网IP有限时适用)。选择NAT类型需考虑安全性、通信模式、IP地址数量和设备兼容性,以确保网络高效、安全运行。
568 1
|
6月前
|
安全
哪些因素影响网络交易商品(服务)的安全性?
【5月更文挑战第14天】哪些因素影响网络交易商品(服务)的安全性?
56 0
|
Rust 监控 并行计算
用Rust构建电脑网络监控软件:内存安全性和多线程编程
在当今数字化世界中,网络安全一直是至关重要的问题。电脑网络监控软件是确保网络系统安全和高效运行的关键工具。然而,编写电脑网络监控软件需要处理复杂的多线程编程和内存安全性问题。Rust编程语言提供了一种强大的方式来构建安全的电脑网络监控软件,同时避免了许多常见的编程错误。
348 0
|
网络协议 安全 网络安全
《计算机系统与网络安全》 第二章 计算机网络基础与TCPIP协议安全性
《计算机系统与网络安全》 第二章 计算机网络基础与TCPIP协议安全性
98 0