苹果详解规模化学习,利用「局部差分隐私」技术提升用户体验

来源:互联网 发布:轻而易举瓷砖设计软件 编辑:程序博客网 时间:2024/05/10 09:48



原文来源machinelearning.apple.com

作者:Differential Privacy Team

「雷克世界」编译:嗯~阿童木呀、我是卡布达

 

通常来说,了解人们使用设备的方式将有助于改善用户体验。但是,访问提供此类见解的数据(例如,用户在键盘上键入的内容以及访问的网站)可能会损害用户的隐私。我们开发了一个系统架构,通过利用局部差分隐私(local differential privacy),结合现有的隐私最佳实践,从而实现规模化学习。我们设计了高效和具有可扩展性的局部差分隐私算法,并提供了严格的分析从而展示实用程序、隐私、服务器计算和设备带宽之间的权衡。可以这样说,通过了解这些因素之间的平衡,我们能够使用局部差分隐私进成功的实际部署。这种部署可以通过各种用例以扩展到数以亿计的用户中,例如在Safari中识别通用的表情符号、常用健康数据类型和媒体播放首选项。我们在完整版本中提供有关该系统的更多详细信息。

 

介绍

 

深入了解整体用户数量对于改善用户体验至关重要。获得这些见解所需的数据是私有的、敏感的,因而必须要进行保密。除了隐私问题之外,在对使用这些数据的学习系统进行实际部署时还必须考虑资源开销、计算成本和通信成本。在本文中,我们概述了一个将差分隐私和隐私最佳实践相结合以从用户群体中进行学习的系统架构。

 

差分隐私提供了数学意义上的关于隐私的缜密定义,是隐私保护的最强保障之一。它根源于这样一种思想:精心校准后的噪声可以对用户的数据进行适当屏蔽。因此,当许多人提交数据时,已增加的噪声会平均出现,从而令有意义的信息浮现出来。

 

在差分隐私框架内,有两个设置:中心和局部。在我们的系统中,我们选择不收集服务器上的中心差分隐私所需要的原始数据;因此,我们采用局部差分隐私,这是一种更好的隐私形式。局部差分隐私具有这样一个优点,即数据从设备发送之前,是经过随机化的,所以服务器永远不会看到或接收到原始数据。

 

我们的系统被设计为可选择性的、透明的。在用户明确选择报告使用信息之前,数据将不会进行记录或传输。在局部模型中,使用事件级差分隐私在用户的设备上对数据进行私有化,其中,事件可以是用户输入一个表情符号。另外,我们限制每个用例传输私有化事件的数量。每天一次到达服务器的传输发生在加密通道上,没有设备标识符。记录到达受限访问的服务器,其中IP标识符立即被丢弃,并且多个记录之间的任何关联也被丢弃。在这一点上,我们无法进行区分,例如,一个表情符号记录和Safari网站域名记录是否来自同一个用户,我们无从知晓。这些记录被处理用以计算统计数据。这些汇总统计数据将在Apple内部被相关团队共享。

 

我们侧重专注元素频率估计问题,例如,表情符号和网络域名。在估计元素频率时,我们需要考虑两个子问题。首先,我们从已知的元素dictionary中计算直方图。第二,dictionary是未知的,我们希望获得数据集中最频繁元素的列表。

 

系统架构

 

我们的系统架构由设备端和服务器端数据处理组成。在设备上,私有化阶段确保原始数据是差分私有化。限制访问服务器进行可以进一步分为摄取和聚合阶段的数据处理。我们在下面详细解释每个阶段。

 

1:系统概述

 

私有化

 

用户可以选择在macOSiOS上的系统设置选项中分享用于分析的私有化记录。对于没有选择的用户来说,系统保持不活动状态。而对于已进行选择的用户,我们定义了每个事件的隐私参数,ε。此外,我们对每个使用案例每天可以传输的私有化记录数量设置了限制。我们的选择ε基于每个用例的基础数据集的隐私特征。这些值与差分隐私研究社区提出的参数是一致的。而且,下面给出的算法进一步为用户提供了由于散列冲突(hash collisions)而导致的推诿性(deniability)。我们通过在服务器中删除用户标识符和IP地址来提供附加的隐私,其中,这些记录被用例分隔开来,从而使多个记录之间不存在关联。

 

