隐私与机器学习,二者可以兼得吗?

摘要: 隐私数据与机器学习看似矛盾,其实不然。如何有效保护机器学习训练中的隐私数据?谷歌专家给出了答案——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模型库中调用,使用以下代码克隆相关程序并设置变量:

cd
git clone https://github.com/tensorflow/models
cd 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查阅全部代码。

更多PATE相关资源

  • 2017 ICLR上发表的PATE论文以及会上演讲;
  • 2018 ICLR上发表的文章,将PATE应用于多分类以及不平衡数据;
  • Github上关于PATE的代码;
  • Github上关于优化后PATE隐私分析的代码;

结论

        在机器学习的应用中,隐私应该被认为是盟友,而不是敌人。随着技术的改进。差分隐私很可能会成为一个有效的正则化工具,能产生更好的行为模型。对于机器学习研究人员而言,就算不太懂隐私保护的知识,也可以通过PATE框架来保护机器学习里的训练数据。


本文由阿里云云栖社区组织翻译。
文章原标题《Privacy and machine learning: two unexpected allies?》

原文链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 深度调优,让你的项目飞起来!

文章目录项目调优一、修改配置文件项目调优 作为一名工程师,项目调优这事,是必须得熟练掌握的事情。 在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行。 一、修改配置文件 关于修改配置文件application.properties。 …

青年PM倪超:想让程序员多一点点幸福感

摘要: 本文主人公倪超,在内部,同事都习惯叫他花名银时,是阿里云产品经理。前不久,他所负责的企业级分布式应用服务EDAS,荣获了公司2018财年年度最佳产品奖。在五四青年节来临之际,我们有幸近距离…

C语言--if...else语句【语法讲解】

