当前位置:首页 > 智能硬件 > 人工智能AI
[导读]对抗机器学习是一个机器学习与计算机安全的交叉领域。对抗机器学习旨在给恶意环境下的机器学习技术提供安全保障。由于机器学习技术一般研究的是同一个或较为稳定的数据分布,当部署到现实中的时候,由于恶意用户的存在,这种假设并不一定成立。比如研究人员发现,一些精心设计的对抗样本(adversarial example)可以使机器学习模型不能成功地输出正确的结果。针对模型的攻击问题,我们主要分为两大类,就是从训练阶段和推理(inference)阶段来进行讨论。

对抗机器学习是一个机器学习与计算机安全的交叉领域。对抗机器学习旨在给恶意环境下的机器学习技术提供安全保障。由于机器学习技术一般研究的是同一个或较为稳定的数据分布,当部署到现实中的时候,由于恶意用户的存在,这种假设并不一定成立。比如研究人员发现,一些精心设计的对抗样本(adversarial example)可以使机器学习模型不能成功地输出正确的结果。针对模型的攻击问题,我们主要分为两大类,就是从训练阶段和推理(inference)阶段来进行讨论。

⚫训练阶段的攻击

训练阶段的恶意攻击(Training in Adversarial Settings),主要的目的就是针对模型的参数进行微小的扰动,从而让模型的性能和预期产生偏差。这样的行为主要是通过数据投毒来完成的。

不过在此之前,有个前提,在PAC理论中,有一个已经论证的结论:对于任意的学习算法而言,其置信度β,必须满足β≤Σ\1+Σ,其中Σ表示了学习准确率。那么也就是说,当需要达到90%的学习准确率(Σ=0.1),那么被扰动的数据量必须少于10%(0.1/1+0.1)。

1)标签操纵(label manipulation)

这个方法很直观,就是直接通过对于训练数据的标签进行替换,让数据样本和标签不对应,最后训练的结果一定是不如预期的。有前人在SVM的场景下,随机替换了约40%的数据,对其算法进行了破坏,最后的效果也如预期一样好。其实这只是在二分类问题中起到了比较好的效果,但是在多分类的情况下并没有很好的解释,或者是实证性的研究。(这里可以有一个比较有趣的思考,如果二分类的分类替换了40%的数据会导致模型的预测结果很不好,那么多分类的SVM需要替换多少数据样本的标签?是需要替换更少的标签,还是更多?是随机替换还是有目标性的都替换成一种?)后来的研究则是对这个标签操纵的过程更加优化,是否能通过更少的标签替换,来实现更强烈的模型扰动,从而产生更有说服力的攻击模。

2)输入操纵(input manipulation)

在此攻击场景下,攻击者需要获知模型的算法类型,并且能结束到训练集。比较直接的攻击方式,则是通过在线的方式获得训练数据的输入权,那么最终的结果就是直接通过恶意数据来扰动在线训练过程,自然最后的结果就是脱离预期,从而导致恶意者的操纵成功。而当我们无法接触到在线模型的时候,我们只能通过线下的方式操纵训练数据,那么则需要构

造尽量少且恶意程度尽量高的恶意样本,那么这就可以使用梯度上升的方法去达到局部分类错误最大的结果,从而完成样本构造,然后再输入到模型中进行训练。那么,当我们无法直接接触到在线训练模型或离线时,我们也无法接触到训练数据,我们该怎么进行输入的操纵呢?从之前的流程介绍中我们也提到了,在物理世界获取数据的时候,这阶段并没有受到很好的保护。因此这阶段的数据,我们可以通过恶意地攻击物理世界中的数据来获取,例如交通信号灯,或者是自动驾驶摄像头正在拍摄的图像等。通过其在数据转换之前,就进行数据的污染,或是数据表示的污染。

⚫推理阶段的攻击(Inference in Adversarial Settings)

当训练完成一个模型之后,这个模型就可以看做一个BOX,那么这个盒子中,对于我们如果是透明的话,我们就把它当成是“白盒”模型,如果这个盒子中,我们什么都看不了,我们就把它当成“黑盒”模型。(我们在这个部分不讨论灰盒模型)那么针对白盒和黑盒的进攻手段自然是不同的,但是最终的目的都是希望能对模型的最终结果产生破坏,与预期脱离。其影响力以及攻击的构造粒度也是有所不同的。

1)白盒攻击(White-Box Adversarial)

