《Fair Resource Allocation in Federated Learning》
哈喽 看论文的hxdm,聊一篇2020年ICLR,由卡内基梅隆和脸书合作的论文,解决联邦学习公平性问题。
论文链接:https://arxiv.org/pdf/1905.10497.pdf
GitHub链接:https://github.com/litian96/fair_flearn,也可以去paper with code上找到,https://paperswithcode.com/paper/190510497
一句话概括:提出q-FFL优化算法,在模型准确率不变的情况下,引入q参数化的权重,使损失大的参与者权重更高,降低准确率分布方差,使模型性能更均匀分布,实现联邦学习公平性。
写在前面
个人觉得联邦学习公平性很重要,这关乎客户端是否愿意参与、联邦学习能否可持续发展壮大,每个客户端都是自利的,“蛋糕“分不好,就算其他步骤优化的再牛逼,人家不愿意参加,你没辙啊
我总结联邦学习的两种公平性:一种是均衡公平性,强调“人人平等有机会“,关心“表现差“的客户;另一种是贡献公平性,强调“按劳分配,多劳多得,优胜劣汰“。
本文实现的公平性是第一种 均衡公平性,属于调整聚合权重的方法。类似论文《2019-ICML-Agnostic Federated Learning》只优化最差参与者的性能;《2022-ICASSP-A Dynamic Reweighting Strategy For Fair Federated Learning》提出将 q-FFL 中的损失放大机制替换为简单的权重再分配机制,通过为损失高的客户端分配更大的权重来增加对这些客户端的惩罚;《2022-一种联邦学习中的公平资源分配方案》提出了 α-FedAvg 算法,引入Jain’s 指数度量公平,降低了准确率方差。
然而本文方法不能提前确定最佳的q值,很难在数据异构情况下收敛,而且利用损失少的用户去弥补损失大的用户的方式,对于损失小的用户不公平。
人家引言咋写的
作者开门见山,引言第一段就提出论文动机:联邦学习总是最小化总损失,鲁迅说过“当集体利益最大化,总有一些人占便宜、受益,也有一些人委屈被占便宜、觉得不公平“,无法照顾每个参与者的准确率,所以我们能否提出一个方法,让联邦参与者的性能分布更公平、更均衡?

第二段归纳了相关论文和存在的问题
于是第三段,引出了本文的方法q-FFL,通过参数化的q,给予损失大的设备更高权重。
相比FedAvg,q-FFL使参与者的准确率更加集中

在总体平均准确率不变的情况下,参与者之间的准确率方差减少45%。

相关工作都有啥
相关工作介绍了三部分:
资源分配的公平性:
直接最大化吞吐量之类的参数可能导致不公平的分配,所以作为服务提供商在保持总吞吐量的同时,提高所有用户的服务质量也很重要。
为了平衡公平性和吞吐量,提出了Jain’s指数、熵、max-min/min-max公平性、比例公平性
与α-公平性度量相似,通过改变参数q可以在公平性和传统度量(如准确率)之间权衡。
机器学习的公平性:
AFL可以看做Q-FFL的一个特例,具有足够大的Q
与AFL(针对单个最差设备的性能进行优化)相比,Q-FFL具有更好的准确性和公平性,并且可以更有效地在规模上求解。
联邦优化:
为了减少通信并容忍异构性,必须开发优化方法以允许本地更新和设备之间的低参与
这个方法咋做的
我们来看提出的方法
传统联邦学习FedAvg的目标函数:
m i n ω f ( ω ) = ∑ k = 1 m p k F k ( ω ) \mathop{min}\limits_{\omega}f(\omega) = \sum_{k=1}^mp_kF_k(\omega) ωminf(ω)=∑k=1mpkFk(ω)
p k = n k N p_k = \frac{n_k}{N} pk=Nnk
其中 F k ( ω ) F_k(\omega) Fk(ω) 是第k个用户的本地损失, n k n_k nk 是第k个用户的样本数量,N是总样本数量。
q-FFL的目标函数:
m i n ω f q ( ω ) = ∑ k = 1 m p k q + 1 F k q + 1 ( ω ) \mathop{min}\limits_{\omega}f_q(\omega) = \sum_{k=1}^m \frac{p_k}{q+1}F_k^{q+1}(\omega) ωminfq(ω)=∑k=1mq+1pkFkq+1(ω)
参数q越大,对本身损失很大的 F k ( ω ) F_k(\omega) Fk(ω)来说,权重更大。当q=0就变成了FedAvg目标函数。当q趋于无穷大时,q-FFL就变成了只关注最差性能的AFL,就宠它,就宠它
瞧瞧这个函数的一阶导~
联邦学习公平性论文,一个关键点在于**你如何定义公平?**拿什么证明本文方法更公平?
本文认为模型的方差越小,就公平
常见衡量公平性的标准:
(1)标准差
对于任意两个模型 w 1 和 w 2 w_1和w_2 w1和w2 ,比较二者在N个客户端上的测试损失的标准差,若 s t d ( { L n ( w 1 ) } n ∈ [ N ] ) < s t d ( { L n ( w 2 ) } n ∈ [ N ] ) std(\{L_n(w_1)\}_{n\in[N]}) < std(\{L_n(w_2)\}_{n\in[N]}) std({Ln(w1)}n∈[N])<std({Ln(w2)}n∈[N]),则认为模型 w 1 比 w 2 w_1比w_2 w1比w2更公平
(2)基尼指数
对于任意两个模型𝑤1与𝑤2,比较二者在N个客户端上的测试损失的基尼系数,若有 G i n i ( { L n ( w 1 ) } n ∈ [ N ] ) < G i n i ( { L n ( w 2 ) } n ∈ [ N ] ) Gini(\{L_n(w_1)\}_{n\in[N]}) < Gini(\{L_n(w_2)\}_{n\in[N]}) Gini({Ln(w1)}n∈[N])<Gini({Ln(w2)}n∈[N]),则认为模型 w 1 比 w 2 w_1比w_2 w1比w2更公平。
其中 G i n i ( { L n ( w 1 ) } n ∈ [ N ] ) = ∑ i = 1 N ∑ j = 1 N ∣ L i ( w 2 ) − L j ( w 1 ) ∣ 2 N 2 μ , μ = 1 N ∑ n = 1 N L n ( w 1 ) Gini(\{L_n(w_1)\}_{n\in[N]}) = \frac{\sum_{i=1}^N\sum_{j=1}^N|L_i(w_2)-L_j(w_1)|}{2N^2\mu},\mu=\frac{1}{N}\sum_{n=1}^NL_n(w_1) Gini({Ln(w1)}n∈[N])=2N2μ∑i=1N∑j=1N∣Li(w2)−Lj(w1)∣,μ=N1∑n=1NLn(w1)
(3)Jain公平指数
若将联邦学习中的全局模型作为一种资源,其在N个参与者本地数据集上的准确率分布组
成向量𝒙,则其 Jain 公平指数(Jain’s Index)可由
J
(
x
)
=
(
∑
i
=
1
N
x
i
)
2
/
(
N
∑
i
=
1
N
)
x
i
2
J(x)=(\sum_{i=1}^Nx_i)^2/(N\sum_{i=1}^N)x_i^2
J(x)=(∑i=1Nxi)2/(N∑i=1N)xi2计算得到
q-FFL用的就是第一种 方差/标准差
开头也说了:很难提前确定参数q的最佳值,所以本文是每次选几组q,然后选一个表现最好的q,这种效率太低了。
所以针对q-FFL无法提前确定q值的问题,2022年的《一种联邦学习中的公平资源分配方案》提出了 α-FedAvg 算法,通过算法在训练之前确定参数 α 的值,
但这是后话了,回到本文,q的步长怎么选也很关键!
步长与函数梯度的Lipschitz常数成反比,而Lipschitz常数会随着q的改变而改变
所以,提出了用Lipschitz常数估计Q-FFL目标族的局部Lipschitz常数

