Page 398 - 《软件学报》2026年第3期
P. 398

刘建春 等: 基于块级多输出和知识自蒸馏的高效联邦学习框架                                                   1361


                 成本. 这些模型压缩技术可以帮助联邦学习系统在边缘场景中更高效地进行模型更新, 从而加速模型收敛并降低
                 通信开销. 然而, 这些技术往往会损害模型精度并产生更多的计算开销以达到目标测试精度. 将知识蒸馏技术应用
                 于联邦学习使得服务器和客户端之间传输的不再是传输模型而是                       Logit 输出, 从而在有效减少带宽开销的同时减
                 轻系统异构性带来的模型训练性能下降的影响                [29] . 此外, 知识蒸馏通过提供公共的未标记数据集作为代理数据集,
                 同时利用所有客户端本地模型的综合知识来丰富全局模型, 从而减轻了非独立同分布设置下的负面影响. 然而, 在
                 知识蒸馏过程中客户端需要访问公共的未标记的代理数据集, 这在现实场景中通常很难实现                               [30] . Zhang  等人  [31] 提
                 出了无数据知识蒸馏, 通过小型数据生成器生成数据以避免使用公共未标记代理数据集. 然而, 数据生成器往往需
                 要使用客户端的标签信息, 这可能会泄露用户的隐私. 在我们的方法中, 客户端本地使用的自身的模型块产生额外
                 的输出因而没有泄露隐私. 服务器仅向客户端传送部分模型从而减少了通信开销. 此外, 我们提出块级多输出正则
                 化技术并引入知识自蒸馏技术吸收了更多模型表征层信息, 从而有效缓解了数据异构问题.
                  3   网络建模与问题定义

                  3.1   联邦学习训练流程
                    在联邦学习中, 多个客户端可以在中心服务器的协同下训练一个高效的全局模型. 具有                            N  个客户端的联邦学
                 习架构的目标是最小化平均损失函数, 如下所示:

                                                            1  ∑ N
                                                    minf (x) =    f n (x)                             (1)
                                                     x      N   n=1
                 其中, x 是模型参数,    f n (x) 是客户端  n ∈ {1,...,N} 的本地损失函数. 客户端  n  的本地损失函数被定义为:

                                                              [F n ( x;φ )]                           (2)
                                                                   n
                                                    f n (x) ≜ E φ n ∼D n
                                                          (
                 其中,  φ n  是客户端  n  的本地数据集  D n  的一个样本,  F n x;φ n )  是客户端  n  中对应的该样本的本地损失函数值.
                    在联邦学习中, 为使得训练出的全局模型可以达到给定目标精度, 客户端与服务器之间需要进行一定轮次的
                 全局训练. 为了减少计算开销和通信开销, 联邦学习通常只选择一部分客户端参与模型训练并且在两个相邻的全
                 局轮次之间使客户端进行多次本地模型更新 (即每个全局轮次包含多次本地迭代). 我们使用                             e 来表示两个相邻的
                                                      K (K ⩽ N) 表示参与联邦学习中模型训练的客户端数量. 如图              1  所
                 全局轮次之间的本地迭代数量. 此外, 我们使用
                 示, 在每一个全局轮次中, 主流的联邦学习框架 (如             FedAvg) 主要被分为以下     3  个阶段  [8] .


                                                                                客户端1
                                     云服务器
                                                          块1 块2          块1    块2    块3   块4
                                                                    (1)
                               块1    块2   块3    块4                              本地模型
                                                      (4)
                                                                                (2)
                                     全局模型
                                                                         块1    块2    块3   块4
                                                (4)
                                 块1  块2   块3                                    组合模型
                                            (1)
                                     客户端 N                             (3)
                               块1    块2    块3   块4
                                     本地模型
                                      (2)
                               块1    块2    块3   块4             (1) 模型分发 (2) 模型组合
                                     组合模型                      (3) 模型训练  (4) 模型聚合
                                           图 1 所提联邦学习框架        FedAlt 的训练流程
   393   394   395   396   397   398   399   400   401   402   403