机器学习的安全隐私

 

转载自:https://www.leiphone.com/news/201706/CrSyyhCUNz2gYIIJ.htmlhtml

1、怎么样的系统是安全的系统?

若是让 Ian Goodfellow和Nicolas Papernot 给出定义的话,一个可靠的、能够保证像预期那样工做的系统,就是一个安全的系统。算法

为了达到系统的行为符合预期的目标,设计系统的人内心就须要有一个威胁模型。“威胁模型”是一组通过严格定义的任意一个可能但愿“系统异常运做”的攻击者具备的能力和目标的假设。安全

目前为止,多数的机器学习系统在设计的时候都只对应了一个很弱的威胁模型,能够说这样的模型里是没有什么具体成员的。这样的机器学习系统的设计目标只是为了在给与天然输入的时候可以正常工做。今天的设计者们应当开始设计的系统,须要在面对恶意用户和面对基于机器学习的恶意敌对方的时候还能正常工做。网络

举例说明,一我的工智能系统在训练时(学习阶段)或者在进行预测时(推理阶段)都有可能被攻击者盯上。攻击者还会有各类不一样的能力,其中颇有可能包括对模型内部结构和参数,或者对模型输入输出的更改权限。架构

2、攻击者能形成哪些危害?

攻击者的攻击能够影响系统的保密性(confidentiality)、完整性(integrity)和可用性(availability),三者能够合称为安全领域的“CIA模型”。iphone

  • 保密性:机器学习系统必须保证未获得受权的用户没法接触到信息。在实际操做中,把保密性做为隐私性来考虑会容易得多,就是说模型不能够泄露敏感数据。好比假设研究员们设计了一个能够检查病人病历、给病人作诊断的机器学习模型,这样的模型能够对医生的工做起到很大的帮助,可是必需要保证持有恶意的人没办法分析这个模型,也没办法把用来训练模型的病人数据恢复出来。机器学习

  • 完整性:若是攻击者能够破坏模型的完整性,那么模型的预测结果就可能会偏离预期。好比垃圾邮件会把本身假装成正常邮件的样子,形成垃圾邮件识别器的误识别。ide

  • 可用性:系统的可用性也能够成为攻击目标。好比,若是攻击者把一个很是难以识别的东西放在车辆会通过的路边,就有可能迫使一辆自动驾驶汽车进入安全保护模式,而后停车在路边。函数

  虽然目前研究者们尚未展现不少成功进行攻击的案例,可是 Ian Goodfellow和Nicolas Papernot 表示 未在来的博文中会逐渐作更多介绍。工具

  目前已经能够明确表述的攻击方式有三种:在训练时对模型进行完整性攻击,在推理时进行完整性攻击,以及隐私攻击

3、在训练集中下毒 - 在训练时对模型进行完整性攻击

  攻击者能够经过修改现有训练数据、或者给训练集增长额外数据的方法来对训练过程的完整性形成影响。好比假设莫里亚蒂教授要给福尔摩斯栽赃一个罪名,他就可让一个没被怀疑的同伙送给福尔摩斯一双独特、华丽的靴子。当福尔摩斯穿着这双靴子在他常常协助破案的警察面前出现过之后,这些警察就会把这双靴子和他联系起来。接下来莫里亚蒂教授就能够穿一双一样的靴子去犯罪,留下的脚印会让福尔摩斯成为被怀疑的对象。

  干扰机器学习模型的训练过程,体现的攻击策略是当用于生产时让机器学习模型出现更多错误预测。具体来讲,这样的方法能够在支持向量机(SVM)的训练集中下毒。因为算法中预测偏差是以损失函数的凸点衡量的,这就让攻击者有机会找到对推理表现影响最大的一组点进行攻击。即使在更复杂的模型中也有可能找到高效的攻击点,深度神经网络就是这样,只要它们会用到凸优化。

4、用对抗性的样本让模型出错 - 在推理时进行完整性攻击

  实际上,让模型出错是很是简单的一件事情,以致于攻击者都不必花功夫在训练机器学习模型参数的训练集中下毒。他们只要在推理阶段(模型训练完成以后)的输入上动动手脚,就能够当即让模型得出错误的结果。

     要找到能让模型作出错误预测的干扰,有一种经常使用方法是计算对抗性样本。它们带有的干扰一般很微小,人类很难发现,但它们却能成功地让模型产生错误的预测。好比下面这张图,用机器学习模型识别最左侧的图像,能够正确识别出来这是一只熊猫。可是对这张图像增长了中间所示的噪声以后获得的右侧图像,就会被模型识别成一只长臂猿(并且置信度还很是高)。

值得注意的是,虽然人类没法用肉眼分辨,可是图像中施加的干扰已经足以改变模型的预测结果。确实,这种干扰是在输入领域中经过计算最小的特定模获得的,同时它还能增大模型的预测偏差。它能够有效地把原本能够正确分类的图像移过模型断定区域的边界,从而成为另外一种分类。下面这张图就是对于能分出两个类别的分类器,出现这种现象时候的示意。

  许多基于对抗性样本的攻击须要攻击者知道机器学习模型中的参数,才能把所需的干扰看做一个优化问题计算出来 。另外一方面,也有一些后续研究考虑了更现实的威胁模型,这种模型里攻击者只能跟模型互动,给模型提供输入之后观察它的输出。举例来说,这种情况能够发生在攻击者想要设计出能骗过机器学习评分系统从而获得高排名的网站页面,或者设计出能骗过垃圾邮件筛选器的垃圾邮件的时候。在这些黑盒情境中,机器学习模型的工做方式能够说像神谕同样。发起攻击的策略首先对神谕发起询问,对模型的断定区域边界作出一个估计。这样的估计就成为了一个替代模型,而后利用这个替代模型来制做会被真正的模型分类错误的对抗性样本。这样的攻击也展示出了对抗性样本的可迁移性:用来解决一样的机器学习任务的不一样的模型,即使模型与模型之间的架构或者训练数据不同,对抗性样本仍是会被不一样的模型同时误判。