无论事件在设备上是何时生成的,数据立即通过ε局部差分隐私私有化,并使用数据保护临时存储在设备上,而不是立即传输到服务器上。系统基于设备情况进行延迟后,根据上述限制,在差分隐私记录中进行随机采样,并将采样记录发送给服务器。这些记录不包括设备标识符或事件生成时间的时间戳。设备和服务器之间的通信使用TLS进行加密。参见图2的概述。

 

2:私有化阶段

 

iOS上,报告在以“DifferentialPrivacy”为开头的条目中的设置>隐私>分析>分析数据中都是可见的。在macOS上,这些记录在“控制台”、在“系统报告”中是可见的。图3是我们用于流行表情符号用例算法的样本记录。记录列出了算法参数,将在下面予以讨论,而且私有化的数据条目被表示为十六进制字符串。请注意,私有化数据在这里用于陈述而予以省略。此样本中的全部大小都是128字节。

 

3:具有私有化记录的样本记录

 

摄取和聚合

 

在进入摄取之前,私有化记录首先被剥离了它们的IP地址。摄取器然后收集来自所有用户的数据并批量处理它们。批处理过程删除了元数据(metadata),例如私有化记录收到的时间戳,并根据用例将这些记录分离。在将输出转发到下一个阶段之前,摄取者也随机排列每个用例中私有化记录的排序。

 

聚合器从摄取器获取私有记录,并根据下面的部分描述的算法为每个用例生成一个差分私有化直方图。在计算统计数据时,多个用例的数据永远不会合并在一起。在这些直方图中,只有计数高于规定阈值的域元素T涵盖在内。这些直方图然后在Apple内部被相关团队共享。

 

算法

 

接下来,我们描述三个局部差分私有算法。

 

·Private Count Mean Sketch

 

PrivateCount Mean SketchCMS)将设备提交的记录进行聚合,并在域元素dictionary中输出计数直方图,同时保留局部差分隐私。这发生在两个阶段:客户端处理和服务器端聚合。

 

我们用一个例子来说明这个过程。假设用户访问网络域名www.example.com。客户端算法从一组候选哈希函数(hash function{h1,h2,h3,…,hk}中随机抽取一个哈希函数,并使用选定的哈希函数h2将网域编码成一个大小为m的小空间。令h2www.example.com= 31。这个编码被写成一个大小为m的独热向量,其中第31位置的比特设置为1。为了保证差分隐私,独热向量的每个比特独立地以概率翻转,其中ε是隐私参数,它构成了私有化向量。然后这个向量和已选定的哈希函数索引将被发送到服务器中。

 

服务器端算法通过对来自设备的私有化向量进行聚合构造了一个Sketch矩阵M。矩阵有k行——每一个对应每一个哈希函数,m列,对应于从客户端发送的向量的大小。

 

当记录到达服务器时,算法将私有化向量添加到行j中的向量中,其中,j是从设备采样得来的哈希函数的索引。然后对M的值进行适当的扩展,以便每行有助于为每个元素的频率提供无偏差估计。

 

为了计算网络域名www.example.com的频率,该算法通过读取M [jhj(www.example.com)]以获得每个j行的无偏差估计,并计算这些估计的均值。在本文的完整版本中,我们证明了私有计数错误(或方差)的分析表达式,这使得我们可以在最小化部署中的设备带宽和服务器运行时等资源成本的同时,获得准确计数的原则性方法。

 

·Private Hadamard Count Mean Sketch

 

我们在本文的完整版本中描述该如何增加设备带宽才能够实现CMS中更为准确的计数。但是,这将会给用户带来更高的传输成本。我们希望在降低传输成本的同时将对准确性产生的影响降到最小。这导致我们设计Private Hadamard Count Mean SketchHCMS)算法,其具有的优点是设备可以以小的精度损失发送一个比特。使用HCMS的话,就有可能实现相当准确的计数,而不需要用户支付高昂的传输成本。我们对HCMS在完整版本中所获得的准确性进行了量化。

 

