关注公众号,发现CV技术之美
联邦学习是一种机器学习设定,其中许多客户端(例如:移动设备或整个组织)在中央服务器(例如:服务提供商)的协调下共同训练模型,同时保持训练数据的去中心化及分散性。联邦学习的长期目标则是:在不暴露数据的情况下分析和学习多个数据拥有者(客户端或者独立的设备)的数据。
进一步而言,联邦学习可定义为:Federated Learning = Collaborative Machine Learning without Centralized Training Data(没有集中训练数据的协作机器学习)[1],将机器学习的能力与将数据存储在云中的需求进行分离。
图1:Google联邦学习框架图(链接[1])
图2:Federated Learning Survey(链接[2])
接下来我们将从联邦学习中的挑战和未来进展剖析联邦学习。
▊ 联邦学习中的挑战
1. Expensive Communication:联邦学习可能由大量设备(例如数百万部智能手机)组成,网络中的通信可能比本地计算慢许多数量级;网络中的通信可能比传统数据中心环境中的通信昂贵得多;为了使模型更适合联邦网络,因此有必要开发出通信高效的方法,在训练过程中迭代发送小消息或模型更新,而不是通过网络发送整个数据集。
通信是在开发联邦网络的方法时需要考虑的一个关键瓶颈:具体而言,可分为以下三种解决方法:
(1)local updating methods本地更新方法;
(2)compression schemes压缩方法;
(3)decentralized training分布式训练。
local updating methods:如下图所示,通过局部小批量更新可以降低通信代价,在每一轮通信中并行地在每台机器上应用可变数量的本地更新,从而使计算量与通信相比更加灵活。
图3:关于多次局部小批次更新示意图(链接[3])
<