联邦学习概述:(横向联邦学习)

联邦学习能做什么?

  • 用于建立移动终端与服务器之间的共享模型
  • 在大规模数据背景下有效地利用数据资源
  • 保证用户的隐私安全

什么是联邦学习?

联邦学习是一种分布式机器学习技术,允许多方通过本地训练集按照指定算法(聚合策略)构建模型

联邦学习的无数据交换特性是一个天然的隐私保护特性

联邦学习概述:(横向联邦学习)_第1张图片                                                                                                       横向联邦学习中的聚合策略

  • 参与方将梯度信息发送给服务器,服务器将收到的梯度信息进行聚合(例如,计算加权平均),再将聚合的梯度信息发送给参与方。称这种方法为梯度平均(gradient averaging)

  • 联邦学习的参与方还可以共享模型的参数。参与方在本地计算模型参数,并将它们发送至服务器。服务器对收到的模型参数进行聚合(例如,计算加权平均),再将聚合的模型参数发送给参与方。称这种方法为模型平均(model averaging)    

    方法 优点 缺点
    梯度平均
    • 准确的梯度信息
    • 有保证的收敛性
    • 加重通信负担
    • 需要可靠连接
    模型平均
    • 不受SGD限制
    • 可以容忍更新缺失
    • 不频繁的同步
    • 不保证收敛性
    • 性能损失

联邦学习的定义:

联邦学习是利用分散在各参与方的数据集,通过隐私保护技术融合多方数据信息,协同构建全局模型的一种分布式训练方式。在模型训练过程中,模型的相关信息(如模型参数、模型结构、参数梯度等)能够在各参与方之间交换(交换方式可以是明文、数据加密、添加噪声等),但本地训练数据不会离开本地。这一交换不会暴露本地的用户数据,降低了数据泄漏的风险。训练好的联邦学习模型可以在各数据参与方之间共享和部署使用。

客户-服务器架构

    使用C-S架构构建的横向联邦学习系统,中心服务器负责将初始模型发送给各参与者(即数据拥有者,也称客户端){1,2,...,K},其中,K表示参与方的数量,通常K的值大于或等于2。数据拥有者{1,2,...,K}分别使用各自的本地数据集来更新初始模型,并将更新后的模型权重参数(或梯度)发送给聚合服务器。之后,聚合服务器将从数据拥有者处接收到模型参数,使用模型聚合的办法[例如联邦平均(FedAvg)算法]得到全新的全局模型,服务器将结合后的全局模型重新发送给各参与方,进行下一轮的联邦训练。这一过程重复进行,直至模型收敛或达到最大迭代次数或达到最长训练时间为止。

                                                                                                                                                                                                                                                                                                                                                                                                                                                          

你可能感兴趣的:(联邦学习,人工智能,python)