隐私与机器学习方法,二者能兼得吗

隐私与机器学习,二者可以兼得吗?
隐私与机器学习,二者可以兼得吗?
隐私数据与机器学习看似矛盾,其实不然。如何有效保护机器学习训练中的隐私数据?谷歌专家给出了答案——PATE框架,就算你不太懂隐私保护的知识,也可以通过PATE框架来保护机器学习里的训练数据。
最近关于互联网隐私引发大众的关注于讨论,前有Facebook“数据门”,小扎不得不换下常穿的灰色短袖和牛仔装,换上深蓝色西装参加国会听证;后有百度总裁李彦宏称中国用户愿用隐私方便和效率引发网友强烈反感,网友评论说,牺牲隐私不一定换来效率,还可能换来死亡,比如搜索到莆田医院,还可能换来经济损失,比如大数据杀熟等等;近来有知乎强制隐私搜集条款,引发部分用户卸载APP,国内很多APP若不同意给予相关权限,则无法正常使用,这真是陷入两难境地。为什么现在很多应用会收集数据呢,《未来简史》这本书中给了答案——未来的世界数据为王,人类可能只是放大版的蚂蚁,用于产生数据。有了数据后,加上合适的算法可以完成很多事情,这些技术均与机器学习、深度学习以及数据科学相关。人们担心自己的数据被收集后会被泄露或者是被不正当使用,因此,如何将隐私数据很好地保护起来是公司需要考虑的主要问题之一。本文将分析隐私与机器学习二者的关系,并设计了一种PATE框架,能够很好地避免被动地泄露用户隐私数据,下面带大家一起看看吧。
在许多机器学习应用中,比如用于医学诊断的机器学习,希望有一种算法在不存储用户敏感信息(比如个别患者的特定病史)的情况下,就可以完成相应的任务。差分隐私(Differential privacy)是一种被广泛认可的隐私保护模型,它通过对数据添加干扰噪声的方式保护锁发布数据中潜在用户的隐私信息,从而达到即便攻击者已经掌握了除某一条信息以外的其它信息,仍然无法推测出这条信息。利用差分隐私,可以设计出合适的机器学习算法来负责任地在隐私数据上训练模型。小组(Martín Abadi、 ?lfar Erlingsson等人)一系列的工作都是围绕差分隐私如何使得机器学习研究人员更容易地为隐私保护做出贡献,本文将阐述如如何让隐私和机器学习之间进行愉快的协同作用。
小组最新的工作是(Private Aggregation of Teacher Ensembles,PATE),发表在2018年ICLR上。其中一个重要的贡献是,知道如何训练有监督机器学习模型的研究人员都将有助于研究用于机器学习的差分隐私。PATE框架通过仔细协调几个不同机器学习模型的活动来实现隐私学习,只要遵循PATE框架指定程序,生成的模型就会有隐私保护。
为什么需要隐私机器学习算法?
机器学习算法的工作方式通过大量数据并更新其参数来学习数据中的关系。理想情况下,希望这些机器学习模型的学习到一般模型(比如“吸烟患者更容易患心脏病”),而不是训练特定实例(比如“Jane Smith患有心脏病”)。不幸的是,机器学习算法没有学会默认地忽视这些细节,如果想用机器学习来解决某个重要的任务,比如癌症诊断模型,当发布机器学习模型时(比如开源癌症诊断模型),可能无意中透露训练集的相关信息,恶意攻击者可能从发布的模型获得关于Jane Smith的私密信息,这就是差分隐私应用的地方。
如何定义和保护隐私?
科学家在分析数据时提出了很多方法来提供隐私保护,比较流行的做法是在分析数据之前,删除私人细节或随机值替代等。一般将电话号码和邮编等细节匿名处理,然而匿名数据并不总是足以满足要求,当攻击者获得关于数据集中表示个体的辅助信息时,这种匿名操作提供的隐私性就会大大降低。因此,定义和保护隐私是困难的,很难估计出攻击者能够获得的信息范围。
差分隐私是用于隐私保护的模型,其基本思想是随机化部分机制的行为以提供隐私,将随机性引入到学习算法中的直觉是很难从训练好的模型中根据训练数据辨别出隐私行为。
本文使用的差分隐私版本是要求训练集改变一个例子时学习到的任何特定参数的概率大致相同。这样做的原因是,如果单个病人(Jane Smith)的数据不影响模型学习的结果,那么该病人的数据就不会被记录,其隐私受到保护。本文将这种概率称为隐私预算(privacy budget),较小的隐私预算对应更强的隐私保护。
如上图所示,当攻击者不能由基于三个用户数据训练的算法从两个用户的数据中区分随机算法产生的答案时,则实现了差分隐私。PATE背后的直觉是什么?
为机器学习提供查分隐私是基于一个简单的直觉——如果两个不同的分类器分别在两个没有共同的训练实例数据集上训练,并对一个新的输入实有相同输出时,那么做出的决定没有透露任何单个训练实例的信息。由于每个模型所预测的类别可能会泄露其训练数据中包含的一些私人信息,所以不能单独发布每个模型的类别输出。比如,假设Jane Smith的数据只对两个模型中的一个模型的训练数据作出贡献,且该模型预测与Jane Smith记录数据非常相似的患者为患癌,而另外一个模型预测结果则相反,这种情况则可以透露出Jane Smith的私人信息。这个例子也说明了为什么对算法添加随机性是确保它提供任何有意义的隐私保护的必要条件。PATE如何工作?
在PATE中,首先在数据子集中分离出私有数据集,如下图所示。如果Jane Smith记录在私有数据集中,那么它只在一个分区中存在。在每个分区上训练机器学习模型,将其称为教师模型(teacher model)。教师模型的训练方式是没有约束的,这也是PATE的主要优点之一。所有的教师解决相同的机器学习任务,但它们都是独立训练的。即,只有一位教师分析了Jane Smith记录的数据。
如何使用这一组独立训练的教师模型来保证隐私呢?在PATE中,聚合所有教师预测并形成共识时加入噪声。统计每个类别投票的教师数量,然后添加拉普拉斯或高斯分布的随机噪声来扰乱统计数据。当两个输出类别的票数相同时,随机选取其中一个。另外,如果大多数教师的输出类别指向同一个类别,加入噪声并不会改变该类别获得最多选票。因此,引入拉普拉斯等噪声,把票数的统计情况打乱,从而保护隐私。
以分两类的医学诊断任务为例说明聚合过程。如果Jane Smith得了癌症,下面分析聚合机制的输出结果。下图中的红色模型是唯一一个在Jane Smith数据上训练的教师模型,因此能够将类似于Jane的记录数据预测为癌症患者。从图中可以看到,有两位教师投票是“癌症”,剩余的两位教师投票是“健康”。在投票计数中添加随机噪声阻止聚合结果反映任何个别教师的投票以保护隐私。
该框架存在两个限制:首先,由聚合机制做出的每个预测增加了总的隐私预算;其次,不能开源发布教师模型的集合,否则,攻击者可以检查公布的模型参数,以了解到训练使用的私人数据。因此,创建学生模型(student model)。
学生模型通过将教师集合获得的知识以隐私保护的方式进行训练。学生模型从一组未标记的公共数据中选择输入数据,并将这些输入提交给教师模型以获得标签,之后学生模型使用标记过的数据来训练模型。
PATE使得隐私与学习协同作用
隐私保护和由聚合机制预测标签的正确性都源于教师之间达成的共识。当大多数教师投票某一类别时,增加噪声并不会改变投票最多的类别结果,这表明聚合机制有非常强的隐私保证。
差分隐私能够很好地与机器学习的任务相一致,比如在学习过程中,记住像Jane Smith病例这样的特殊训练实例是侵犯隐私的行为,也是一种过拟合现象,降低了模型泛化能力。
,使其具有选择性:教师只对学生提出的部分问题作出回应。当教师提问时,首先检查教师之间的共识度是否足够高,若投票数大于设定的阈值,则接受学生的询问,否则拒绝。阈值的设定是随机的,以便在选择过程中提供隐私性。下图表明了该过程:
在实验中,隐私预算主要花费在两个方面:选择和回答查询。然而教师之间具有高度一致性,因此选择回答查询的预算十分小。下图展示了不同查询问题函数时性能的提升情况,分别为原始机制(Simple GNMax)、优化后机制(Confident GNMax),当使用数据依赖(data-dep)分析时,使用时刻会计(moments accountant)和RDP(R'enyi Differential Privacy)。
机器学习研究者如何使用PATE改进模型?
主要影响方法提供的隐私保护的强度有两个:
1.教师之间的共识:共识越强烈,输出相应标签所花费的隐私预算也越少。
2.学生询问的数量:学生询问标签时,教师产生标签花费的预算会被添加到总的隐私成本中,尽可能少地对教师进行训练,增强提供的隐私保护。
加强教师共识,需要在小量数据集上训练一大批教师模型,提高这些模型的准确性和泛化能力将有助于提升共识。
PATE框架已经开源,并且可在模型库中调用,使用以下代码克隆相关程序并设置变量:
git clone https://github.com/tensorflow/models
export PYTHONPATH=$(pwd):$PYTHONPATH
cd research/differential_privacy/multiple_teachers
第一步是训练教师模型,以下演示的是在MNIST手写体数据集上训练250位教师模型:
python train_teachers.py --nb_teachers=250 --teacher_id=0 --dataset=mnist
python train_teachers.py --nb_teachers=250 --teacher_id=1 --dataset=mnist
python train_teachers.py --nb_teachers=250 --teacher_id=248 --dataset=mnist
python train_teachers.py --nb_teachers=250 --teacher_id=249 --dataset=mnist
训练好后,加载这些教师模型,并应用聚合机制来监督学生模型的训练:
python train_student.py --nb_teachers=250 --dataset=mnist --stdnt_share=1000 --lap_scale=20 --save_labels=True
可以看到,在聚合机制中引入了拉普拉斯尺度1/20的噪声,训练好后保存在文件/tmp/mnist_250_student_clean_votes_lap_20.npy中。运行分析脚本来了解学生模型保护差异隐私的界限值,并将noise_eps设置为 2/lap_scale:
python analysis.py --counts_file=/tmp/mnist_250_student_clean_votes_lap_20.npy --max_examples=1000 --delta=1e-5 --noise_eps=0.1 --input_is_counts
以上设置再现了PATE框架,感兴趣的读者可以在。
更多PATE相关资源
,将PATE应用于多分类以及不平衡数据;
在机器学习的应用中,隐私应该被认为是盟友,而不是敌人。随着技术的改进。差分隐私很可能会成为一个有效的正则化工具,能产生更好的行为模型。对于机器学习研究人员而言,就算不太懂隐私保护的知识,也可以通过PATE框架来保护机器学习里的训练数据。
Nicolas Papernot,计算机科学专业学生,专注于机器学习安全。个人主页:本文由阿里云云栖社区组织翻译。文章原标题《Privacy and machine learning: two unexpected allies?》,译者:海棠,审校:Uncle_LLD。文章为简译,更为详细的内容,。
用云栖社区APP,舒服~
【云栖快讯】直播推荐--阿里巴巴高级数据库专家带你技术进阶之全文检索和相似搜索实践,还不快快报名~&&
阿里云机器学习是基于阿里云分布式计算引擎的一款机器学习算法平台。用户通过拖拉拽的方式可视化的...
专注于企业工作效率提升,解决重复有规律的工作并且帮助用户连接不同的系统和服务,实现工作流程自...
服务底层使用经国家密码管理局检测认证的硬件密码机,通过虚拟化技术,帮助用户满足数据安全方面的...
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效...
数据库云大使既要让 Siri 更聪明,还要保护你的隐私,这是苹果「贪心」的机器学习之路 - 少数派
请选择你要投稿的专栏
既要让 Siri 更聪明,还要保护你的隐私,这是苹果「贪心」的机器学习之路
0}" v-cloak>
AI(人工智能)竞赛正在不断升级,它已经不仅仅停留在原来的用户数据层面,也不再只满足于软件服务的层面。随着去年 Amazon Echo 的大热以及 Google Home 的推出,AI 的竞争已经来到了硬件层面上。虽然苹果的高管曾表态不看好 Amazon Echo 这样的产品,然而,今年
的推出,表明苹果正式加入了人工智能服务的竞争。鉴于 HomePod 的正式面世要到年底,我们只能暂且搁下硬件层面不谈,从数据、软件服务的层面,来看看苹果的人工智能。口音更自然的 Siri,也有更多新能力Siri 正在变得不处不在。2016 年的 WWDC,苹果花了,向部分领域的第三方开发者开放了能力,使得音视频通话、健身、消息服务、支付、搜索照片和视频、叫车类的 app 可以直接通过用户与 Siri 语音交互的形式,理解用户的需求,并提供服务。今年,苹果没有停下脚步,SiriKit 的开放领域再一次升级。除了原有的几个领域外,SiriKit 还新增了下列开放能力:清单:除了系统自带的备忘录,其它第三方清单或任务管理类的 app 也可以接入 SiriKit,实现用 Siri 创建任务与提醒事项、查看清单等;二维码:你可以直接让 Siri 显示你的二维码,Siri 就可以将你的二维码直接展示到屏幕上,方便朋友扫描,添加你为好友;支付:通过与 Siri 语音对话,来向你的朋友转账;连接 CarPlay:通过与 CarPlay 联动,Siri 可以直接控制车内的温度,并切换电台;除了 SiriKit 开放能力的升级,Siri 现在说话的口音,也更加自然了,苹果为 Siri 创建了更自然的语音合成方式。不过从 WWDC 现场演示的情况来看,这个口音自然感的提升,目前似乎只针对英语,中文的改善程度并不显著。除了 SiriKit 之外,Siri 本身也有了两项新能力:翻译以及音乐相关的能力。你只需要对 Siri 说「How do you say what are the most popular dishes in your restaurant in Chinese」,Siri 就会显示相应的中文翻译结果,并支持一键朗读。目前,Siri 仅支持将英语翻译为中文、西班牙语、法语、德语、意大利语等五国语言,之后会不断加入新语言的支持。除了翻译之外,Siri 和 Apple Music 也有了更好的联动。当你对 Siri 说「放点歌」的时候,它会自动寻找 Apple Music 中你喜爱的音乐,或根据你的历史记录,向你推荐可能喜欢的歌曲。另外,为了与 HomePod 这个家庭音乐中心相配合,Siri 现在也可以根据歌曲的详情信息,做出一些复杂的回答,比如你可以直接问 Siri「这首歌的编曲是谁」、「这首歌是什么时候发行的」、「Justin Bieber 的最新专辑是什么」,Siri 也会告诉你答案。苹果在 watchOS 4 中也全面集成了 Siri,使它成为了你的全天候助理。在新加入的 Siri 表盘中,Siri 会主动提供你接下来需要关注的事情,例如日程、待办事项、航班信息、交通信息等。三个系统层面的智能联动从去年开始,苹果就强调 Siri 不仅仅是一个有形的语音助手,它还是遍布系统各处的无形的智能引擎。它不再像 Google Now 或者 Google Assistant 一样,只有在你主动长按 Home 键时才出现,Siri 和人工智能已经遍布在系统各处,例如相册的人脸识别,文字输入的情景预测,Spotlight 搜索时的 Siri 建议。苹果眼中的人工智能,显然不仅仅只是一个具体化的产品形态,而是遍布各处、互通互联的一种能力,让你在不经意间,发现这个系统真的懂你。去年 iOS 10 推出时,我们就在介绍了大量这样的特性。例如,iOS 10 中的,你只需要复制一个地址,打开地图应用,它就会智能地提示你是否要搜索这个地址。在 iOS 11 中,苹果继续拓展着这个思路,一个显而易见的例子,就是在设置中,将 Siri 设置与曾经深藏在「通用 - Spotlight 搜索」的设置,合并在了一级入口「Siri & Search」,原先 Spotlight 建议中的搜索建议和查询建议,直接成为了新的 Siri 建议。除此之外,延续着互通互联的思路,iOS 11 还新增了三个系统层面的智能联动:Safari:根据你当前正在浏览的内容,Safari 会提供智能搜索建议。同时,如果你刚刚在网页了订了飞机票,或确认了日程,也会触发智能提醒,建议你添加相关的日程;QuickType:每次在输入文字的时候,iOS 11 会根据你过去一段时间内的浏览记录,找到相应的电影名称、地名等,方便你直接输入。在 WWDC 上演示了一个场景,你刚刚正在 Apple News 中浏览完冰岛相应的旅游地点,这时候切换到 iMessage 和好友聊天时,你只需要输入「Re」,QuickType 就会智能地提供输入建议「Reykjavik(冰岛的首都)」。Apple News:根据你的浏览记录,iOS 11 会学习你感兴趣的话题,并向你推荐相关的内容,不过,国内的用户依然无法使用 Apple News。iOS 11 为开发者带来的 Core ML在看完了面向消费者的变化,作为 WWDC,既然本身是面向开发者的,那不妨来简单了解一下,对于开发者而言,除了 SiriKit 的升级之外,苹果今年的重头戏之一,还有一个 Core ML。让我尽可能用简单,且尽可能正确的语言来说明一下这件事情的意义。科普:传统程序的白盒与机器学习的黑盒在说 Core ML 之前,我们不妨来简单说一下到底什么是机器学习。一段程序是有目标的,我们输入一个前提条件(入参),经过程序的设定(处理机),输出一个结果(出参)。然而,随着我们想解决的问题不同,不同的目标会影响程序是如何被设定的,正是在如何设定程序的这一步,将传统程序与机器学习区分开来。例如,我们希望创建一个简单的计算正方形周长的程序,你只需要输入边长 a 这个前提条件,计算机很容易就可以输出周长是 4a。在这个处理机中,程序员清清楚楚地告诉计算机,对于任何输入的 a,你只需要把它乘上 4,就完成任务了。这时候处理机实际是一个「透明的」白盒,任何人都能轻易理解实现的细节。传统程序的运行模式然而,让我们换一个小目标:识别一张照片上有没有小猫。这个程序的输入非常明确,就是一张照片,同样,我们所希望输出的目标也非常明确,就是最后给出一个结果,要不是有猫,要不是没有。但是,这时候一名程序员,该如何编码程序的设定?或者说,你要写一段怎么样的程序,能让计算机明白什么是小猫?这时候就需要机器学习发挥用途了。我们通过大量已经存在的数据,不断地标记出哪些照片上是有猫的,哪些照片是没有猫的,把这些数据大量地「喂」给计算机,通过一些算法,从中不断地提取其中的特征值,计算机最终会拟合出一个模型。这个模型,人类可能完全不明白里面的参数是如何挑选而又设定的,但这不重要,这时候的处理机,是一个黑盒,我们不关心中间发生了什么,只要我们训练出一个得当的模型,之后再让它判断未知的情况,它能够在很大概率上给出正确的结果,这个模型就成功了。机器学习的运行模式Core ML 如何帮助程序员更容易地让自己的 app 具备人工智能你可能发现了,要实现机器学习,其实是分了两个阶段的,第一个阶段是训练并得到模型,第二个阶段则是在得到模型后,实际应用它。Core ML 解决的,其实只是后一个环节,尽管相比起模型的训练,第二个阶段,即模型应用的门槛要低不少,但它依然是意义重大的。 在 Core ML 存在之前,如果你想在自己开发的 app 上使用机器学习,你不仅仅需要自己训练出一套模型,还需要将得到的模型与你的 app 连通起来,这个过程有点像,你仅仅只是想过一座河,却需要先自己搭一座桥。现在,有了 Core ML,你可以将自己训练得到的模型,借助苹果提供的转换工具,先转化成 Core ML 类型的模型文件,然后,Core ML 这座桥已经搭好了,你可以通过它,直接实现模型和 app 数据的互通。你的 app,可以直接把一张照片,通过 Core ML 为基础的 API,传递到机器学习的模型当中,然后模型来判断这张照片里有没有小猫,并将得到的结果告知你。更深入细节一些,可以看看苹果官方文档中的结构图。这四层结构中,Core ML 层原先是不存在的,也就是我们前面说的,以前开发者想要使用一套训练好的模型,不得不自己搭这座桥梁。最底层的 Accelerate 和 Metal,其实是苹果去年推出的接口,前者可以直接调用 CPU,后者则直接调用 GPU。由于是相当底层的接口,可以最大程度地利用硬件资源来处理模型数据,苹果也在发布会上声称,其人脸识别能力,比 Google Pixel 上快六倍。而 Core ML 往上一层则是应用层。Vision 主要负责图像相关的人工智能处理,如人脸识别、面部追踪、文字识别等等。这里面的很多接口,在原先的 iOS 中就已经存在,这次则被统一整合到了新框架当中。好处在于,开发者拥有了更大的自由度。在以前,开发者的 app 调用这些高级接口,对底层的实现细节的掌控力度非常小,几乎没有。现在,你可以通过自定义底层所使用的机器学习模型,从而实现更个性化的需求。说回人话,可以举个例子。在以前,开发者只能调用苹果的接口,识别一张照片中是否有人脸存在。但是,如果我只想识别有没有男人的脸存在,或者,有没有黑人的脸存在,这时候怎么办?因为底层的人脸识别模型,是苹果定死的,你没有任何定制化的空间。现在,你完全可以在底层让 Core ML 调用一套你独家秘制的黑人脸识别模型,从而让上层的 Vision API 实现更个性化的功能。目前,Core ML 支持各类主流的神经网络模型,包含深度神经网络、递归神经网络、卷积神经网络、向量机、线性模型等等。听着很厉害对不对,对。好的,我们开始下一个话题。一条苹果特色的机器学习之路在 Sundar Pichai 的带领下,Google 的战略已经彻底从 Mobile First 转型成为 AI First,从今年的 Google I/O 就可见一斑,整场发布会下来,几乎所有的产品线与更新,都是围绕 AI 展开的。苹果这两年下来,也动作不少。不过相比起 Google 整天把 AI 挂在嘴边,苹果倒是喜欢用更务实的字眼 ML(机器学习)。从去年的
到今年的 Core ML,苹果已经走出了一条具有苹果特色的机器学习之路。重视隐私的苹果,在机器学习领域面对的两大难题这一切都源于苹果对隐私的重视。作为一家消费品公司,苹果的主要使命是卖硬件,而不像 Google 本质上是一个需要收集大量数据的广告公司。这给了苹果更多的底气,尽可能地不去触碰用户的数据,而在很长一段时间内,这样的策略,引发了两个非常实际的问题。我们前面说到了,机器学习可以简单分为训练模型和应用模型两个阶段。而苹果的隐私策略,也相应地使之在这两个阶段面临两大难题。第一个难题,是在模型训练阶段,在尽可能不收集用户数据的前提下,如何优化模型?既使像苹果在去年的 WWDC 上宣称的「我们不需要收集所有用户拍的照片,才知道山长什么样子」,也依然不能回避的事实是,在模型的调优方面,少不了大量的数据支撑。想从 95% 的水平提升到 99% 的水平,数据还是不可缺少的一环。第二个难题,是在模型应用阶段,如何做到尽可能在设备本地完成处理?早期受限于设备的性能和功耗,特别是移动设备的电量问题,许多公司选择将数据上传至云端后,由云端服务器来进行运算,只将结果返回给终端设备。总结下来,苹果的目标,就是在尽可能不收集用户数据的基础上,也能调校出足够好用的模型,同时尽可能只在消费者的设备本地运用模型进行计算处理。隐私与人工智能,可以兼得目前来看,苹果离这个目标越来越近了。在相对简单的模型应用方面,苹果已经实现了高度的本地化计算。iOS 10 和 11 当中的一系列智能特性,例如相册中的人脸识别,都完全是在 iPhone 等设备本地完成的,这次的 Core ML,也给了第三方开发者以能力,在不上传用户资料的前提下,仅在设备本地就可以应用机器学习的模型。这一切,自然和移动设备的 CPU 与 GPU 计算能力的快速增长密不可分,在能耗可控的前提下,这些原本只能在服务器端的计算,已经可以在手机上就能完成。而另一方面,得益于苹果对软硬件的全面掌控,也使得苹果可以在更底层上,用 Accelerate 和 Metal 更全面地利用 CPU 和 GPU 的性能。这次 Core ML 的推出,使得苹果从系统级到第三方开发者,都具备了仅在设备本地就可以进行模型处理的能力。那么下一个尚待解决的问题,就是模型的训练。前文提到的 Differential Privacy,使苹果已经可以做到抽样性地,以匿名的方式从用户手中回收一部分数据,这些数据可以不断改进训练苹果的模型,同时又确保无法从中定位到任何一个具体的用户。目前,这样的能力尚没有开放给第三方开发者,但有理由相信,苹果最终将补齐这一块短板,使得开发者也可以通过一定的类似 Differential Privacy 的机制,在绝对保证用户隐私的基础上,获取能够改进机器学习模型的数据,以更好地训练并调优模型。就像我曾说的,在隐私和人工智能面前,苹果认为鱼与熊掌是可以兼得的。这种「贪心」,大概就是苹果特色的机器学习之路。 对本文有诸多贡献
评论(${commentLength})
请勾选举报理由
${ item.text }
0" v-cloak>
${ related.released_at * 1000 | friendlyTime }
${related.summary}
${ related.likes_count }
根据国家网信办规定,互联网账号需要实名认证。验证手机号码再进行评论或撰写文章。
点击去验证271 次阅读
摘要: 隐私数据与机器学习看似矛盾,其实不然。如何有效保护机器学习训练中的隐私数据?谷歌专家给出了答案——PATE框架,就算你不太懂隐私保护的知识,也可以通过PATE框架来保护机器学习里的训练数据。
最近关于互联网隐私引发大众的关注于讨论,前有Facebook“数据门”,小扎不得不换下常穿的灰色短袖和牛仔装,换上深蓝色西装参加国会听证;后有百度总裁李彦宏称中国用户愿用隐私方便和效率引发网友强烈反感,网友评论说,牺牲隐私不一定换来效率,还可能换来死亡,比如搜索到莆田医院,还可能换来经济损失,比如大数据杀熟等等;近来有知乎强制隐私搜集条款,引发部分用户卸载APP,国内很多APP若不同意给予相关权限,则无法正常使用,这真是陷入两难境地。为什么现在很多应用会收集数据呢,《未来简史》这本书中给了答案——未来的世界数据为王,人类可能只是放大版的蚂蚁,用于产生数据。有了数据后,加上合适的算法可以完成很多事情,这些技术均与机器学习、深度学习以及数据科学相关。人们担心自己的数据被收集后会被泄露或者是被不正当使用,因此,如何将隐私数据很好地保护起来是公司需要考虑的主要问题之一。本文将分析隐私与机器学习二者的关系,并设计了一种PATE框架,能够很好地避免被动地泄露用户隐私数据,下面带大家一起看看吧。
在许多机器学习应用中,比如用于医学诊断的机器学习,希望有一种算法在不存储用户敏感信息(比如个别患者的特定病史)的情况下,就可以完成相应的任务。差分隐私(Differential privacy)是一种被广泛认可的隐私保护模型,它通过对数据添加干扰噪声的方式保护锁发布数据中潜在用户的隐私信息,从而达到即便攻击者已经掌握了除某一条信息以外的其它信息,仍然无法推测出这条信息。利用差分隐私,可以设计出合适的机器学习算法来负责任地在隐私数据上训练模型。小组(Martín Abadi、 ?lfar Erlingsson等人)一系列的工作都是围绕差分隐私如何使得机器学习研究人员更容易地为隐私保护做出贡献,本文将阐述如如何让隐私和机器学习之间进行愉快的协同作用。小组最新的工作是PATE算法(Private Aggregation of Teacher Ensembles,PATE),发表在2018年ICLR上。其中一个重要的贡献是,知道如何训练有监督机器学习模型的研究人员都将有助于研究用于机器学习的差分隐私。PATE框架通过仔细协调几个不同机器学习模型的活动来实现隐私学习,只要遵循PATE框架指定程序,生成的模型就会有隐私保护。
为什么需要隐私机器学习算法?
机器学习算法的工作方式通过大量数据并更新其参数来学习数据中的关系。理想情况下,希望这些机器学习模型的学习到一般模型(比如“吸烟患者更容易患心脏病”),而不是训练特定实例(比如“Jane Smith患有心脏病”)。不幸的是,机器学习算法没有学会默认地忽视这些细节,如果想用机器学习来解决某个重要的任务,比如癌症诊断模型,当发布机器学习模型时(比如开源癌症诊断模型),可能无意中透露训练集的相关信息,恶意攻击者可能从发布的模型获得关于Jane Smith的私密信息,这就是差分隐私应用的地方。
如何定义和保护隐私?
科学家在分析数据时提出了很多方法来提供隐私保护,比较流行的做法是在分析数据之前,删除私人细节或随机值替代等。一般将电话号码和邮编等细节匿名处理,然而匿名数据并不总是足以满足要求,当攻击者获得关于数据集中表示个体的辅助信息时,这种匿名操作提供的隐私性就会大大降低。因此,定义和保护隐私是困难的,很难估计出攻击者能够获得的信息范围。差分隐私是用于隐私保护的模型,其基本思想是随机化部分机制的行为以提供隐私,将随机性引入到学习算法中的直觉是很难从训练好的模型中根据训练数据辨别出隐私行为。本文使用的差分隐私版本是要求训练集改变一个例子时学习到的任何特定参数的概率大致相同。这样做的原因是,如果单个病人(Jane Smith)的数据不影响模型学习的结果,那么该病人的数据就不会被记录,其隐私受到保护。本文将这种概率称为隐私预算(privacy budget),较小的隐私预算对应更强的隐私保护。
如上图所示,当攻击者不能由基于三个用户数据训练的算法从两个用户的数据中区分随机算法产生的答案时,则实现了差分隐私。
PATE背后的直觉是什么?
PATE方法为机器学习提供查分隐私是基于一个简单的直觉——如果两个不同的分类器分别在两个没有共同的训练实例数据集上训练,并对一个新的输入实有相同输出时,那么做出的决定没有透露任何单个训练实例的信息。由于每个模型所预测的类别可能会泄露其训练数据中包含的一些私人信息,所以不能单独发布每个模型的类别输出。比如,假设Jane Smith的数据只对两个模型中的一个模型的训练数据作出贡献,且该模型预测与Jane Smith记录数据非常相似的患者为患癌,而另外一个模型预测结果则相反,这种情况则可以透露出Jane Smith的私人信息。这个例子也说明了为什么对算法添加随机性是确保它提供任何有意义的隐私保护的必要条件。PATE如何工作?在PATE中,首先在数据子集中分离出私有数据集,如下图所示。如果Jane Smith记录在私有数据集中,那么它只在一个分区中存在。在每个分区上训练机器学习模型,将其称为教师模型(teacher model)。教师模型的训练方式是没有约束的,这也是PATE的主要优点之一。所有的教师解决相同的机器学习任务,但它们都是独立训练的。即,只有一位教师分析了Jane Smith记录的数据。
如何使用这一组独立训练的教师模型来保证隐私呢?在PATE中,聚合所有教师预测并形成共识时加入噪声。统计每个类别投票的教师数量,然后添加拉普拉斯或高斯分布的随机噪声来扰乱统计数据。当两个输出类别的票数相同时,随机选取其中一个。另外,如果大多数教师的输出类别指向同一个类别,加入噪声并不会改变该类别获得最多选票。因此,引入拉普拉斯等噪声,把票数的统计情况打乱,从而保护隐私
以分两类的医学诊断任务为例说明聚合过程。如果Jane Smith得了癌症,下面分析聚合机制的输出结果。下图中的红色模型是唯一一个在Jane Smith数据上训练的教师模型,因此能够将类似于Jane的记录数据预测为癌症患者。从图中可以看到,有两位教师投票是“癌症”,剩余的两位教师投票是“健康”。在投票计数中添加随机噪声阻止聚合结果反映任何个别教师的投票以保护隐私。
该框架存在两个限制:首先,由聚合机制做出的每个预测增加了总的隐私预算;其次,不能开源发布教师模型的集合,否则,攻击者可以检查公布的模型参数,以了解到训练使用的私人数据。因此,创建学生模型(student model)。学生模型通过将教师集合获得的知识以隐私保护的方式进行训练。学生模型从一组未标记的公共数据中选择输入数据,并将这些输入提交给教师模型以获得标签,之后学生模型使用标记过的数据来训练模型。
PATE使得隐私与学习协同作用
隐私保护和由聚合机制预测标签的正确性都源于教师之间达成的共识。当大多数教师投票某一类别时,增加噪声并不会改变投票最多的类别结果,这表明聚合机制有非常强的隐私保证。差分隐私能够很好地与机器学习的任务相一致,比如在学习过程中,记住像Jane Smith病例这样的特殊训练实例是侵犯隐私的行为,也是一种过拟合现象,降低了模型泛化能力。这一过程促使我们聚合机制进行改进,使其具有选择性:教师只对学生提出的部分问题作出回应。当教师提问时,首先检查教师之间的共识度是否足够高,若投票数大于设定的阈值,则接受学生的询问,否则拒绝。阈值的设定是随机的,以便在选择过程中提供隐私性。下图表明了该过程:
在实验中,隐私预算主要花费在两个方面:选择和回答查询。然而教师之间具有高度一致性,因此选择回答查询的预算十分小。下图展示了不同查询问题函数时性能的提升情况,分别为原始机制(Simple GNMax)、优化后机制(Confident GNMax),当使用数据依赖(data-dep)分析时,使用时刻会计(moments accountant)和RDP(R'enyi Differential Privacy)。
机器学习研究者如何使用PATE改进模型?
主要影响方法提供的隐私保护的强度有两个:
1.教师之间的共识:共识越强烈,输出相应标签所花费的隐私预算也越少。2.学生询问的数量:学生询问标签时,教师产生标签花费的预算会被添加到总的隐私成本中,尽可能少地对教师进行训练,增强提供的隐私保护。加强教师共识,需要在小量数据集上训练一大批教师模型,提高这些模型的准确性和泛化能力将有助于提升共识。PATE框架已经开源,并且可在TensorFlow模型库中调用,使用以下代码克隆相关程序并设置变量:
git clone https://github.com/tensorflow/models
export PYTHONPATH=$(pwd):$PYTHONPATH
cd research/differential_privacy/multiple_teachers
第一步是训练教师模型,以下演示的是在MNIST手写体数据集上训练250位教师模型:
python train_teachers.py --nb_teachers=250 --teacher_id=0 --dataset=mnist
python train_teachers.py --nb_teachers=250 --teacher_id=1 --dataset=mnist
python train_teachers.py --nb_teachers=250 --teacher_id=248 --dataset=mnist
python train_teachers.py --nb_teachers=250 --teacher_id=249 --dataset=mnist
训练好后,加载这些教师模型,并应用聚合机制来监督学生模型的训练:
python train_student.py --nb_teachers=250 --dataset=mnist --stdnt_share=1000 --lap_scale=20 --save_labels=True
可以看到,在聚合机制中引入了拉普拉斯尺度1/20的噪声,训练好后保存在文件/tmp/mnist_250_student_clean_votes_lap_20.npy中。运行分析脚本来了解学生模型保护差异隐私的界限值,并将noise_eps设置为 2/lap_scale:
python analysis.py --counts_file=/tmp/mnist_250_student_clean_votes_lap_20.npy --max_examples=1000 --delta=1e-5 --noise_eps=0.1 --input_is_counts
以上设置再现了PATE框架,感兴趣的读者可以在Github查阅全部代码。详情请
0 收藏&&|&&0
翻译的吧?“因此,创建学生模型(student model)。”怎么会翻译成这样?
翻译的吧?
“因此,创建学生模型(student model)。”怎么会翻译成这样?
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。

我要回帖

更多关于 机器学习预测世界杯 的文章

 

随机推荐