联邦学习---论文汇集(一)

                         写这篇文章的时候,已经是开学半年了,还没什么进展。
                                 一句话总结:读了很多,但没有理解透彻的。

梳理一下脉络,为后面进展做一个小结和展望。

随机梯度下降:梯度是函数的一阶导,用斜率表示,表示线的增减走向(正的过一三象限,负的过二四象限),寻找极值点。

分类

中心化去中心化
独立同分布(iid)非独立同分布(non-iid)
FedAvg加权平均
动量双动量
初始化相同初始化不同

2017年, McMahan 1 ^1 1提出联邦学习框架概念,指出存在 数据异构,各客户端数据量大小差异,覆盖广泛,通信量限制。

分析了通信量瓶颈,提出有两种解决方法:

  1. 增加并行计算
  2. 减少通信轮数,增加客户端计算量

对于iid, non-iid 情形进行了比较,以MNIST数据集为例,构造三种情形,第一类为iid,后两类为Non-iid:

  1. 将数据集随机打乱分在各个客户端--------iid
  2. 每个客户端只有一类--------------极度non-iid
  3. 每个客户端只有两类-------------次极度non-iid

故事描述:

假设client 和 server 都没开始工作, 有一个模型首先送到服务器了,服务器认为这个模型不够完 美,将它(复制)好多份送给各个client, 每个client 都对这个模型进行(加工),好多用户把这个模型处理成不同的样子,有的做坏了,干脆扔了,听说服务器有奖励评比,各个client将自己的作品简介发给服务器了,服务器对照这些简介,把模型按照汇总改了一下, 觉得还不完美,把改的模型又全发下去了,又有client做坏扔了,有的client有新想法了,又进行改造,往返几次,服务器收到的描述修改后发现完美了,改动已经很小了,就这样哇!把最后这个模型评为最好的模型,供大家参观!

官方描述:

设一个目标 min ⁡ f ( w ) = 1 n ∑ i = 1 n f i ( w ) \min f(w) = \frac{1}{n} \sum_{i=1}^{n}f_{i}(w) minf(w)=n1i=1nfi(w)

直觉认为达成这个目标应该是所有轮的每一轮所有用户的 f i ( w ) f_{i}(w) fi(w)时最小的,总和是最小的。

f i ( w ) f_{i}(w) fi(w)是客户端 i i i 每一轮的损失函数值,每一轮参加的数量是客户端是总数的百分之多少 C ∗ N C * N CN( C ∈ [ 0 , 1 ] C\in [0,1] C[0,1])。

在每一轮中,每次训练多少(B),共训练多少次(E)。

更新步骤: 找到了方向 g k g_{k} gk,要走多少( η \eta η)。

w t + 1 k = w t − η g k w_{t+1}^{k} = w_{t}-\eta g_{k} wt+1k=wtηgk

聚合 w t + 1 = 1 n ∑ k = 1 K w t + 1 k w_{t+1} = \frac{1}{n} \sum_{k=1}^{K} w_{t+1}^{k} wt+1=n1k=1Kwt+1k


Koneˇcný (NIPS 2016) 2 ^2 2, 针对上传通信阶段进行优化,提出两种方法(说到底就是压缩矩阵传输的形式):

1 . 结构更新(低维)

  • 低秩,矩阵分解。
  • 稀疏矩阵

2 . 压缩更新

  • 子样本(矩阵的子集合,无偏估计)
  • 概率量化(权重量化,加解码(不懂),用的随机比例,而没有用2进制)

参数用矩阵来表示:

[ h 11 h 12 . . . h 1 d 2 h 21 h 22 . . . h 2 d 2 . . . . . . . . . . . . h d 1 1 h d 1 2 . . . h d 1 d 2 ] \begin{bmatrix} h_{11} & h_{12} & ... &h_{1d_{2}} \\ h_{21} & h_{22}& ... &h_{2d_{2}} \\ ... &... & ... &...\\ h_{d_{1}1} & h_{d_{1}2}& ... &h_{d_{1}d_{2}} \end{bmatrix} h11h21...hd11h12h22...hd12............h1d2h2d2...hd1d2

变为向量 h = h 11 , h 12 , . . . , h d 1 d 2 = V e c ( H t i ) = a 1 , a 2 , . . . , a d 1 ∗ d 2 h={ h_{11},h_{12} ,...,h_{d_{1}d_{2}}}=Vec(H_{t}^{i})=a_{1},a_{2},...,a_{{d_{1} * d_{2}}} h=h11,h12,...,hd1d2=Vec(Hti)=a1,a2,...,ad1d2

h m a x = m a x j ( a j ) h_{max}= max_j(a_{j}) hmax=maxj(aj), h m i n = m i n j ( a j ) h_{min} = min_{j}(a_{j}) hmin=minj(aj)

概率量化

h ′ = { h m a x 概率为 a j − h m i n h m a x − h m i n h m i n 概率为 h m a x − a j h m a x − h m i n h^{'}=\begin{cases} h_{max} &\text{概率为} \frac{a_{j}-h_{min}}{h_{max}-h_{min}} \\ h_{min} &\text{概率为} \frac{h_{max}-a_{j}}{h_{max}-h_{min}} \end{cases} h={hmaxhmin概率为hmaxhminajhmin概率为hmaxhminhmaxaj

h ′ h^{'} h是关于h的无偏估计。对于 b 比特可以量化为 2 b 2^{b} 2b [ h m i n , h m a x ] [h_{min},h_{max}] [hmin,hmax]区间,降低了计算复杂度为 O ( d ) O(d) O(d) O ( d l o g d ) O(d log d) O(dlogd)

主要内容串

1 .Mcmahan H B , Moore E , Ramage D , et al. Communication-Efficient Learning of Deep Networks from Decentralized Data[J]. 2016.
2. Konen J , Mcmahan H B , Yu F X , et al. Federated Learning: Strategies for Improving Communication Efficiency[J]. 2016.
3. Yang L , Beliard C , Rossi D . Heterogeneous Data-Aware Federated Learning[J]. 2020.
4. Bonawitz K , Eichner H , Grieskamp W , et al. Towards Federated Learning at Scale: System Design[J]. 2019.

经典图收集

1(内容串 3)总结了近期Non-iid的研究。

Non-iiid 联邦学习

2 (内容串 4)描述了联邦学习协议,提出的系统可以利用Tensorflow 去训练深度神经网络,指出未来会对Bias,Convergence Time. Device Scheduling, Bandwidth, Federated Computation
联邦学习协议

以上是对初始提出的两种联邦平均算法的简要回顾。

—后续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值