算法:
q-FedSGD是FedSGD的扩展,相比FedSGD的固定步长,q-FedSGD使用动态步长。
q-FedAvg也是FedAvg的推广,它比q-FedSGD更有效求解q-FFL目标。

做做做做实验
使用凸模型和非凸模型,数据集有合成数据集也有非合成数据集
首先是公平性,q=0的蓝色部分就是FedAvg,红色是本文方法。可以看到红色分布更集中,准确率更均衡,也就更公平了。

但这张表发现,性能表现最差的10%精度提高,但表现好的10%精度下降。也符合开头说的这种均衡公平性“利用损失少的用户去弥补损失大的用户的方式,对于损失小的用户不公平“,所以就有另一种贡献公平性,大家八仙过海各凭本事、根据贡献大小获得相应奖励。

又和均匀采样的准确率对比
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i9KwZ6CO-1674810304986)(https://hidisanbucket.oss-cn-beijing.aliyuncs.com/img/image-20230127121902434.png)]
最后看了看本方法的效率,收敛速度如何。大多数情况下q-FedAvg收敛速度比q-FedSGD快,在合成数据集Syntheic上慢。作者说 这可能是由于当局部数据分布高度异构时,局部更新方案可能允许局部模型远离初始全局模型,潜在地损害收敛性。也就是说,高度异构会影响收敛速度。这算个缺点。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ASxAg8YK-1674810304986)(https://hidisanbucket.oss-cn-beijing.aliyuncs.com/img/image-20230127122042721.png)]
总结一下
本文动机:考虑到最小化总体损失,总会牺牲一部分参与者的准确率,会出现“有的客户准确率达到98%,有的客户准确率只有60%的情况“。所以,我们能不能让准确率分布更均匀,
方法:引入参数q,在总体准确率不变的情况下,给予损失大(准确率低)的客户更高权重,让客户端之间准确率方差更小,实现公平性。
需要提升:q的取值不能提前确定,只能多几组对照实验,选出一个q,效率很低。而且这种做法牺牲了性能好的客户,提升性能差的客户。
怎么理解联邦学习公平性,举个不恰当的例子:
假定你是李华, 一所高中的校长,目标是让每个孩子都有书读、提高总体成绩、吸引更多学生。现在你有两种做法,第一种把资源投给”好学生“,提高名校录取率,可以对外宣称每年多少多少了C9学生,吸引更多尖子生。第二种照顾”差学生“,提高一本上线率,宣传100%的上线率。
但是不管怎么做,好学生和差学生不可兼得,而且投入成本太高。有没有轻量级的方法,比如每天动嘴皮子灌鸡汤就能激励学生学习?或者兼顾所有学生的方法?
2195

被折叠的 条评论
为什么被折叠?