我们现在用一个例子来介绍HCMS。假设用户访问网络域名www.example.com。与CMS一样,客户端算法从一组候选散列函数{h1h2h3...hk}中选择一个随机哈希函数,并使用选择的哈希函数h3web域编码到一个小空间中,我们令h3www.example.com= 42。这个编码被写成一个独热向量v=0,0...0,1,0...0,0),其中,第42位置的值为1。因为我们想传输一个比特,一个简单的方法就是从v中采样并发送一个随机坐标,然而,这会显著增加结果直方图中的错误(方差)。为了帮助减少方差,我们在v中使用Hadamard基变换H,以获得V= Hv =+ 1−1,…,+1)。例如,有一个从V′中采样获得的随机坐标,相应的比特以概率

进行翻转,从而确保差分隐私。发送到服务器的输出包括所选的哈希函数的索引、采样的坐标索引和私有化比特,见图4

 

4:用于HadamardCount Mean Sketch的客户端算法

 

CMS类似,服务器端算法使用的是数据结构——Sketch矩阵M,以将从客户端那里收集私有化向量进行聚合。矩阵M的行被候选哈希函数索引。另外,列是由设备样本的随机坐标索引编制的。矩阵的的第(jl)单元聚合了设备所提交的私有化向量,即从向量中选择第j个哈希函数hj,并采样第l个坐标。继而进一步对私有化向量进行适当的扩展,使用可逆Hadamard矩阵将M转换回原来的基底中。在这个阶段,矩阵的每一行都有助于为元素的频率提供一个无偏差估计量。要计算一个webwww.example.com的频率,这个算法首先通过读取j行的M [jhj(www.example.com)]以获得M中每一行的无偏差估计,作为最后一步,算法计算出这些k估计的平均值以减少方差,参见图5

 

5:用于HadamardCount Mean Sketch的服务器端算法

 

·PrivateSequence Fragment Puzzle

 

过去的算法假定存在一些已知的域元素dictionary,服务器可以通过它进行枚举以确定相应的计数。然而,在某些情况下,这个域是巨大的,在整个空间上进行枚举就计算而言是无法达到的。例如,在发现经常输入的新单词时,即使我们设定仅使用10个字母区分大小写的英文单词时,这种方法也要求服务器至少循环5210个元素。

 

相反,我们开发了一种称为Sequence Fragment Puzzle SFP的算法,并将其呈现在发现新单词的设置中。我们利用这个事实,即给定一个通用字符串,那个字符串的任何子字符串也至少是通用的。在设备上,我们使用客户端CMS算法来对输入的单词进行私有化。此外,我们选择单词的一个子串,并将其与单词的8位散列连接起来。我们将小散列称为puzzle piece,并将与散列相连的子串作为片段。该片段使用CMS进行私有化,并将其与私有单词一起传输到服务器。例如,如果这个词是Despacito,选定的字符串是sp,客户端发送三项事件:CMS(Despacito)、CMS(sp||97)(97代表puzzle piece)、以及所选子字符串的位置。

 

对片段使用sketches,服务器端算法将获取每个子串位置的所有可能片段的直方图。puzzle piece允许服务器关联来自同一个单词的片段,因为来自单词的所有片段将具有相同的puzzle piece。然后,服务器算法将自己限制在最通用的片段上,通过连接其拼图匹配的流行片段来确定候选字符串的列表。这组候选字符串形成了一个合理大小的dictionary,并让我们在整个单词上使用CMS算法。

  

成果

 

下面,我们将结合实例来说明,如何利用我们的算法在保护用户的隐私的同时增强产品功能。

 

发现通用表情符号

 

由于表情符号在我们的用户中广为流行,因此我们想要了解哪些表情符号的使用频率最高,以及这些表情符号的相对分布情况。为此,我们在键盘语言环境中部署了我们的算法。在该算法中,我们将CMS的参数设置为:m=1024,k=65536,ε=4,共涵盖2600个表情符号。

 

不同的键盘设置使得产生的数据也有所不同,如图6所示,我们观察了英语和法语两种语言环境下的使用情况,利用这些数据,我们可以改进QuickType对表情符号的预测能力。


