详细内容或原文请订阅后点击阅览
首次了解使用 TensorFlow 进行联合学习
“联合学习”一词是为了描述一种分布式模型训练形式而创造的,其中数据保留在客户端设备上,即永远不会发送到协调服务器。在这篇文章中,我们介绍了核心概念,并使用 R 运行了 TensorFlow Federated 的首次实验。
来源:RStudio AI博客这里是典型的应用深度学习的过程:收集/获取数据;迭代训练和评估;部署。重复(或将其全部自动化为连续工作流程)。我们经常讨论训练和评估;部署在不同程度上很重要,具体取决于具体情况。但通常只是假设数据就在那里:所有数据都集中在一个地方(在您的笔记本电脑上;在中央服务器上;在云中的某个集群中)。但在现实生活中,数据可能遍布世界各地:例如在智能手机上,或在物联网设备上。有很多原因让我们不想将所有数据发送到某个中心位置:当然是出于隐私考虑(为什么第三方应该知道你给朋友发了什么短信?);但还有纯粹的质量(后者必然会变得越来越有影响力)。
一个解决方案是客户端设备上的数据保留在客户端设备上,但参与训练全局模型。如何实现?在所谓的联邦学习(McMahan 等人,2016 年)中,有一个中央协调器(“服务器”),以及可能数量庞大的客户端(例如手机),它们以“适配”的方式参与学习:例如,如果插入并处于高速连接状态。每当它们准备好训练时,客户端就会传递当前模型权重,并对自己的数据执行一定数量的训练迭代。然后,它们将梯度信息发送回服务器(稍后会详细介绍),服务器的工作是相应地更新权重。联邦学习并不是唯一可以联合训练深度学习模型同时保持数据私密性的协议:完全去中心化的替代方案可能是遵循八卦协议的八卦学习(Blot 等人,2016 年)。然而,截至今天,我还没有发现任何主要深度学习框架中现有的实现。
federatedlearning (McMahan 等人 2016) McMahan 等人 2016 八卦学习 (Blot 等人 2016) Blot 等人 2016 八卦协议这篇文章的预期内容
隐私$
tf.function
注意事项
第二个 TFF 核心教程