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. 背景知识
对抗攻击:对用于图像识别的神经网络的攻击。
神经网络可以成功地识别左图为熊猫。但是通过在原图上添加人眼难以分辨的噪音之后,神经网络以高置信率识别右图为长臂猿。图片来自于 https://openai.com/blog/adversarial-example-research/
对抗攻击威胁了现存的神经网络的应用安全。如果通过图像识别的银行,或者自动驾驶系统被恶意攻击,后果将不堪设想。所以如何防御对抗攻击,以及是否还存在其他形式的对抗攻击,都是很重要的研究问题。
本文解决的问题:常见的对抗攻击一般是用于图像识别的神经网络,他们的输入是一个矩阵。这篇文章将对抗攻击泛化到离散集网络, 讨论并实现了对抗攻击在离散集输入神经网络中的应用。此框架适用的应用类型如下表所示:
处理离散集数据的神经网络包括很多常用的文本识别,病毒程序鉴定和恶意网站鉴定。
2. 方法
处理离散数据的神经网络:通常,离散数据会被转换成特征向量,比如 bag of words 算法。下图,一个句子「I like to eat lunch in this cafe」转化成为特征矢量之后,输入卷积/或是循环神经网络,然后网络输出计算结果。
3. 问题建立
离散数据的对抗攻击可以抽象成一个优化问题。在输入的意义不变的情况下,寻找别的特征矢量集来替代当前的特征矢量集,同时最大化网络对攻击对象的输出,使得网络识别对抗样本为攻击对象,与此同时不改变输入的语义。本文把最抽象的这类问题总结为 Problem 1,又证明 problem 1 是一个 NP hard 的问题。
4. 对问题的转化
如果假设神经网络函数光滑的话,classification function 就可以被泰勒展开。
Problem 1 可以放松成 Problem 2,是一个可以在多项式时间 (polynomial time) 解决的问题。
由于 Classification function 是被泰勒展开的,对于 Problem 2 的优化只关心相近的信息,但是像词嵌入 (word embedding) 这类的预处理,近义词不一定在矢量表示里互相接近,所以传统的梯度算法效果并不好。
但是另外一个有用的方法就是假设对于文本处理的神经网络是一个次模函数。来自百度百科的直观理解是,「次模函数是一个集合函数,随着输入集合中元素的增加,增加单个元素到输入集合导致的函数增量的差异减小」。作者证明了用于语言识别的神经网络:WCNN 与 RNN 都是次模函数。
由于在问题一的定义下,f 是一个单调递增的函数,加之 f 的次模函数属性,问题转化成在模的限制下最大化一个单调递增的次模函数,这种问题可以很好的用贪婪算法寻找近似的最优解。
5. 语言识别网络的对抗攻击
对抗攻击在本文的定义:在不改变文本语义的情况下,替换文本词汇而导致神经网络的误判。
本文采取的方法是对一句话的多个词语进行替换,在不改变语义的情况下,让识别文字的神经网络误判。示例见下图:
5.1 语句和词语的同意义转换
在寻找同意义的语句替换时,既要保持语义相近,又要保持语法自然。为了保持语义相近,该研究用 WMD(word mover distance) 作为语义相似度的衡量标准。
作者在语法自然方面使用了以下限制条件:
x' 是 x 的对抗攻击语句。也就是说,新的替换语句 x'的概率与原语句的概率应该是相近的。
5.2 结合梯度贪婪算法,本文的攻击算法如下:
在算法一中,文档的句子被拆开,分别用特征矢量表达。line 3 中把矢量特征表达的句子找到句义想近的句集,同时保持 word mover distance 小于临界值。再使用算法二寻找替换的句子。之后将句子拆成词语,用特征矢量表达,在 WMD 低于临界值,而且句法不变的情况下,产生相邻的词语集,再用算法三替换句子中的词语。
算法二中,用贪婪算法寻找同意义的句子,在转换过的句子数小于临界值的时候,在保持网络判断始终是攻击判断的情况下替换成同意义的句子。
算法三中,通过梯度信息找到一系列从词义相近集里的词语,在保持网络判断不变的情况下,替换语句里的词语。
6. 实验与结果
这种攻击算法先后用于 WCNN 与 LSTM,并在三个任务上做了实验:
1. 甄别文档是否为假新闻(News),
2. 甄别垃圾邮件,
3. 从 Yelp 里的文字评论判断用户给几颗星。
此外,作者又把这个方法和另一个方法(kuleshov et. al. 2018)进行了比较,结果如下:
可见通过文档同语义替换,该方法可以把原先网络识别准确性从大于 90% 降到 50% 以下,同时该方法也优于其对比方法。
另外,作者还对比了攻击成功率和替换语句多少的关系。可见替换句子越多,句子里的词语替换越多,攻击的成功概率就越大。
为了确保算法替换过的语句相比较原语句不会对人类读者造成歧义,作者把攻击语句给人类阅读进行对比试验,相比于神经网络,人类可以很好地区分文档的意义,结果如下:
总结
该论文给出了一个对待离散输入网络的攻击方法,把它转换成一个优化问题,并且证明了用于文本识别的网络函数的次模性,指出贪婪算法可以很好的近似最优解。并且成功地将这个攻击应用在了文本识别的网络上。
分析师评论
以往对抗攻击大多用于图像识别网络,这篇文章用了一个更广泛的对抗攻击的定义,指出一个用于文本处理的网络也可以进行对抗攻击。此方法较为新颖,它把矩阵输入泛化到离散集输入,因而衍生出许多相关应用,并不局限于语言处理。
论文 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,比如以下公式:
一种常见的 mask 的作用就是把临界值\alpha 以下的参数变为 0. 这种方法被称为 one-shot-pruning,可以把常见的 Alexnet 参数含量减少 9 倍以上。
比 one-shot-pruning 更优的方法叫做 dynamical network surgery,也就是设一个上限和下限。
上限和下限中间的参数可以继续进行学习和调整。这种方法可以使压缩率更大。本文正是采用了这种 pruning 方法。
2.2 量化
顾名思义,就是把原先用 32 比特表示的参数量用更少的比特来表示。有文献指出,将原 32 比特的参数用稍小精度的」low precision fix point number」表示之后,比如 8 比特,网络的识别准确率没有大的变化。但是对于储存有限的硬件来说,这种量化的方法可以大大地提高网络的应用性能。
3. 对于威胁的模拟
根据假设黑客的攻击模式,作者列出了以下的三种情况。
情况 1. 黑客通过对压缩过的网络模型进行攻击,再把攻击应用于别的压缩过的网络。
情况 2. 黑客对原模型制造的神经网络进行攻击,再把攻击应用于压缩过的网络。
情况 3. 黑客对压缩过的神经网络进行攻击,再把攻击应用于原网络。
下图表示情况一和情况三:
3.1 神经网络模型与压缩方法
本文使用 LeNet5 对 MNIST 手写数字的识别,和 CifarNet 对于 CIFAR10 图像数据的识别。
对于压缩方法,本文使用了 fine-grained pruning,并且对参数和 activation 都进行了量化。
3.2 对抗方法:
本文使用了三种最常见的攻击方法:I-FGSM, I-FGM, 和 Deepfool.
4. 结果
4.1 pruning 和攻击的关系
作者指出:
1. 如果对 slightly pruned 的网络的攻击可以成功地攻击原网络,反之亦然。
2. 对于 heavily pruned 的网络的攻击难以转换成原网络的攻击,但是 heavily pruned 的网络的识别准确率也大大地下降。
3. 对于原网络的攻击可以成功地转换成对 pruning 处理过网络的攻击。这种情况下准确性大大提高,而且 transferability 也最小化。
4.2 量化和攻击的关系:
作者指出:
1. 当 bit-width 高的时候,对量化的网络攻击可以转移到对原网络的攻击,反之亦然。
2. 当 bit-width 低的时候,对量化的网络攻击更难以转换到对原网络的攻击。
3. 作者认为,量化激活函数改变了 CNN 的特征空间,从而使得攻击更加难以转移到原网络
总结
这篇文章主要是实验性地对神经网络压缩和对抗攻击的关系进行了研究,对于机器学习模型的安全性研究具有重要意义。pruning 减少了网络的参数密度,对于用原网络作出的攻击有较小防御性,对参数和激活函数的大幅度量化也能使攻击的转移性变小。但是总地来说,黑客如果对大多数现有应用中的高 bit-width 压缩过的网络进行攻击,可以成功的攻击原网络或者是别的压缩过的网络。
分析师简介:Shuchen 目前在图宾根大学人工智能研究所与马克斯普朗克智能系统做研究实习,项目研究如何使深度神经网络的图像识别更接近于人类的视觉识别。本科物理,计算神经硕士。主要研究兴趣在于寻找生物学习的的计算模型。欢迎交流。
本文为机器之心原创,转载请联系本公众号获得授权。