这是博客

试图存在, 但薛三无法自证

0%

联邦学习01--技术层面的联邦入门

联邦学习01——技术层面的联邦入门

本篇联邦学习 Federated Learning笔记 总结自课程:https://www.youtube.com/watch?v=STxtRucv_zo

1. motivation简述

FL01_motivation

以Google为例,Google有许多app运行在各种各样的的手机上。

  • 目标:希望使用用户数据训练模型;
  • 最直接的方案:收集用户数据至服务器,使用集群完成模型训练;
  • 问题:需要保护用户数据隐私!用户不愿提供个人数据。

总结:

在许多场景中,人们希望在数据不出本地,保护隐私的情况下,利用多方数据训练更好的模型。

为达成上述目标,人们提出了联邦学习Federated Learning的概念

2. 概念辨析

联邦学习,本质上是特殊需求下的分布式学习

我们回顾分布式学习的基本场景:

FL01_motivation
  • worker节点:负责接收server传来的更新后的参数,冰计算本地数据的gradient,发送gradient给server;
  • server节点:负责接收gradients,计算global gradient后更新参数并发还。

上述范式中,我们看到workers就如多方数据源,在分布式学习的场景下,数据没有离开worker,吻合联邦学习的初衷。

实际上,联邦学习就是在具体挑战下的分布式学习,其所面临场景有如下特征:

FL01_motivation

3. 研究方向

联邦学习的特殊场景带来了新的挑战,其主要研究方向如下:

  1. communication-efficiency

    如上图,可见通信开销是模型训练的主要阻碍,如何提升通信效率是一大方向,

    常见思路,是多进行本地计算,减少通信。代表如FedAvg——在本地迭代多个epochs后再发送gradient;

  2. privacy

    数据不出本地不意味着绝对安全,发送的梯度、参数等都包含数据信息,甚至可能被逆向,如何进行更好的隐私保护,同时平衡模型的性能损失,亦是一大方向;

  3. adversarial robustness

    e.g. 拜占庭将军问题,节点中出了“叛徒”,发送错误的梯度等,如何抵抗其对模型的影响。