如何分析这个公平联邦学习双目标优化问题的求解困境

Создано: 4 сентября 2026 г.

Отвечено с использованием GPT-5.6 Thinking от Chat01

Вопрос

client_distribution.png
fisher_utility_scatter.png

如何分析这个公平联邦学习双目标优化问题的求解困境

Мысль

Characterizing the tradeoff

I’m seeing multimodal, domain-specific behavior: similar Fisher Trace values produce sharply different utilities. The negative association remains after accounting for label divergence, so domain shift, sample size, or gradient noise likely matter; the plot alone doesn’t establish a utility–fairness conflict.

Worked for 14s

Ответ

从这两张图看,这个公平联邦学习问题的“难解”并不只是通常所说的 accuracy–fairness trade-off,而是同时存在 数据量异质性、域异质性、代理指标失真和离散客户端选择 几个层面的冲突。尤其第二张图已经给出了一个很关键的信号:** Fisher Trace 并不是 Update Utility 的良好单调代理。**

先看数据结构。虽然四个 domain 都各有 5 个客户端,看起来“客户端数量完全公平”,但每个客户端的数据量差异很大:MNIST 约 600,SVHN 约 730,而 SYN 只有约 100,USPS 约 75。按图中数值粗略计算,四个域的数据总量约为

NMNIST3000,NSVHN3650,NSYN500,NUSPS375.N_{\text{MNIST}}\approx3000,\quad N_{\text{SVHN}}\approx3650,\quad N_{\text{SYN}}\approx500,\quad N_{\text{USPS}}\approx375.

因此如果采用 FedAvg 式的 sample-size weighting,四个域的有效权重大约是

39.9%,48.5%,6.6%,5.0%.39.9\%,\quad48.5\%,\quad6.6\%,\quad5.0\%.

也就是说,client-count fairness 并不等于 optimization fairness。MNIST+SVHN 会贡献将近 90% 的优化质量,SYN/USPS 即使每轮选到相同数量客户端,其梯度仍然容易被淹没。这是第一个求解困境。


1. 第二张图实际上暴露了“信息量”和“即时收益”的冲突

你的统计结果是

ρs(F,U)=0.550,\rho_s(F,U)=-0.550,

而且控制 label-distribution divergence BB 之后:

ρs(F,UB)=0.547.\rho_s(F,U\mid B)=-0.547.

这两个数几乎一样。

这说明在你的实验里,Fisher Trace 越大的客户端,更新效用 UiU_i 反而整体越低,而且这种负相关不是简单由 label imbalance BiB_i 造成的。

如果你的优化问题原先有类似目标:

maxxixiFi\max_{\mathbf x}\sum_i x_i F_i

希望选择“信息量高”的客户端,同时又希望

maxxixiUi,\max_{\mathbf x}\sum_i x_i U_i,

那么现在已经有比较明确的经验性证据表明,这两个目标存在真正的 antagonism:

FU 往往.F\uparrow \quad\Longrightarrow\quad U\ \text{往往}\downarrow.

因此这不是简单调整一个权重系数就一定能消掉的问题,而是会形成 Pareto trade-off

比较有意思的是散点形状本身。低到中等 FiF_i 区域存在大量 Ui95%U_i\approx95\% 的客户端;到了

Fi103104F_i\sim10^3-10^4

以后,却出现明显的多分支:有约 80–90% 的点,也有约 40–50%,甚至 10–30% 的点。

所以实际上

Uig(Fi)U_i \neq g(F_i)

这样一个简单的一维关系,而更像

Ui=g(Fi,di,ni,domain shifti,training stage,).U_i=g(F_i,d_i,n_i,\text{domain shift}_i,\text{training stage},\ldots).

这也是为什么只按 Fisher score 排序做 client selection 很容易失败。


2. 更关键的是:BiB_i 几乎与 Fisher 无关

你得到

ρs(F,B)=0.064.\rho_s(F,B)=0.064.

基本可以认为 Fisher Trace 和你定义的 label distribution divergence 没有明显的单调关系。

