- 为什么出现了联邦学习
- 随着数据集越来越大,模型越来越复杂,机器学习越来越需要将模型参数的优化分布在多台机器上,例如,(迪恩等人,2012). 存在许多用于分布式优化的算法,但这些算法通常具有实际上只有数据中心级网络结构才能满足的通信要求。此外,理论这些算法的合理性和实际性能在很大程度上取决于数据在计算节点上是 IID(独立同分布)的假设。
- 而且像许多数据都是非独立同分布,,并且数据的敏感性意味着将其存储在集中位置存在风险和责任,需要保护隐私。
- 适合联邦学习的任务
- 领域
- 此数据对隐私敏感或较大
- 对于受监督的任务
- 例子
- 典型的图像分类:根据学习用户以往的浏览照片类型来判断能够查询哪些照片;
- 典型的语言模型:典型的词语预测系统,通过以往的记录进行分析;
- 共同点
- 类型可以通过用户标记来定义;
- 对于不同用户的习惯,数据分布很可能不同。例如官方语言和俚语,Flickr照片和手机照片;
- 领域
- 联邦学习为什么通信问题是重点
- 在联邦优化中,通信成本占主导地位:由于通信成本是对称的,我们通常会受到 1MB/s 或更小的上传带宽的限制。此外,客户通常只会在他们被充电、插入并在不计费的 Wi-Fi 连接上时自愿参与优化。此外,我们预计每个客户每天只会参与少量的更新轮次。另一方面,由于任何单个设备上的数据集与总数据集大小相比都很小,而且现代智能手机已经速度非常快的处理器(包括 GPU),与许多模型类型的通信成本相比,计算基本上是免费的。
- 所以
- 提高并行度 在每一轮通信之间使用更多独立工作的客户端。
- 增加每个客户端的计算 与执行梯度计算等简单计算不同,每个客户端在每个通信轮次之间执行更复杂的计算。
- 提出FederatedAveraging ( 或FedAvg)算法
- 计算量由三个关键参数控制:
- C,每轮执行计算的客户端比例;
- E,然后每个客户端在每一轮对其本地数据集执行的训练次数;
- B,用于客户端更新的小批量大小。
- 计算量由三个关键参数控制:
- 实验结果
- 提高并行性
- 基于实验中所展示的结果,在剩下的实验中,我们固定C=0.1,在计算效率和收敛速度中取得了很好的平衡,对于固定B增加C并没有一个很好的效果,而将B=无穷和B=10的轮数相比起来,可以发现有一个明显的加速。下表展示了对于MNIST模型C值变化时的影响,每个表实体给出了2NN达到测试精度97%和CNN达到测试精度99%时所需要的通信轮数。
- 固定C=0.1
- 我们固定 C = 0.1,这在计算效率和收敛速度之间取得了很好的平衡。虽然增加固定 B 的 C 具有适度的效果,但比较 B = 和 B = 10 的轮数显示出显着的加速。
- 提高并行性
- 结论
- 实验表明,联邦学习具有显着的前景,因为可以使用相对较少的通信轮次来训练高质量的模型。
Federated Learning of Deep Networks using Model Averaging
最新推荐文章于 2024-04-27 08:33:11 发布