Ian Goodfellow叒来探讨安全问题了,noisy SGD和PATE能满足传统计算机安全原则吗?
雷锋网 AI科技评论按:在上世纪80年代初,互联网只用于学术研究人员和军事实验室的年代,网络连接的计算机之间大家彼此信任且没有恶意行为。而现在如果有基于这样的假设设计出的网络,那么它必定不可能在网络攻击中幸存。
机器学习的现状就有点像上世纪80年代初的那种情形,目前大多基于深度学习的模型都还只是研究人员在使用,当他们设计这些模型的时候主要还是在考虑它的学习能力,而很少会考虑到这个模型是否会遭到黑客的攻击。但随着越来越多的人工智能的研究在业界得到应用,机器学习安全与隐私的问题也逐渐得到越来越多人的关注。
Ian Goodfellow和Nicolas Papernot两人可谓是这个领域的急先锋,自去年两人共同创建了Clever Hans博客(cleverhans.io,博客上已经有三篇关于机器学习安全与隐私问题)后,两人还建立了cleverhans对抗性机器学习样本库,并积极促进研究社区中的学术交流,希望与全世界的研究者们共同探索和改善机器学习模型在安全和隐私方面的表现。
具体可参考雷锋网AI科技评论往期文章:
Ian Goodfellow和Papernot半年三篇博文,对机器学习的安全隐私来了个大起底
雷锋网 (公众号:雷锋网) 注意到,前不久Ian Goodfellow、Nicolas Papernot等人在arXiv上发表了一篇非常基础性的特邀报告文章。在这篇文章中,他们探讨了一个问题,即: 传统的隐私安全原则,在机器学习环境下是否还适用? Ian Goodfellow等人就分类任务的监督学习问题,讨论了最近出现的两种具备隐私保护的机器学习模型(noisy SGD和PATE),考察了它们是否能满足传统的计算机安全原则(Saltzer 和 Schroeder)。他们认为传统的计算机安全原则在机器学习环境下仍然值得借鉴,依照原则,上述的两个模型还有待改进。
一、攻击者的目的是什么?
机器学习的模型千千万,Ian Goodfellow等人作为示例选择最简单和普遍的分类任务的监督学习问题来做讨论。
所谓分类任务,其实就是一个函数f将样本指向一个类,例如将一张图片指向一个数字。(更广义地来说,每个函数还应包含一个概率值,为了简单这里就不考虑这个了)而所谓学习就是通过训练得到一个函数g(也就是训练出的模型)在某种程度上接近f。“监督”的意思则是学习的输入和输出都是已知的。
在这个模型中,一面是输入输出的训练数据集,一面是由数据集训练出的模型g。所以如果有恶意的攻击,攻击者可能会有两个目的:
-
(1)(完整地或部分地)提取出训练模型的参数;
-
(2)测试一个输入输出对(或仅仅是输入或输出)是不是训练数据集中的一部分,从而提取训练数据集的信息。
就威胁程度的而言,也有两种可能:
-
(1)黑箱威胁:攻击者只能拿着模型g应用到他们选择的一些新的输入上,可能还会有一些次数或别的限制;
-
(2)白箱威胁:攻击者可以查看模型g的内部。
二、两种隐私保护的机器学习模型
1、噪声随机梯度下降(noisy stochastic gradient descent,noisy SGD)
机器学习其实就是训练一个参数函数g(θ, x),其中x是样本(训练数据或者预测输入数据),参数θ则可以是神经网络的权重等。当输入一个样本x时,当给定θ和g,则由g和f之间的差别得到损失函数L(g, θ)。训练模型g的过程,其实就是通过寻找合适的θ值,使损失函数L(g, θ)最小(或者在误差容许范围内)。一般来说g和L都是θ的可微分函数,因此训练的过程就会依赖函数的梯度下降。通过随机梯度下降(SGD),我们就可以用样本x重复地计算g和L,得到误差容许范围内的损失函数。
一方面,训练数据只能通过梯度计算来影响θ值;另一方面,θ最终的灵敏度通常是很难分析的。这就允许我们通过在梯度计算的过程中添加仔细校准过的噪声来实现隐私的保护。这个想法在M. Abadi等人去年的一篇文章《Deep learning with differential privacy》中有非常详细的介绍。
2、教师系综的私有聚合(private aggregation of teacher ensembles,PATE)
另外一种隐私保护的模型非常有意思。设想如果攻击者千辛万苦攻破了一个机器学习模型,却发现他调整模型的内部参数却对模型没有任何影响,是什么样的心情。机器学习系综模型就是这种让攻击者绝望的模型。
PATE模型的思想其实很简单,首先它通过训练数据集中相互没有交集的子数据训练大量“教师”模型,构成一个“教师系综”;随后再通过教师系综的输出去训练“学生”模型,“学生”的训练仅依赖“教师”的预测结果,而不涉及它们的内部参数。
这种模型,一方面,当教师系综的某个“教师”出现问题时并不会对“学生”有很大的影响;另一方面,攻击者不可能通过攻破“学生”模型来得到“教师”的内部结构;不过结合两方面,即使得到一个“教师”的内部参数,也不会对模型本身有太大的影响。此外,一旦“学生”训练完成后,事实上我们可以撤掉“教师系综”(同时也包括它所携带的隐私)。
三、重申计算机安全的十大原则
Ian等人认为传统的计算机安全中的研究在机器学习环境中仍然值得借鉴,他们在此想通过Saltzer和Schroeder两人在75年提出的计算机安全十大原则来评价上述两个机器学习的隐私保护模型。
不得不说,Saltzer和Schroeder当年提出的大部分保护机制和机器学习中的都不一样,因为当时并不涉及数据迁移。不过他们当时描述过通过“数据加密”的保护机制;通过数据来训练模型在某种程度上其实也类似于“数据加密”。所以他们当年提出的十大原则也同样适用于机器学习环境中。那么上述两种隐私保护模型(noisy SGD和PATE)是否符合这十大原则呢?一起和雷锋网AI科技评论来逐一看看。
1、机制的经济性
这一原则强调,保护机制的设计应尽可能得简单。看起来,noisy SGD和PATE(以及它的变种)在这方面都不会表现很好,原因各不同相同:
noisy SGD虽然是通过简单的算法思想(添加噪声)极为容易地实现的,但这些想法会直接影响随机梯度下降(SGD)本身,而SGD是许多学习算法的核心。所以这无异就相当于给模型做了一个心脏手术,这对学习模型的影响是很大的,可能会造成其他潜在的威胁。此外,当学习算法进行优化和扩展的时候,你还需要反过来考察是否需要新的noisy SGD。
PATE模型相比noisySGD模型,会涉及更多的设计细节,尤其是它的变种PATE-G集成了基于GANs的复杂技术。而另一方面,这些复杂的设计细节至关重要,却又与老师”模型的训练完全分离,同时也与“学生”模型的内部结构无关。
所以考虑到机制的经济性,noisy SGD和PATE并不理想,还有待寻找更简单和更小的机制。
2、故障安全默认
这个原则说明模型的默认配置应是缺省访问,特别是,当发生错误时将导致拒绝访问。这个原则似乎很难应用到noisy SGD和PATE上,因为它们通常会在任何情况下向任何提出请求的人提供相同的访问权限。
近来也有许多这方面的研究实现了被称为(ε,δ)的差异隐私保障,其中ε为隐私值,δ为故障概率。不过初步来看,这样的保障一旦失败就会导致隐私丧失,而不是失去精确性。在这个意义上,这种保障并不是故障安全默认。所以在这方面似乎还需要更进一步的研究。
3、完全仲裁
这个原则意味着每一次访问敏感数据都应该通过保护机制。举个例子来说,在线银行会要求15分钟没有操作后用户必须重新登录。这个原则需要站在整个系统的角度来考虑,所以并不适用于对noisy SGD和PATE的分析。
4、开放式设计
这个原则要求保护机制的设计不应当是基于某个秘密,而应该是公开的,这样攻击者就不可能通过对某个秘密的获取来攻破系统。noisy SGD和PATE两者在这方面都完全满足。
5、特权分离
这个原则要求访问某个关键资源,必须使用多个独立的“钥匙”。和“故障安全默认”一样,这个原则也很难应用到noisy SGD和PATE上,它可能更适用于单独的外部保护层次。
6、最小特权
这个原则要求每个程序/系统的每个用户在完成操作的过程中只需要最少的权限。这个原则在noisy SGD和PATE中真的是再适合不过了。例如在PATE中,这就意味着每个“教师”模型即使程序出现错误也不可能访问到其他“教师”的训练数据。
这个原则能最大限度地限制事故或错误可能造成的损害。在这方面还没有太多的研究,不过似乎可以实现的。
7、最少公共机制
该原则要求在多用户系统中,允许多个用户共享的资源应尽可能得少。在noisy SGD和PATE中,对所有训练数据以及学习机制的所有访问,隐私参数都是相同的。但或许可以通过加权的方法来为不同的训练数据的提供隐私保护,从而保证不同用户的隐私需求。
8、心理可接受
这个原则要求用户接口应该是精心设计的,并且非常直观,所有与安全相关的设置都应按普通用户的期望进行配置。程序的行为如果与用户期望之间出现差异,可能就会带来安全问题。
就两个模型来说,noisy SGD的配置需要用户了解足够的数学、差别隐私以及机器学习的知识,这可能是大多数用户所欠缺的。而PATE模型相对来说就比较清晰直观了,它不需要太多背景知识,你想还有什么比“如果100个独立训练的机器学习模型说一张图片是猫,预测结果也应当是猫”这样的模型更直观呢。
9、工作因素
这一原则要求设计安全方案时应根据攻击者的资源来进行,例如保护军事机密的系统,其安全设计和保护学校学生成绩的系统的安全设计是不一样的。noisy SGD和PATE的隐私保护受益于在交互时间,攻击者不受限于任何特定数量的查询。
10、记录危害
这个原则说明有时记录入侵细节比采用更复杂的措施来预防更为理想。如上面所述,(ε,δ)-差别隐私包含了故障的概率,但是没有任何信息可以用来记录故障的原因。所以机器学习的隐私保护在记录危害方面的问题是非常严重的,因为它可能是理论的缺陷,而不是具体某个算法的问题。
四、许多问题有待研究
当然,由于这只是一篇特邀报告的文章,内容只是用来做示例,所以有很多问题和方面,Ian他们选择了“暂不考虑”。例如,攻击者可能会通过学习过程中修改某些训练数据来影响模型(给模型下毒),在其他机器学习任务中的隐私保护问题、交互学习中的隐私保护问题以及如何从整个系统角度(软、硬件)来考虑安全问题等,他们也只是浅尝辄止,并没有就它们展开讨论。事实上,这些问题是非常值得探讨的,它们或许需要更多的人共同努力才能完成。所以Ian Goodfellow等人的这篇文章或许只是用来抛砖引玉的吧,研究人员或许能从这篇文章中获得更多灵感,雷锋网AI科技评论也将持续关注机器学习隐私问题的动向和内容。
。