这意味着如果 BiB_i 是你的 fairness proxy,例如

Bi=JS(Pi(y)Pg(y)),B_i=JS(P_i(y)\Vert P_g(y)),

那么不能期待:

“我选择 Fisher 高的客户端,同时也会自然改善分布公平性。”

事实上从图中看不是这样。

因此会出现一种非常麻烦的三角关系:

Fi,Ui,Bi\boxed{ F_i,\quad U_i,\quad B_i }

其中

FiUi:明显负相关,F_i\leftrightarrow U_i: \text{明显负相关},

FiBi:基本解耦.F_i\leftrightarrow B_i: \text{基本解耦}.

这意味着一个单一 scalar score,例如

Si=αFiβBiS_i=\alpha F_i-\beta B_i

可能很难同时代表:

  • learning informativeness;
  • immediate utility;
  • fairness。

因为三个量并不共线。


3. 这会造成一个典型的“公平–性能–信息价值”三重矛盾

你可以把问题理解成下面这个结构。

xi{0,1}x_i\in\{0,1\} 表示第 ii 个客户端是否被选中,并且

ixi=K.\sum_i x_i=K.

如果性能目标写成

f1(x)=ixiUi,f_1(\mathbf x) = -\sum_i x_iU_i,

而公平目标写成,比如:

f2(x)=Vard(Ud(x)),f_2(\mathbf x) = \operatorname{Var}_{d} \left( U_d(\mathbf x) \right),

或者

f2(x)=maxdUdmindUd,f_2(\mathbf x) = \max_d U_d-\min_dU_d,

或者基于分布差异:

f2(x)=ixiBi,f_2(\mathbf x)= \sum_i x_iB_i,

那么真正的问题是

minx[f1(x),f2(x)]\min_{\mathbf x} \left[ f_1(\mathbf x),f_2(\mathbf x) \right]

subject to

xi{0,1},ixi=K.x_i\in\{0,1\},\qquad \sum_i x_i=K.

这已经是一个组合多目标优化。

但如果你又要求 Fisher 信息量足够大,例如

ixiFiFmin,\sum_i x_iF_i\ge F_{\min},

问题会更加困难,因为你的数据已经表明:

FiF_i\uparrow

往往意味着

Ui.U_i\downarrow.

因此这个 constraint 本身会把可行解推向低 utility 区域。

这时所谓“求解困境”可以非常清楚地画成:

高 Fisher    高 Utility\boxed{ \text{高 Fisher} \;\longleftrightarrow\; \text{高 Utility} }

发生竞争,

同时

多数域性能    少数域公平\boxed{ \text{多数域性能} \;\longleftrightarrow\; \text{少数域公平} }

也发生竞争。

于是 Pareto front 很可能不是一个简单光滑曲线,而是由不同 domain/client combination 形成的离散簇。


4. 为什么公平目标尤其容易伤害全局性能

这里的数据量不平衡是核心。

假设你只追求整体 accuracy,那么优化器天然更愿意选择:

MNIST/SVHN\text{MNIST/SVHN}

因为它们的数据更多、估计方差更小,而且对 global objective 的贡献更大。

可以近似写成

Lg(w)=dNdNLd(w).L_g(w) = \sum_d \frac{N_d}{N} L_d(w).

于是

Lg=dNdNLd.\nabla L_g = \sum_d \frac{N_d}{N} \nabla L_d.

由于

NSYNN,NUSPSNNSVHNN,\frac{N_{\rm SYN}}N,\, \frac{N_{\rm USPS}}N \ll \frac{N_{\rm SVHN}}N,

SYN/USPS 的方向即使对自身 domain 非常重要,对 global gradient 的影响也很小。

但如果为了 fairness 强制:

pMNIST=pSVHN=pSYN=pUSPS,p_{\rm MNIST} = p_{\rm SVHN} = p_{\rm SYN} = p_{\rm USPS},

实际上相当于大幅提高小域梯度的相对权重。

这能改善 worst-domain performance,却很可能牺牲平均性能。

所以这里存在一个很典型的冲突:

mindNdNLdpopulation optimalvs.min1DdLddomain 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}}.

二者对应的是不同的统计目标,本来就不一定具有同一个最优点。


5. 你的图还说明:label divergence 可能不是充分的 fairness 描述量

这一点我认为很值得强调。

你现在 colorbar 使用的是

Bi=JS(Pi(y),Pg(y)).B_i=JS(P_i(y),P_g(y)).

但是

ρ(F,B)=0.064\rho(F,B)=0.064

以及控制 BB

ρ(F,UB)ρ(F,U)\rho(F,U\mid B)\approx\rho(F,U)

说明 BiB_i 基本解释不了 Fisher–Utility 的关系。

这并不意味着“公平性不重要”,反而更可能说明:

仅用 label distribution divergence 描述 domain heterogeneity 太弱。

比如 MNIST 和 SVHN 即使数字类别比例完全一样,

PMNIST(y)=PSVHN(y),P_{\rm MNIST}(y) = P_{\rm SVHN}(y),

JS(PMNIST(y),PSVHN(y))=0,JS(P_{\rm MNIST}(y),P_{\rm SVHN}(y))=0,

二者的

P(xy)P(x\mid y)

还是完全不同。

所以公平 FL 中真正的异质性更接近

Pi(x,y)P_i(x,y)

的差异,而不仅仅是

Pi(y).P_i(y).

换句话说,你现在的 BiB_i 主要测的是 label skew,但这个实验其实还有非常强的 feature/domain skew

这正是 DomainNet/数字跨域这类问题最重要的异质性来源之一。


6. Fisher Trace 为什么反而和 utility 负相关?

这个结果并不一定反常。

Fisher trace 大致代表模型对客户端数据的参数敏感性:

FiE(x,y)Di[θlogpθ(yx)2].F_i \approx \mathbb E_{(x,y)\sim D_i} \left[ \|\nabla_\theta\log p_\theta(y|x)\|^2 \right].

一个 FiF_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(gi,gg)=gigggigg.\cos(g_i,g_g) = \frac{g_i^\top g_g} {\|g_i\|\|g_g\|}.

Fisher 很大意味着某种意义上的

gi\|g_i\|

可能很大,但真正决定 global utility 的往往是

gigg.g_i^\top g_g.

因此完全可能出现

gi0\|g_i\|\gg0

gigg<0.g_i^\top g_g<0.

于是:

Fi 高,Ui 低.F_i\text{ 高}, \qquad U_i\text{ 低}.

你的第二张图其实与这种解释非常吻合。


7. 因此我建议不要把问题写成简单的加权和

例如直接做

minλfutility+(1λ)ffairness\min \lambda f_{\rm utility} + (1-\lambda)f_{\rm fairness}

虽然简单,但对你的问题未必理想。

原因之一是如果 Pareto front 非凸,weighted-sum 方法只能找到其中一部分 Pareto 解。

此外尺度也完全不同,例如:

Fi101 到 104,F_i\sim10^{-1}\text{ 到 }10^4,

Ui0100,U_i\sim0\text{--}100, Bi0.0020.04.B_i\sim0.002\text{--}0.04.

如果没有 normalization,权重 λ\lambda 的含义几乎没有可解释性。

至少应该先做例如:

F~i=logFiμFσF,\tilde F_i = \frac{\log F_i-\mu_F}{\sigma_F}, U~i=UiμUσU,\tilde U_i = \frac{U_i-\mu_U}{\sigma_U}, B~i=BiμBσB.\tilde B_i = \frac{B_i-\mu_B}{\sigma_B}.

尤其 Fisher 已经跨了大约 5 个数量级,直接进入 objective 会非常危险。


8. 对你的场景,更合适的是“约束式公平优化”

比起

minλL+(1λ)Rfair,\min \lambda L+(1-\lambda)R_{\rm fair},

我更建议把其中一个目标变成约束。

例如:

maxxU(x)\max_{\mathbf x} \quad U(\mathbf x)

subject to