当然这种所谓的“白盒攻击”,需要提供一个很“假”的前提——就是我们需要知道里面所有的模型参数,这个在现实生活中是非常不现实的。除非是,当模型被打包压缩到智能手机上之后,然后恶意者通过逆向工程来进行原有模型的复原,才有可能。当然这种情况出现的情况非常低了,因此我们需要有这种前提假设。

2)黑盒攻击(Black-Box Adversarial)

当模型处于黑盒的时候,更加符合现实的场景,但是这比白盒的模型缺少了更多的模型信息。因此,大家就从几个角度考虑如何进行模型攻击:通过输入和输出猜测模型的内部结构;加入稍大的扰动来对模型进行攻击;构建影子模型来进行关系人攻击;抽取模型训练的敏感数据;模型逆向参数等。

其中有两个方法比较有趣。一个是加入扰动来对模型进行攻击。这个方法最主要针对的是,找到原有模型的“blind spot”,或是说“blind area”。这些区域主要是原有模型模棱两可的区域,或是boundry,这对二分类的问题来说可能这些区域比较小或是比较狭窄,但是如果针对的是多分类问题,就可能在高维空间中提现出更多的“blind area”。因此尽量高地命中这些盲区,是这种方法致力于的方向,同时这里也提出一个思考,这样的盲区是否是可以定向搜索的,或者是否可以用一个模糊的算法bound住这些区域。

第二是建立影子模型,通过构建一个功能性类似的模型,来仿造一个攻击空间。类似于军事演习,想要在战场上打出好的效果,就要模拟产战场上可能发生的情况,但是目前对战场的情况一无所知,所以只能根据大致的情况去模拟。模型也是如此,只能对黑盒的情况进行对应的训练模拟,然后对其进行“白盒”的尝试,由于模型的迁移性还不错,或者说类似的算法都有不少的相同点,因此,影子模型的攻击成效还是不错的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

图是一种数据结构,它对一组对象(节点)及其关系(边)进行建模。近年来,由于图结构的强大表现力,用机器学习方法分析图的研究越来越受到重视。图神经网络(GNN)是一类基于深度学习的处理图域信息的方法。由于其较好的性能和可解释...

关键字: 图神经网络 机器学习

循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recu...

关键字: 循环神经网络 RNN 机器学习

AutoEncoder的基本思想是利用神经网络来做无监督学习,就是把样本的输入同时作为神经网络的输入和输出。本质上是希望学习到输入样本的表示(encoding)。早期AutoEncoder的研究主要是数据过于稀疏、数据高...

关键字: 自编码器 机器学习 神经网络

卷积神经网络的发展,最早可以追溯到1962年,Hubel和Wiesel对猫大脑中的视觉系统的研究。1980年,一个日本科学家福岛邦彦(Kunihiko Fukushima)提出了一个包含卷积层、池化层的神经网络结构。在这...

关键字: 卷积神经网络 机器学习

深度学习是近10年机器学习领域发展最快的一个分支,由于其重要性,三位教授(Geoffrey Hinton、Yann Lecun、Yoshua Bengio)因此同获图灵奖。深度学习模型的发展可以追溯到1958年的感知机(...

关键字: 深度学习 神经网络 机器学习

有一些特定的标准可用于分类模型解释方法。Christoph Molnar在2018年“可解释的机器学习,制作黑箱模型可解释指南”中提到了一个很好的指南。

关键字: 机器学习 调试模型

生成对抗网络(Generative Adversarial Networks,GAN)是用于无监督学习的机器学习模型,由Ian Goodfellow等人在2014年提出。由神经网络构成判别器和生成器构成,通过一种互相竞争...

关键字: 生成对抗网络 机器学习 人工智能

从1990到2012年,机器学习逐渐走向成熟和应用,在这20多年里机器学习的理论和方法得到了完善和充实,可谓是百花齐放的年代。代表性的重要成果有:支持向量机(SVM,1995)、AdaBoost算法(1997)、循环神经...

关键字: 机器学习 流形学习 人工神经网络

1980年机器学习作为一支独立的力量登上了历史舞台。在这之后的10年里出现了一些重要的方法和理论,典型的代表是:分类与回归树(CART,1984)、反向传播算法(1986)、卷积神经网络(1989)。

关键字: 机器学习 算法 分类与回归树

机器学习算法可以按照不同的标准来进行分类。按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为监督学习、无监督学习和强化学习。

关键字: 机器学习 算法

人工智能AI

11077 篇文章

关注

发布文章

编辑精选

技术子站

关闭