从这两张图看,这个公平联邦学习问题的“难解”并不只是通常所说的 accuracy–fairness trade-off,而是同时存在 数据量异质性、域异质性、代理指标失真和离散客户端选择 几个层面的冲突。尤其第二张图已经给出了一个很关键的信号:** Fisher Trace 并不是 Update Utility 的良好单调代理。**
先看数据结构。虽然四个 domain 都各有 5 个客户端,看起来“客户端数量完全公平”,但每个客户端的数据量差异很大:MNIST 约 600,SVHN 约 730,而 SYN 只有约 100,USPS 约 75。按图中数值粗略计算,四个域的数据总量约为
N MNIST ≈ 3000 , N SVHN ≈ 3650 , N SYN ≈ 500 , N USPS ≈ 375. N_{\text{MNIST}}\approx3000,\quad
N_{\text{SVHN}}\approx3650,\quad
N_{\text{SYN}}\approx500,\quad
N_{\text{USPS}}\approx375. N MNIST ≈ 3000 , N SVHN ≈ 3650 , N SYN ≈ 500 , N USPS ≈ 375.
因此如果采用 FedAvg 式的 sample-size weighting,四个域的有效权重大约是
39.9 % , 48.5 % , 6.6 % , 5.0 % . 39.9\%,\quad48.5\%,\quad6.6\%,\quad5.0\%. 39.9% , 48.5% , 6.6% , 5.0%.
也就是说,client-count fairness 并不等于 optimization fairness 。MNIST+SVHN 会贡献将近 90% 的优化质量,SYN/USPS 即使每轮选到相同数量客户端,其梯度仍然容易被淹没。这是第一个求解困境。
1. 第二张图实际上暴露了“信息量”和“即时收益”的冲突
你的统计结果是
ρ s ( F , U ) = − 0.550 , \rho_s(F,U)=-0.550, ρ s ( F , U ) = − 0.550 ,
而且控制 label-distribution divergence B B B 之后:
ρ s ( F , U ∣ B ) = − 0.547. \rho_s(F,U\mid B)=-0.547. ρ s ( F , U ∣ B ) = − 0.547.
这两个数几乎一样。
这说明在你的实验里,Fisher Trace 越大的客户端,更新效用 U i U_i U i 反而整体越低 ,而且这种负相关不是简单由 label imbalance B i B_i B i 造成的。
如果你的优化问题原先有类似目标:
max x ∑ i x i F i \max_{\mathbf x}\sum_i x_i F_i x max i ∑ x i F i
希望选择“信息量高”的客户端,同时又希望
max x ∑ i x i U i , \max_{\mathbf x}\sum_i x_i U_i, x max i ∑ x i U i ,
那么现在已经有比较明确的经验性证据表明,这两个目标存在真正的 antagonism:
F ↑ ⟹ U 往往 ↓ . F\uparrow
\quad\Longrightarrow\quad
U\ \text{往往}\downarrow. F ↑ ⟹ U 往往 ↓ .
因此这不是简单调整一个权重系数就一定能消掉的问题,而是会形成 Pareto trade-off 。
比较有意思的是散点形状本身。低到中等 F i F_i F i 区域存在大量 U i ≈ 95 % U_i\approx95\% U i ≈ 95% 的客户端;到了
F i ∼ 1 0 3 − 1 0 4 F_i\sim10^3-10^4 F i ∼ 1 0 3 − 1 0 4
以后,却出现明显的多分支:有约 80–90% 的点,也有约 40–50%,甚至 10–30% 的点。
所以实际上
U i ≠ g ( F i ) U_i \neq g(F_i) U i = g ( F i )
这样一个简单的一维关系,而更像
U i = g ( F i , d i , n i , domain shift i , training stage , … ) . U_i=g(F_i,d_i,n_i,\text{domain shift}_i,\text{training stage},\ldots). U i = g ( F i , d i , n i , domain shift i , training stage , … ) .
这也是为什么只按 Fisher score 排序做 client selection 很容易失败。
2. 更关键的是:B i B_i B i 几乎与 Fisher 无关
你得到
ρ s ( F , B ) = 0.064. \rho_s(F,B)=0.064. ρ s ( F , B ) = 0.064.
基本可以认为 Fisher Trace 和你定义的 label distribution divergence 没有明显的单调关系。
这意味着如果 B i B_i B i 是你的 fairness proxy,例如
B i = J S ( P i ( y ) ∥ P g ( y ) ) , B_i=JS(P_i(y)\Vert P_g(y)), B i = J S ( P i ( y ) ∥ P g ( y )) ,
那么不能期待:
“我选择 Fisher 高的客户端,同时也会自然改善分布公平性。”
事实上从图中看不是这样。
因此会出现一种非常麻烦的三角关系:
F i , U i , B i \boxed{
F_i,\quad U_i,\quad B_i
} F i , U i , B i
其中
F i ↔ U i : 明显负相关 , F_i\leftrightarrow U_i:
\text{明显负相关}, F i ↔ U i : 明显负相关 ,
而
F i ↔ B i : 基本解耦 . F_i\leftrightarrow B_i:
\text{基本解耦}. F i ↔ B i : 基本解耦 .
这意味着一个单一 scalar score,例如
S i = α F i − β B i S_i=\alpha F_i-\beta B_i S i = α F i − β B i
可能很难同时代表:
learning informativeness;
immediate utility;
fairness。
因为三个量并不共线。
3. 这会造成一个典型的“公平–性能–信息价值”三重矛盾
你可以把问题理解成下面这个结构。
设 x i ∈ { 0 , 1 } x_i\in\{0,1\} x i ∈ { 0 , 1 } 表示第 i i i 个客户端是否被选中,并且
∑ i x i = K . \sum_i x_i=K. i ∑ x i = K .
如果性能目标写成
f 1 ( x ) = − ∑ i x i U i , f_1(\mathbf x)
=
-\sum_i x_iU_i, f 1 ( x ) = − i ∑ x i U i ,
而公平目标写成,比如:
f 2 ( x ) = Var d ( U d ( x ) ) , f_2(\mathbf x)
=
\operatorname{Var}_{d}
\left(
U_d(\mathbf x)
\right), f 2 ( x ) = Var d ( U d ( x ) ) ,
或者
f 2 ( x ) = max d U d − min d U d , f_2(\mathbf x)
=
\max_d U_d-\min_dU_d, f 2 ( x ) = d max U d − d min U d ,
或者基于分布差异:
f 2 ( x ) = ∑ i x i B i , f_2(\mathbf x)=
\sum_i x_iB_i, f 2 ( x ) = i ∑ x i B i ,
那么真正的问题是
min x [ f 1 ( x ) , f 2 ( x ) ] \min_{\mathbf x}
\left[
f_1(\mathbf x),f_2(\mathbf x)
\right] x min [ f 1 ( x ) , f 2 ( x ) ]
subject to
x i ∈ { 0 , 1 } , ∑ i x i = K . x_i\in\{0,1\},\qquad
\sum_i x_i=K. x i ∈ { 0 , 1 } , i ∑ x i = K .
这已经是一个组合多目标优化。
但如果你又要求 Fisher 信息量足够大,例如
∑ i x i F i ≥ F min , \sum_i x_iF_i\ge F_{\min}, i ∑ x i F i ≥ F m i n ,
问题会更加困难,因为你的数据已经表明:
F i ↑ F_i\uparrow F i ↑
往往意味着
U i ↓ . U_i\downarrow. U i ↓ .
因此这个 constraint 本身会把可行解推向低 utility 区域。
这时所谓“求解困境”可以非常清楚地画成:
高 Fisher ⟷ 高 Utility \boxed{
\text{高 Fisher}
\;\longleftrightarrow\;
\text{高 Utility}
} 高 Fisher ⟷ 高 Utility
发生竞争,
同时
多数域性能 ⟷ 少数域公平 \boxed{
\text{多数域性能}
\;\longleftrightarrow\;
\text{少数域公平}
} 多数域性能 ⟷ 少数域公平
也发生竞争。
于是 Pareto front 很可能不是一个简单光滑曲线,而是由不同 domain/client combination 形成的离散簇。
4. 为什么公平目标尤其容易伤害全局性能
这里的数据量不平衡是核心。
假设你只追求整体 accuracy,那么优化器天然更愿意选择:
MNIST/SVHN \text{MNIST/SVHN} MNIST/SVHN
因为它们的数据更多、估计方差更小,而且对 global objective 的贡献更大。
可以近似写成
L g ( w ) = ∑ d N d N L d ( w ) . L_g(w)
=
\sum_d
\frac{N_d}{N}
L_d(w). L g ( w ) = d ∑ N N d L d ( w ) .
于是
∇ L g = ∑ d N d N ∇ L d . \nabla L_g
=
\sum_d
\frac{N_d}{N}
\nabla L_d. ∇ L g = d ∑ N N d ∇ L d .
由于
N S Y N N , N U S P S N ≪ N S V H N N , \frac{N_{\rm SYN}}N,\,
\frac{N_{\rm USPS}}N
\ll
\frac{N_{\rm SVHN}}N, N N SYN , N N USPS ≪ N N SVHN ,
SYN/USPS 的方向即使对自身 domain 非常重要,对 global gradient 的影响也很小。
但如果为了 fairness 强制:
p M N I S T = p S V H N = p S Y N = p U S P S , p_{\rm MNIST}
=
p_{\rm SVHN}
=
p_{\rm SYN}
=
p_{\rm USPS}, p MNIST = p SVHN = p SYN = p USPS ,
实际上相当于大幅提高小域梯度的相对权重。
这能改善 worst-domain performance,却很可能牺牲平均性能。
所以这里存在一个很典型的冲突:
min ∑ d N d N L d ⏟ population optimal vs. min 1 D ∑ d L d ⏟ domain fair . \underbrace{
\min \sum_d \frac{N_d}{N}L_d
}_{\text{population optimal}}
\qquad
\text{vs.}
\qquad
\underbrace{
\min \frac1D\sum_d L_d
}_{\text{domain fair}}. population optimal min d ∑ N N d L d vs. domain fair min D 1 d ∑ L d .
二者对应的是不同的统计目标,本来就不一定具有同一个最优点。
5. 你的图还说明:label divergence 可能不是充分的 fairness 描述量
这一点我认为很值得强调。
你现在 colorbar 使用的是
B i = J S ( P i ( y ) , P g ( y ) ) . B_i=JS(P_i(y),P_g(y)). B i = J S ( P i ( y ) , P g ( y )) .
但是
ρ ( F , B ) = 0.064 \rho(F,B)=0.064 ρ ( F , B ) = 0.064
以及控制 B B B 后
ρ ( F , U ∣ B ) ≈ ρ ( F , U ) \rho(F,U\mid B)\approx\rho(F,U) ρ ( F , U ∣ B ) ≈ ρ ( F , U )
说明 B i B_i B i 基本解释不了 Fisher–Utility 的关系。
这并不意味着“公平性不重要”,反而更可能说明:
仅用 label distribution divergence 描述 domain heterogeneity 太弱。
比如 MNIST 和 SVHN 即使数字类别比例完全一样,
P M N I S T ( y ) = P S V H N ( y ) , P_{\rm MNIST}(y)
=
P_{\rm SVHN}(y), P MNIST ( y ) = P SVHN ( y ) ,
即
J S ( P M N I S T ( y ) , P S V H N ( y ) ) = 0 , JS(P_{\rm MNIST}(y),P_{\rm SVHN}(y))=0, J S ( P MNIST ( y ) , P SVHN ( y )) = 0 ,
二者的
P ( x ∣ y ) P(x\mid y) P ( x ∣ y )
还是完全不同。
所以公平 FL 中真正的异质性更接近
P i ( x , y ) P_i(x,y) P i ( x , y )
的差异,而不仅仅是
P i ( y ) . P_i(y). P i ( y ) .
换句话说,你现在的 B i B_i B i 主要测的是 label skew ,但这个实验其实还有非常强的 feature/domain skew 。
这正是 DomainNet/数字跨域这类问题最重要的异质性来源之一。
6. Fisher Trace 为什么反而和 utility 负相关?
这个结果并不一定反常。
Fisher trace 大致代表模型对客户端数据的参数敏感性:
F i ≈ E ( x , y ) ∼ D i [ ∥ ∇ θ log p θ ( y ∣ x ) ∥ 2 ] . F_i
\approx
\mathbb E_{(x,y)\sim D_i}
\left[
\|\nabla_\theta\log p_\theta(y|x)\|^2
\right]. F i ≈ E ( x , y ) ∼ D i [ ∥ ∇ θ log p θ ( y ∣ x ) ∥ 2 ] .
一个 F i F_i F i 很大的客户端可以表示:
当前模型对这个客户端非常“不确定”或者梯度非常剧烈。
但它不等价于:
对这个客户端做一步更新之后一定提升 global/domain accuracy。
事实上,高 Fisher 也可能对应:
hard samples;
out-of-domain clients;
poorly fitted clients;
noisy gradients;
strongly conflicting gradients;
current model decision boundary 附近的数据。
这些客户端具有很高的“information/sensitivity”,但是它们的梯度可能与 global descent direction 冲突。
可以用梯度夹角表示:
cos ( g i , g g ) = g i ⊤ g g ∥ g i ∥ ∥ g g ∥ . \cos(g_i,g_g)
=
\frac{g_i^\top g_g}
{\|g_i\|\|g_g\|}. cos ( g i , g g ) = ∥ g i ∥∥ g g ∥ g i ⊤ g g .
Fisher 很大意味着某种意义上的
∥ g i ∥ \|g_i\| ∥ g i ∥
可能很大,但真正决定 global utility 的往往是
g i ⊤ g g . g_i^\top g_g. g i ⊤ g g .
因此完全可能出现
∥ g i ∥ ≫ 0 \|g_i\|\gg0 ∥ g i ∥ ≫ 0
但
g i ⊤ g g < 0. g_i^\top g_g<0. g i ⊤ g g < 0.
于是:
F i 高 , U i 低 . F_i\text{ 高},
\qquad
U_i\text{ 低}. F i 高 , U i 低 .
你的第二张图其实与这种解释非常吻合。
7. 因此我建议不要把问题写成简单的加权和
例如直接做
min λ f u t i l i t y + ( 1 − λ ) f f a i r n e s s \min
\lambda f_{\rm utility}
+
(1-\lambda)f_{\rm fairness} min λ f utility + ( 1 − λ ) f fairness
虽然简单,但对你的问题未必理想。
原因之一是如果 Pareto front 非凸,weighted-sum 方法只能找到其中一部分 Pareto 解。
此外尺度也完全不同,例如:
F i ∼ 1 0 − 1 到 1 0 4 , F_i\sim10^{-1}\text{ 到 }10^4, F i ∼ 1 0 − 1 到 1 0 4 ,
而
U i ∼ 0 – 100 , U_i\sim0\text{--}100, U i ∼ 0 – 100 ,
B i ∼ 0.002 – 0.04. B_i\sim0.002\text{--}0.04. B i ∼ 0.002 – 0.04.
如果没有 normalization,权重 λ \lambda λ 的含义几乎没有可解释性。
至少应该先做例如:
F ~ i = log F i − μ F σ F , \tilde F_i
=
\frac{\log F_i-\mu_F}{\sigma_F}, F ~ i = σ F log F i − μ F ,
U ~ i = U i − μ U σ U , \tilde U_i
=
\frac{U_i-\mu_U}{\sigma_U}, U ~ i = σ U U i − μ U ,
B ~ i = B i − μ B σ B . \tilde B_i
=
\frac{B_i-\mu_B}{\sigma_B}. B ~ i = σ B B i − μ B .
尤其 Fisher 已经跨了大约 5 个数量级,直接进入 objective 会非常危险。
8. 对你的场景,更合适的是“约束式公平优化”
比起
min λ L + ( 1 − λ ) R f a i r , \min
\lambda L+(1-\lambda)R_{\rm fair}, min λ L + ( 1 − λ ) R fair ,
我更建议把其中一个目标变成约束。
例如:
max x U ( x ) \max_{\mathbf x}
\quad
U(\mathbf x) x max U ( x )
subject to
Gap ( U M N I S T , U S V H N , U S Y N , U U S P S ) ≤ ϵ , \operatorname{Gap}
\left(
U_{\rm MNIST},
U_{\rm SVHN},
U_{\rm SYN},
U_{\rm USPS}
\right)
\le \epsilon, Gap ( U MNIST , U SVHN , U SYN , U USPS ) ≤ ϵ ,
以及
∑ i x i = K . \sum_i x_i=K. i ∑ x i = K .
这里可以定义
Gap = max d U d − min d U d . \operatorname{Gap}
=
\max_d U_d-\min_dU_d. Gap = d max U d − d min U d .
或者更适合公平联邦学习的:
Gap = U ˉ − min d U d . \operatorname{Gap}
=
\bar U-\min_dU_d. Gap = U ˉ − d min U d .
这样你问的就不是模糊的:
“accuracy 和 fairness 各占多少权重?”
而变成一个更容易解释的问题:
“在允许 domain performance gap 不超过 5% 的条件下,最高能做到多少 global utility?”
然后扫描
ϵ = 0 , 2 % , 5 % , 10 % , … \epsilon=0,2\%,5\%,10\%,\ldots ϵ = 0 , 2% , 5% , 10% , …
就能直接画出 empirical Pareto frontier。
论文里这种表达通常比任意调 λ \lambda λ 更有解释力。
9. 还可以做一个更贴合你数据的 min–max formulation
如果核心目标真的是 domain fairness,可以直接考虑:
max x min d ∈ D U d ( x ) . \max_{\mathbf x}
\min_{d\in\mathcal D}
U_d(\mathbf x). x max d ∈ D min U d ( x ) .
这相当于照顾最差 domain。
但单纯 max-min 又容易过度牺牲多数域,所以可以加入平均性能约束:
max x min d U d ( x ) s.t. U a v g ( x ) ≥ U b a s e l i n e − δ , ∑ i x i = K . \begin{aligned}
\max_{\mathbf x}\quad&
\min_d U_d(\mathbf x)
\\
\text{s.t.}\quad&
U_{\rm avg}(\mathbf x)
\ge
U_{\rm baseline}-\delta,
\\
&
\sum_i x_i=K.
\end{aligned} x max s.t. d min U d ( x ) U avg ( x ) ≥ U baseline − δ , i ∑ x i = K .
这实际上很好地对应你的场景:
最大化 worst-domain performance \boxed{
\text{最大化 worst-domain performance}
} 最大化 worst-domain performance
同时限制
平均性能损失不能超过 δ . \boxed{
\text{平均性能损失不能超过 }\delta.
} 平均性能损失不能超过 δ .
相比简单的 weighted sum,这个定义更能体现“公平联邦学习”的含义。
10. 如果 Fisher 必须保留,我会把它从“目标”改成“辅助选择指标”
你的实验已经说明:
F i ≉ U i . F_i
\not\approx
U_i. F i ≈ U i .
所以不建议再假定
max F i ⇒ max U i . \max F_i\Rightarrow\max U_i. max F i ⇒ max U i .
更合理的是构造一个同时考虑:
magnitude;
alignment;
fairness;
uncertainty
的客户端评价。
例如:
S i = α log ( 1 + F i ) ⏟ information + β cos ( g i , g g ) ⏟ gradient alignment + γ R i f a i r ⏟ fairness benefit . S_i
=
\alpha
\underbrace{\log(1+F_i)}_{\text{information}}
+
\beta
\underbrace{
\cos(g_i,g_g)
}_{\text{gradient alignment}}
+
\gamma
\underbrace{
R_i^{fair}
}_{\text{fairness benefit}}. S i = α information log ( 1 + F i ) + β gradient alignment cos ( g i , g g ) + γ fairness benefit R i f ai r .
这里最大的变化是加入
cos ( g i , g g ) . \cos(g_i,g_g). cos ( g i , g g ) .
因为它可以区分:
“梯度大而且有用” \text{“梯度大而且有用”} “ 梯度大而且有用 ”
和
“梯度大但与全局方向冲突” . \text{“梯度大但与全局方向冲突”}. “ 梯度大但与全局方向冲突 ” .
这很可能正是你图里高 Fisher、低 utility 那一大簇点产生的原因。
11. 如果从论文角度概括“求解困境”,可以归纳成四句话
我会把你的实验现象概括为下面这四层:
第一,representation imbalance。
虽然每个 domain 具有相同客户端数,但是样本量高度不平衡,因此
client fairness ≠ data fairness . \text{client fairness}\neq\text{data fairness}. client fairness = data fairness .
第二,informativeness–utility conflict。
ρ ( F , U ) = − 0.550 \rho(F,U)=-0.550 ρ ( F , U ) = − 0.550
说明高 Fisher informativeness 与实际 update utility 显著冲突。
第三,fairness proxy decoupling。
ρ ( F , B ) = 0.064 \rho(F,B)=0.064 ρ ( F , B ) = 0.064
说明 Fisher selection 并不能自然缓解 label-distribution unfairness。
第四,hidden domain heterogeneity。
ρ ( F , U ∣ B ) = − 0.547 \rho(F,U\mid B)=-0.547 ρ ( F , U ∣ B ) = − 0.547
几乎没有变化,说明仅凭 label JS divergence 无法解释这种冲突,feature/domain shift 很可能是更重要的隐藏变量。
因此求解器实际上面对的是:
sample imbalance + domain shift + gradient conflict + discrete selection \boxed{
\text{sample imbalance}
+
\text{domain shift}
+
\text{gradient conflict}
+
\text{discrete selection}
} sample imbalance + domain shift + gradient conflict + discrete selection
共同造成的多目标非凸优化问题。
如果把它画成一个概念图,核心关系大约是:
Client → { F i information/sensitivity U i actual utility B i label fairness \text{Client}
\rightarrow
\begin{cases}
F_i & \text{information/sensitivity}\\
U_i & \text{actual utility}\\
B_i & \text{label fairness}
\end{cases} Client → ⎩ ⎨ ⎧ F i U i B i information/sensitivity actual utility label fairness
而你的数据说明
F i ↑ ⇏ U i ↑ , F_i\uparrow
\;\not\Rightarrow\;
U_i\uparrow, F i ↑ ⇒ U i ↑ ,
F i ↑ ⇏ B i ↓ . F_i\uparrow
\;\not\Rightarrow\;
B_i\downarrow. F i ↑ ⇒ B i ↓ .
所以真正的 Pareto optimization 应该直接面向 utility 和 domain fairness ,而不是希望通过一个 Fisher proxy 同时实现二者。
如果这是准备写论文,我会把第二张图的核心结论定成一句很强的 observation:
Fisher-based informativeness is neither aligned with client utility nor predictive of distributional fairness under cross-domain heterogeneity, leading to an intrinsic client-selection dilemma between informative, useful, and fairness-enhancing updates.
这个论点和你现在的 − 0.550 , 0.064 , − 0.547 -0.550,\ 0.064,\ -0.547 − 0.550 , 0.064 , − 0.547 三个统计量是非常匹配的。