5、机器学习中的隐私问题

  机器学习中的隐私问题就不须要攻击者也能讲明白了。例如说,机器学习算法缺少公平性和透明性的问题已经引发领域内愈来愈多人的担忧。事实上,已经有人指出,训练数据中带有的社会偏见会致使最终训练完成后的预测模型也带有这些偏见。下面重点说一说在有攻击者状况下的隐私问题。

  攻击者的目的一般是恢复一部分训练机器学习模型所用的数据,或者经过观察模型的预测来推断用户的某些敏感信息。举例来讲,智能手机的虚拟键盘就能够经过学习用户的输入习惯,达到更好的预测-自动完成效果。可是,某一个用户的输入习惯下的特定字符序列不该该也出如今别的手机屏幕上,除非已经有一个比例足够大的用户群也会打一样的一串字符。在这样的状况下,隐私攻击会主要在推理阶段发挥做用,不过要缓解这个问题的话,通常都须要在学习算法中增长一些随机性。

  好比,攻击者有可能会想办法进行成员推测查询:想要知道模型训练中有没有使用某个特定的训练点。近期就有一篇论文在深度神经网络场景下详细讨论了这个问题。与制做对抗性样本时对梯度的用法相反(这能够改变模型对正确答案的置信度),成员推测攻击会沿着梯度方向寻找分类置信度很是高的点。已经部署的模型中也还能够得到有关训练数据的更多整体统计信息。

6、提升机器学习模型鲁棒性的方法

Ian Goodfellow和Nicolas Papernot 两人已经一块儿试过几个方法,为了提升机器学习模型面对对抗性样本时鲁棒性。

  • 对抗性训练(Adversarial training):对抗性训练的目标是提升模型的泛化能力,让模型在测试中遇到对抗性样本的时候有更好的表现。作法是在模型的训练阶段就主动生成对抗性样本,把它们做为训练过程的一部分。这个想法最初是由Szegedy提出的,可是可实施性很低,由于生成对抗性样本须要的计算成本过高。Goodfellow展现过一种用快速梯度标志的方法,能够低成本地生成对抗性样本,计算效率已经足以生成大批量的对抗性样本用于模型训练。这样训练出的模型对原样本和对抗性样本的分类结果就是相同的。好比能够拍一张猫的照片,而后对抗性地进行干扰,让通常的模型照片识别成一只秃鹫,而后就告诉要训练的这个模型干扰后的照片仍是一只猫。

  • 防护性蒸馏(Defensive distillation):攻击者可能会利用模型断定区域的对抗方向发起攻击,防护性蒸馏就可让这些方向变得更平滑。蒸馏(distillation)是一种训练方法,它要训练一个模型,让这个模型预测更早训练的另外一个模型的可能输出结果。蒸馏的方法最初是由Hinton提出的,这个方法当时的目标是用一个小模型模仿大型的、计算量大的模型获得类似的结果。防护性蒸馏的目标有所区别,它只是为了让最终模型的输出更平滑,因此即使模仿的和被模仿的两个模型大小同样也不要紧。不过这种方法有点反直觉,有两个一样架构的模型,而后训练其中一个预测另外一个的输出结果。可是这种方法能奏效的缘由是,先训练的那个模型(被模仿的)是用“绝对”标签训练的(能够100%肯定图像是狗,不是猫),而后它提供的用来训练后一个模型的标签就是“相对”的(好比95%的肯定性认为图像更多是狗)。这第二个蒸馏后的模型的鲁棒性就高得多,对快速梯度标志方法或者Jacobian的显着图方法这样的攻击的抵抗力高很多。

为何防护对抗性样本很难?

对抗性样本防护起来很难是由于很难对对抗性样本的制做过程创建理论模型。对包括神经网络在内的许多机器学习模型而言,对抗性样本是优化问题的非线性、非凸性的解。由于没有什么好的理论工具能够描述这些复杂优化问题的解,因此也就很难提出可以对付对抗性样本的加强理论做为防护方法。

换个角度看,对抗性样本很难防护也由于它们要求机器学习模型对每一种可能的输入都要给出好的结果。多数时候机器学习模型都能很好地工做,可是对全部可能的输入而言,它们实际会遇到的输入只是很小的一部分。就是由于可能的输入是海量的,设计一个真正有适应性的防护方法就很难。

Ian Goodfellow和Nicolas Papernot两人的内心话

两人在2016年末就已经发现了许多能够对机器学习模型进行攻击的方法,可是防护的方法几乎看不到。他们但愿在2017年末可以看到一些高效的防护方法。他们博客的目的就是推进机器学习安全和隐私方面的前沿发展,方法就是把最新的进展记录下来、在相关话题的研究社区中引起讨论、以及启发新一代的研究者们加入这个社区。

对对抗性样本的研究很令两人兴奋,由于不少重要问题都尚未获得定论,理论方面和应用方面都是。从理论角度,没人知道想防护对抗性样本的攻击是否是徒劳(就像想要发现一种通用的机器学习算法那样),或者可以找到一种最佳的策略让防护者占得先机(像加密学和差分隐私那样)。从应用角度,还没人设计出来过强大到可以抵抗多种不一样对抗性样本攻击的防护算法。Ian Goodfellow和Nicolas Papernot两人更但愿读者们阅读文章之后能够获得灵感,一块儿来解决其中的一些问题。

相关文章
相关标签/搜索