其他
联邦学习 (FL) 中常见的3种模型聚合方法的 Tensorflow 代码示例
简介
“客户端”是 FL 中使用的计算机和设备,它们可以彼此完全分离并且拥有各自不同的数据,这些数据可以应用同不隐私策略,并由不同的组织拥有,并且彼此不能相互访问。
使用 FL,模型可以在没有数据的情况下从更广泛的数据源中学习。FL 的广泛使用的领域如下:
卫生保健
物联网 (IoT)
移动设备
由于数据隐私对于许多应用程序(例如医疗数据)来说是一个大问题,因此 FL 主要用于保护客户的隐私而不与任何其他客户或方共享他们的数据。FL的客户端与中央服务器共享他们的模型更新以聚合更新后的全局模型。全局模型被发送回客户端,客户端可以使用它进行预测或对本地数据采取其他操作。
2
FL的关键概念
数据隐私:适用于敏感或隐私数据应用。
数据分布:训练分布在大量设备或服务器上;模型应该能够泛化到新的数据。
模型聚合:跨不同客户端更新的模型并且聚合生成单一的全局模型,模型的聚合方式如下:
简单平均:对所有客户端进行平均
加权平均:在平均每个模型之前,根据模型的质量,或其训练数据的数量进行加权。
联邦平均:这在减少通信开销方面很有用,并有助于提高考虑模型更新和使用的本地数据差异的全局模型的收敛性。
混合方法:结合上面多种模型聚合技术。
通信开销:客户端与服务器之间模型更新的传输,需要考虑通信协议和模型更新的频率。
收敛性:FL中的一个关键因素是模型收敛到一个关于数据的分布式性质的良好解决方案。
3
实现FL的简单步骤
定义模型体系结构
将数据划分为客户端数据集
在客户端数据集上训练模型
更新全局模型
重复上面的学习过程
4
Tensorflow代码示例
首先我们先建立一个简单的服务端:
然后我们实现模型聚合步骤:
1、简单平均
2、加权平均
3、联邦平均
往期推荐
FLASH:面向高性能的联邦学习硬件加速结构
基于互信息的深度神经网络后门攻击
Graph-Fraudster:面向图垂直联邦学习的对抗攻击