一.if...else语句的介绍 if…else 语句是编程中常用的一种分支语句,用于根据条件执行不同的操作。 它的基本语法如下: if (条件表达式) {// 当条件表达式为真时执行的代码块 } else {// 当条件表达式为假时执行的代码块 } 当条件表达式为真时&#xff…

黑苹果找不到触控板_猫和老鼠手游:好友位不足却找不到人开黑?玩家给好友系统支招...

猫追鼠,鼠躲猫,欢乐互动乐逍遥,欢迎你来到猫和老鼠游戏学院第126期。随着开学季的到来,我们在游戏中会发现一个有趣的现象:任何时候打开自己的好友界面,里面都是灰色一片,不可否认这确实和玩家群…

Serverless 的喧哗与骚动

戳蓝字“CSDN云计算”关注我们哦!导读:从 2016 年 AWS 发布 Lambda 以来,全世界的开发者和云厂商对 Serverless 的热情在不断高涨。假设不想在开发应用程序并将其部署在服务器上的过程细节上花费精力,是否有一种简单的架构模型能够…

2018年最佳深度学习书单

摘要: AI人才缺口巨大?如果你想成为AI革命中的一员,那么你就必须要学习深度学习,看看这12本书,它们将成为你的利器!我相信你应该知道人工智能,尤其是深度学习在过去5年左右取得了不错的进步。 深…

双绞线传输距离_视频监控系统中布线常用传输线缆分类及制作方法

同轴电缆:同轴电缆同轴电缆可分为两种基本类型,基带同轴电缆和宽带同轴电缆。目前基带是常用的电缆,其屏蔽线是用铜做成的网状的,特征阻抗为75(如RG-8、RG-58等);宽带同轴电缆常用的电缆的屏蔽层通常是用铝冲压成的&am…

国庆出游,这个银行卡大小的充电宝一定要带

说到充电宝,不知道有没有人跟我有同样的烦恼:5000毫安容量小,不够用。10000毫安容量够用,但又大又笨重,拿在手里充电超累的,还占地方!尤其是旅行出差的时候,这种体验更加明显&#x…

HBase运维基础——元数据逆向修复原理

摘要: 鉴于上次一篇文章——“云HBase小组成功抢救某公司自建HBase集群,挽救30T数据”的读者反馈,对HBase的逆向工程比较感兴趣,并咨询如何使用相应工具进行运维等等。总的来说,就是想更深层理解HBase运维原理&#xf…

50多种适合机器学习和预测应用的API,你的选择是?(2018年版本)

摘要: 本文盘点了2018年以来人脸和图像识别、文本分析、自然语言处理、情感分析、语言翻译、 机器学习和预测这几个领域常用的API,读者可以根据自己需求选择合适的API完成相应的任务。对于做工程项目和搞科研的人来说,有现成的模块或工具使用…

谷歌10月15日发布 Pixel 4;高通以31亿美元收购与TDK公司权益;甲骨文、VMware就云技术及支持达成协议……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 荣耀 Play 3(图片…

天线巴伦制作和原理_10米段的春天 | 用自制环型天线+改装SDR接收器27MHz采访实录...

HF部分包括9个不同的波段,范围从1.8MHz到29.7MHz,它们通常也称…

JAVA实现onvif的ptz控制_使用Onvif协议进行设备PTZ云台控制

接上一篇使用Onvif协议最重要的应用就是对设备进行PTZ云台控制,PTZ控制包含转动、变焦等,这里我们主要讨论常用的转动和变焦(也就是放大缩小)流程要进行设备PTZ控制,我们首先需要获取到设备的Device Service Address和此设备的用户名密码前两…

DataWorks支持PyODPS类型任务

摘要: 昨天,DataWorks推出了PYODPS任务类型,集成了Maxcompute的Python SDK,可在DataWorks的PYODPS节点上直接编辑Python代码操作Maxcompute,也可以设置调度任务来处理数据,提高数据开发效率。昨天&#xff…

vue base64图片不显示_技巧 | word中插入的图片显示不完整怎么办?

已经好久没有更新了,都快忘记有这个公众号存在了~这几个月发生了很多事情,工作上的任务也迟迟没有减轻,之前保持的日记也已经很久没有写了。但是觉得要是没有什么用什么方式将脑袋中时不时飘过的念头记录下来的话,过段时间就会完全…

重磅 | 华为发布绝杀计算战略!投15亿美元打造开放生态,全球最快AI训练集群Atlas 900,绝了!...

戳蓝字“CSDN云计算”关注我们哦! 文 | 阿晶、丹丹、王银发于上海华为HC大会现场出品 | CSDN云计算(ID:CSDNcloud) 科技的不断发展正逐步加速智能世界的到来。一直,华为致力于提供经济且充裕的算力,力图像使…

90后实习生,是如何成长为阿里云分布式NoSQL领域专家

摘要: 我是亦征,本名王怀远,现在是阿里云存储服务团队的研发,正值五四青年节,受云栖社区邀请,来分享下自己的成长故事。从5年前第一次进入阿里云实习到如今,我一直都在表格存储TableStore团队&a…

AI新时代-大神教你使用python+Opencv完成人脸解锁(附源码)

摘要: 好吧,伙计们,我回来了。说我拖更不写文章的可以过来用你的小拳拳狠命地捶我胸口.... 那么今天我们来讲关于使用pythonopencvface来实现人脸验证及人脸解锁。代码量同样不多,你可以将这些代码运用在其它一些智能领域&#xf…

zTree笔记,设置无法勾选父节点(禁用父节点)和父节点禁用时回显选中子节点时关联父节点状态

名称链接zTree APIhttp://www.treejs.cn/v3/api.phpzTree Demohttp://www.treejs.cn/v3/demo.php#_101 最近又用到了zTree,虽然zTree的APi已经很全很方便很易懂了,但是难免有的方法找不到。为了方便他人方便自己,做下笔记记录下 zTree笔记1 …

你需要知道的那些 redis 数据结构(前篇)

戳蓝字“CSDN云计算”关注我们哦! 作者 | 饿了么物流技术团队来源 | CSDN 企业博客redis 对于团队中的同学们来说是非常熟悉的存在了,我们常用它来做缓存、或是实现分布式锁等等。对于其 api 中提供的几种数据结构,大家也使用得得心应手。api…