Gap(UMNIST,USVHN,USYN,UUSPS)ϵ,\operatorname{Gap} \left( U_{\rm MNIST}, U_{\rm SVHN}, U_{\rm SYN}, U_{\rm USPS} \right) \le \epsilon,

以及

ixi=K.\sum_i x_i=K.

这里可以定义

Gap=maxdUdmindUd.\operatorname{Gap} = \max_d U_d-\min_dU_d.

或者更适合公平联邦学习的:

Gap=UˉmindUd.\operatorname{Gap} = \bar U-\min_dU_d.

这样你问的就不是模糊的:

“accuracy 和 fairness 各占多少权重?”

而变成一个更容易解释的问题:

“在允许 domain performance gap 不超过 5% 的条件下,最高能做到多少 global utility?”

然后扫描

ϵ=0,2%,5%,10%,\epsilon=0,2\%,5\%,10\%,\ldots

就能直接画出 empirical Pareto frontier。

论文里这种表达通常比任意调 λ\lambda 更有解释力。


9. 还可以做一个更贴合你数据的 min–max formulation

如果核心目标真的是 domain fairness,可以直接考虑:

maxxmindDUd(x).\max_{\mathbf x} \min_{d\in\mathcal D} U_d(\mathbf x).

这相当于照顾最差 domain。

但单纯 max-min 又容易过度牺牲多数域,所以可以加入平均性能约束:

maxxmindUd(x)s.t.Uavg(x)Ubaselineδ,ixi=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}

这实际上很好地对应你的场景:

最大化 worst-domain performance\boxed{ \text{最大化 worst-domain performance} }

同时限制

平均性能损失不能超过 δ.\boxed{ \text{平均性能损失不能超过 }\delta. }

相比简单的 weighted sum,这个定义更能体现“公平联邦学习”的含义。


10. 如果 Fisher 必须保留,我会把它从“目标”改成“辅助选择指标”

你的实验已经说明:

Fi≉Ui.F_i \not\approx U_i.

所以不建议再假定

maxFimaxUi.\max F_i\Rightarrow\max U_i.

更合理的是构造一个同时考虑:

  1. magnitude;
  2. alignment;
  3. fairness;
  4. uncertainty

的客户端评价。

例如:

Si=αlog(1+Fi)information+βcos(gi,gg)gradient alignment+γRifairfairness 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}}.

这里最大的变化是加入

cos(gi,gg).\cos(g_i,g_g).

因为它可以区分:

“梯度大而且有用”\text{“梯度大而且有用”}

“梯度大但与全局方向冲突”.\text{“梯度大但与全局方向冲突”}.

这很可能正是你图里高 Fisher、低 utility 那一大簇点产生的原因。


11. 如果从论文角度概括“求解困境”,可以归纳成四句话

我会把你的实验现象概括为下面这四层:

第一,representation imbalance。

虽然每个 domain 具有相同客户端数,但是样本量高度不平衡,因此

client fairnessdata fairness.\text{client fairness}\neq\text{data fairness}.

第二,informativeness–utility conflict。

ρ(F,U)=0.550\rho(F,U)=-0.550

说明高 Fisher informativeness 与实际 update utility 显著冲突。

第三,fairness proxy decoupling。

ρ(F,B)=0.064\rho(F,B)=0.064

说明 Fisher selection 并不能自然缓解 label-distribution unfairness。

第四,hidden domain heterogeneity。

ρ(F,UB)=0.547\rho(F,U\mid 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} }

共同造成的多目标非凸优化问题。


如果把它画成一个概念图,核心关系大约是:

Client{Fiinformation/sensitivityUiactual utilityBilabel fairness\text{Client} \rightarrow \begin{cases} F_i & \text{information/sensitivity}\\ U_i & \text{actual utility}\\ B_i & \text{label fairness} \end{cases}

而你的数据说明

Fi  ⇏  Ui,F_i\uparrow \;\not\Rightarrow\; U_i\uparrow, Fi  ⇏  Bi.F_i\uparrow \;\not\Rightarrow\; B_i\downarrow.

所以真正的 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 三个统计量是非常匹配的。

Поделиться этим Q&A