图6.不同语言环境中的表情符号

 

识别Safari的高耗能和内存使用情况

 

一些网站的资源非常密集,我们希望能够鉴别出这类网站,从而提供更好的用户体验。我们研究两种类型的域名:一种是高内存占用型,另一种是高耗能型。在iOS 11和macOS High Sierra系统中,Safari可以自动检测出这些特殊的域名,并使用差分隐私技术上报这些域名。

 

通过使用我们的算法,我们可以明确哪些域名会导致高能耗,在该用例中,我们将HCMS的参数设置为m=32768,k=1024,ε=4,涵盖250000个网络域名。回想一下,一个差分隐私记录只在HCMS中占用一个比特位。根据我们的数据显示,最常见的高资源域名包含视频消费网站、购物网站和新闻网站。

 

发现新词汇

 

我们想要学习设备中不存在的单词,以改善自动纠正效果。为了发现新单词,我们部署了上述的序列片段拼图(Sequence Fragment Puzzle SFP)算法。

 

该算法可产生跨越多种语言的结果,包括英语、法语和西班牙语。例如,用于英语键盘的学习词汇可以分为多个类别,如wyd、wbu、idc等缩写;诸如bruh、hun、bae和tryna等通用表达方式;再如Mayweather、McGregor、Despacito、Moana和Leia等季节和趋势词;以及dia、queso、aqui和jai等外来词。利用这些数据,我们不断更新设备内词典以改善键盘体验。

 

发现新词汇的另一面是没有加e(lov或th)或w(kno)后缀的已知词汇。如果用户不小心按下键盘上最左边的预测格(包含到目前为止输入的文字字符串),那么将会有一个空格输入在当前字符中,而不是他们打算输入的字符。基于我们的局部差分隐私算法,这是我们能够学习的关键洞察力所在。

 

结论

 

在本文中,我们提出了一种全新的学习系统架构,它利用局部差分隐私技术,并将其与隐私最佳实践相结合。为了将我们的系统扩展到数百万用户和各种用例中,我们为已知和未知的dictionary设置开发了全新的局部差分私有算法——CMS、HCMS和SFP。在全文中,我们提供了隐私、实用程序、服务器计算开销、设备带宽等各因素之间的权衡分析表达式。我们的效用定理给出了一种选择算法参数的原理性方法,从而保障了在不降低准确性的情况下使用户的传输成本实现最小化。没有这样的表达式将很难评估对精度的影响。例如,降低传输成本而不需要运行昂贵的迭代。此外,为了将传输成本降到最低,我们的HCMS算法可以在每个用户只发送一个私有化比特位的情况下获得精确的计数。我们相信,我们的论文是其中一个首次展示,在跨多个用例的实际场景中成功部署局部差分隐私。我们已经表明,我们可以找到通用的缩写和俚语单词、通用的表情符号、通用的健康数据类型,同时满足局部差分隐私。除此之外,我们还可以识别消高能耗和太占内存的网站,以及用户想要自动播放的网站。这些信息已经被用来改善用户体验。

 

希望我们的工作能够缩小隐私系统理论和实践之间的差距。同时,我们也相信,我们的工作将不断支持对大规模学习问题的广泛研究。

 

 欢迎个人分享,媒体转载请后台回复「转载」获得授权,微信搜索「BOBO_AI」关注公众号


中国人工智能产业创新联盟于2017年6月21日成立,超200家成员共推AI发展,相关动态:

中新网:中国人工智能产业创新联盟成立

ChinaDaily:China forms 1st AI alliance

证券时报:中国人工智能产业创新联盟成立 启动四大工程搭建产业生态“梁柱”

工信部网站:中国人工智能产业创新联盟与贵阳市政府、英特尔签署战略合作备忘录


点击下图加入联盟


下载中国人工智能产业创新联盟入盟申请表


关注“雷克世界”后不要忘记置顶

我们还在搜狐新闻、雷克世界官网、腾讯新闻、网易新闻、一点资讯、天天快报、今日头条、雪球财经……

↓↓↓点击阅读原文查看中国人工智能产业创新联盟手册