前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Google新推联合学习:让手机共享一个模型,数据存在本地

Google新推联合学习:让手机共享一个模型,数据存在本地

作者头像
量子位
发布2018-03-22 12:08:12
1.3K0
发布2018-03-22 12:08:12
举报
文章被收录于专栏:量子位量子位
王新民 编译自 Google Research Blog 量子位 报道 | 公众号 QbitAI

传统的机器学习方法需要将训练数据集中到一台机器或一个数据中心里,Google已经有强大的云端服务器设备,来对这些数据进行处理。现在,为了训练用户与移动设备进行互动的定制模型,Google又引入了一种新方法:联合学习(Federated Learning)

联合学习能够在所有训练数据都保存在移动设备本地的情况下,让手机能够同时学习一个共享的预测模型。这种方法让机器学习的训练过程不再需要将数据存储到云端。

本地模型是在设备上完成模型训练过程,对移动设备的操作目的进行预测,如运动视觉接口(Mobile Vision API)和设备智能回答(On-Device Smart Reply),但是联合学习方法比本地模型还要复杂些。

它的工作原理如下:在设备下载当前最新的共享模型后,通过手机上的用户数据进行学习来改进这个模型,然后将网络权值的变化部分压缩为一个小型更新包。并将该模型的更新部分用加密通信方法上传到云端,立即与其他用户的更新部分进行平均,以改善共享预测模型。

所有的训练数据都保留在用户设备上,并且每个用户的权值部分在改善预测模型后,会立即删除,不会存储在云端。

图1:根据用户手机的使用情况来更新共享模型(A),将用户更新信息集中起来(B),改善云端共享模型的权值(C),然后重复该过程。

应用联合学习方法,可以产生更智能的模型,同时具有更低的延迟和更少的功耗,能够确保用户的隐私。而且这种方法具有另一个直接的好处:除了能够更新云端的共享模型,并且用户手机上的改善模型能立即应用到该设备中,根据特定用户使用手机的习惯来为用户提供个性化的体验。

我们目前在安卓手机上使用谷歌输入法的情况下,使用Gboard虚拟键盘来测试联合学习实际效果。当Gboard键盘列出所有查询建议后,手机设备会存储当前上下文的有关信息以及用户是否点击了该建议。在联合学习过程中,能够通过设备的历史输入来迭代改善Gboard键盘的查询建议模型。

为了使联合学习方法成为现实,我们必须克服许多算法和技术上的挑战。在典型的机器学习系统中,在随机梯度下降(SGD)的优化算法处理大型数据集时,能够将计算量均匀分配到各个云端服务器上。

这种高度迭代的优化算法在连接到训练数据时,需要保持低延迟和高吞吐量。但是在应用联合学习的系统中,用户数据以非常不均匀的方式分布在数百万台设备上。此外,这些设备显然具有更高的延迟以及较低的吞吐量连接,并且只能间断性地进行模型训练。

由于带宽和延迟的限制,我们通过改进得到了联合平均算法(Federated Averaging algorithm)。与一个最简单的随机梯度下降优化算法相比,这种算法在训练深度网络时,所用通信量减少了10到100倍。

其关键思想是利用目前移动设备带有的强大处理器来计算比简单梯度算法质量更高的更新方法。由于这种算法只需要较少高质量的更新迭代步骤,即可生成良好的模型,所以训练过程可以减少通信量。

由于通常上传速度比下载速度慢得多,因此我们还开发出了一种创新的方法,通过使用随机旋转和量化方法来压缩更新信息,从而将上传的通信成本降低了原来的100倍。

虽然这些方法只适用于深度网络的训练过程中,但我们还针对点击率预测等问题,设计了高维稀疏凸模型的算法。

将这项技术应用到使用Gboard虚拟键盘的数百万个不同手机中,需要一个复杂的技术来实现。移动设备在训练时使用的是迷你版本的TensorFlow。只有确保设备处于空闲状态,连接到无线网络后才进行模型训练,因此对手机的性能没有影响。

图3:用户手机只有当不会对操作体验产生负面影响时,才会参与到联合学习中来

同时,系统需要以一种安全,高效,可扩展和容错性好的方式进行通信和更新联合学习模型。只有结合了对基础设备的研究,才能使联合学习的应用成为可能。

联合学习方法在运行时,不需要将用户操作数据存储在云端中,但是我们并没有就此停止研究。

我们开发了一种使用加密技术的安全数据融合(Secure Aggregation)协议,如果100或1000个用户参与,中心服务器只能通过解密得到平均更新信息,在平均操作之前无法得到单个用户设备的更新信息。

这个协议第一次切实可行地解决了深层网络规模大小和现实连接吞吐量的约束问题。我们也设计了联合平均方法(Federated Averaging),因此中心服务器只需要使用安全数据融合协议即可获得平均更新信息。

然而协议具有普适性,所以也可以应用于其他问题。我们正在努力推进这个协议的产品化,并希望在不久的将来能够应用到联合学习应用程序。

我们的工作只是解决了模型目前存在的表面问题。联合学习并不能解决所有机器学习问题,如通过精准标注样本来学习识别不同的狗品种。而对于许多其他模型,训练所需的数据集已经存储在云端,如训练Gmail垃圾邮件辨别的分类器。

所以Google将继续推进最先进的基于云端的机器学习技术,但是我们也会致力于这方面的研究,来扩大可以通过联合学习解决的问题范围。不只是用于Gboard查询建议,我们还希望基于实际键入手机的信息来改善输入法具有定制风格的语言模型,基于人们所看到、分享或删除的照片类别,来调整显示的照片顺序。

在目前的云端模型训练中,信息传递成本是一个很重要的限制因素。在联合学习方法的启发下,我们希望相关机器学习研究人员能够采用新的工具和新的思维方式,在不需要直接访问或标注原始数据的情况下,完成模型的开发、训练和评估过程。

为了用户的操作体验,我们希望应用联合学习方法,来解决更多有价值的技术挑战。我们已经发布了相关工作成果,希望在机器学习社区中和大家进行讨论。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 王新民 编译自 Google Research Blog 量子位 报道 | 公众号 QbitAI
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档