2. 郑州市区块链与数据智能重点实验室 河南 郑州 450053
2. Zhengzhou Key Laboratory of Blockchain and Data Intelligence, Zhengzhou 450053, China
联邦学习[1]作为一种分布式机器学习框架,允许客户端在中心服务器的协调下共同训练、共享模型,而无须集中数据[2-3]。这种方法打破了“数据孤岛”的局限性,广泛应用于各个领域。然而,随着联邦学习的推广,其局限性逐渐显现。
首先,中心服务器存在单点故障隐患。传统联邦学习系统架构中存在中心服务器,中心服务器可以提高全局模型训练的效率,但是对中心服务器的依赖使得系统面临单点故障的风险[3]。其次,客户端的异质性问题,异质性可以分为数据异质性和目标异质性。数据异质性是指在联邦学习场景中,不同客户端(设备)的数据分布存在显著差异,会导致全局模型收敛速度慢、模型性能下降[4]。目标异质性是指不同客户端对模型的需求、服务目标或功能要求不同,也体现在个性化模型和全局模型之间,客户端的个性化需求与全局模型的通用性之间存在冲突[5]。
近年来,许多研究利用区块链的可追溯、去中心化、不可篡改等特性和智能合约功能,帮助联邦学习克服单点故障问题。文献[6]使用区块链和密码学技术实现了去中心化的点对点网络环境下的隐私保护机器学习。文献[7]提出了一种基于区块链的联邦学习方案,防止恶意节点篡改模型参数。文献[8]提出了一种基于区块链和梯度压缩的去中心化联邦学习模型,提升了训练效率和隐私保护能力。
知识蒸馏具有知识转移和模型增强的优势。文献[9]提出通过蒸馏多个参与方模型的知识提升了全局模型的性能。文献[10]提出了一种自适应互蒸馏和动态梯度压缩的联邦学习方法,解决通信成本高的问题。文献[11]提出通过知识蒸馏和相似度估计实现个性化学习的联邦学习方法。
现有的联邦学习研究在应对数据异质性问题上取得了显著进展,文献[12]提出创建一个全局共享的小数据子集来改进非独立同分布Non-IID数据的训练,解决数据异质性导致的模型精度降低的问题。文献[13]提出从数据质量角度处理多源数据,有效解决了数据质量差异导致权重分配不合理的问题,但是模型泛化能力有待验证。文献[4]提出基于联邦平均算法(federated averaging, FedAvg)泛化和重新参数化的方法,该方法在一定程度上突破了模型训练的瓶颈,但在面对目标异质性时,可能导致全局模型不能充分优化每个客户端的个体目标。文献[14]提出了使用元学习提高个性化能力的方法,但因为其未能有效整合全局和个性化目标之间的关系而在解决目标异质性问题时仍显不足。文献[15]尝试通过引入基于精度的客户端选择机制来增强全局模型在面对Non-IID数据时的鲁棒性,但仍然无法解决如何在客户端之间公平协调目标异质性的问题。
因此,针对传统联邦学习存在的单点故障隐患、数据异质性和目标异质性问题,本文提出了一种基于区块链和知识蒸馏的联邦蒸馏动态优化方法,具体贡献如下。
1) 提出模型共存策略,客户端同时训练个性化模型和本地全局模型。
2) 提出动态蒸馏策略,由个性化模型向全局模型传递知识,使损失权重动态变化。
3) 利用区块链构建去中心化的联邦学习环境,消除中心服务器的单点故障隐患。
1 预备知识 1.1 区块链区块链技术是一种分布式账本技术,通过加密和共识机制,实现去中心化的数据存储与管理,具有去中心化、不可篡改和透明等特点[16]。区块链数据不存储在单一的中心服务器上,而是在参与者的节点上分散存储。一旦数据被写入区块链,便无法修改或删除,确保了数据的完整性。所有交易数据对网络中的所有用户可见,增加了操作的透明度。通过密码学技术保障数据的安全性,并防止未授权访问。
1.2 知识蒸馏知识蒸馏(knowledge distillation,KD)是一种模型压缩技术,通过将一个复杂且性能优越的教师模型(teacher model)中的知识迁移到一个较小的学生模型(student model)中,提高学生模型的性能[17]。学生模型的损失函数可以简化为
| $ \begin{gathered} L_{\text {student }}=L_{C E}+D_{K L}\left(p_{\text {teacher }} \| p_{\text {student }}\right), \\ p_{\text {teacher }}=\frac{\exp (z / T)}{\sum\limits_i \exp \left(z_i / T\right)}, \end{gathered} $ |
其中:Lstudent是学生模型的损失函数;LCE和DKL分别为交叉熵损失和KL散度损失;pteacher和pstudent分别为教师和学生模型的预测值;T为超参数平均温度;z为教师模型的逻辑值。
1.3 联邦学习联邦平均算法(FedAvg)[1]的目标是在分散的数据上训练单个共享模型,分布式地最小化全局目标损失函数min f(w),在若干个本地训练轮次中进行,即
| $ \begin{aligned} & F_k\left(w^k\right)=\frac{1}{n_k} \sum\limits_{i=1}^K f_i\left(w^k\right), \\ & w^k=w^k-\eta \nabla F_k\left(w^k\right), \end{aligned} $ |
其中:Fk(wk)为第k个客户端的损失函数;nk为局部样本数;η为学习率;
| $ w^{\text {global }}=\sum\limits_{k=1}^K \frac{n_k}{n} w^k, $ |
其中:wglobal是全局模型的权重;n是所有客户的样本数。重复整个训练过程,直到全局模型收敛。
2 基于区块链和知识蒸馏的联邦学习动态优化算法 2.1 基于区块链和知识蒸馏的联邦学习架构基于区块链和知识蒸馏的联邦学习系统如图 1所示。每个客户端同时存在本地全局模型和个性化模型。在本地更新时使用知识蒸馏技术将个性化模型的知识向全局模型转移。本地更新结束后,通过区块链技术搭建数据共享平台、聚合模型、验证模型,模型上链或者扣除模型聚合节点信誉值,各客户端请求最新全局模型。
|
图 1 基于区块链和知识蒸馏的联邦学习系统 Fig. 1 Federated learning system based on blockchain and knowledge distillation |
为有效应对数据异质性所引发的模型性能下降问题以及参与方客户端与区块链所取代的服务器之间的目标异质性问题,本文采取了以下策略。
1) 模型共存策略:在本系统中,每个客户端同时维护本地全局模型与个性化模型。其中,本地全局模型是区块链上全局模型的下发副本,使用本地数据和个性化模型的知识进行训练,而个性化模型仅使用本地数据进行训练。因此,个性化模型用于深入捕捉本地数据的分布特征以满足客户端的个性化需求,本地全局模型旨在获取客户端的数据特征以提高全局模型的泛化能力和通用性。
2) 本地更新:本地更新及知识蒸馏过程如图 2所示。各参与方使用本地私有数据训练个性化模型与本地全局模型,同时通过知识蒸馏技术,个性化模型所学习的知识可以有效地转移至本地全局模型,从而提升聚合后全局模型的性能。初始时,个性化模型与全局模型保持一致。随后,在每轮训练开始前,请求最新的链上全局模型更新本地全局模型,个性化模型不变,在每轮训练结束后,上传本地全局模型用于聚合。
|
图 2 本地更新及知识蒸馏过程 Fig. 2 Local updates and knowledge distillation process |
3) 模型聚合:本文选择平均聚合所有本地全局模型的参数,即将每个参与方的聚合权重设为1/K。在此模型聚合策略下,每个参与方的贡献相同且同等重要,同时也是对参与方数据量隐私的保护。这种方法确保了每个参与方的数据在聚合过程中得到平等对待,降低了单个数据点对最终结果的影响,从而有效地保护了个人隐私。
两个模型的损失函数为
| $ \begin{gathered} L_{w^1}=L_{C_1}, \\ L_{w^2}=L_{C_2}+D_{K L}\left(p_1 \| p_2\right), \end{gathered} $ |
其中:Lw1是个性化模型的损失函数;LC1是个性化模型中来源于本地数据的交叉熵损失;Lw2是本地全局模型的损失函数;LC2是本地全局模型来自本地数据的交叉熵损失;p1和p2分别为个性化模型和本地全局模型的预测值;DKL是本地全局模型学习个性化模型的KL散度损失。
由于每个客户端的本地更新不是直接在全局模型的副本上进行训练,而且在不同时期联邦学习的关键任务不同,因此根据通信轮次动态调整本地全局模型损失函数的权重,将本地全局模型的损失函数改写为
| $ L_{w^2}=\alpha L_{C_2}+\beta D_{K L}\left(p_1 \| p_2\right), $ |
其中:α,β是控制来自数据或其他模型的知识比例的参数,当α=1,β=0时,算法退化为FedAvg。
本文的算法伪代码如算法1所示。
算法1 联邦蒸馏动态优化算法
Server(区块链)executes:
1) 初始化全局模型global0
2) for t ← 1 to T do
3) for客户端k ← 1 to K do
4) 客户端更新:
5) end for
6) 选择客户端模型聚合:
7) 模型验证,模型上链丢弃模型并扣除信誉值
8) end for
ClientUpdate:
1) 初始化模型参数:local0k, global0k←global0
2) 本地全局模型更新:globaltk←globalt
3) for e ← 1 to E do
4) 使用本地私有数据和知识蒸馏更新localtk, globaltk
5) end for
2.3 区块链数据共享为了确保联邦学习中的数据安全和透明共享,以及消除中心服务器可能发生的单点故障隐患,本文构建了一个基于区块链技术的数据共享平台。该平台的核心目标是保障参与方之间的数据交换具有不可篡改性和可追溯性。此外,平台上所有的数据上传、模型更新和验证操作都被记录为不可变的交易,并永久存储在区块链中,这些记录为审计提供了可靠依据,保障了整个模型训练过程的可追溯性和透明性。
该数据共享平台的区块链网络由多个参与节点N={N1, N2, …, NK}组成,这些节点具有多重身份,包括数据拥有者节点、模型训练节点、模型聚合节点和验证节点。但是,在每轮训练结束后,只有一个节点会被选为模型聚合节点。每个参与节点拥有一个私有数据集S={S1, S2, …, SK},以及节点本身的信誉值C={C1, C2, …, CK}。
为管理数据共享和模型训练的全流程,本文引入了智能合约。智能合约预先定义了数据上传、模型更新、验证和聚合的规则,确保这些操作的自动化和透明性,并有效防止任何单一方的恶意行为。
在实际操作中,参与节点Nk使用本地私有数据Sk训练个性化模型localtk和全局模型globaltk,并将全局模型globaltk地址通过哈希加密上传至区块链数据共享平台。平台根据所有参与节点的信用值Ck选择一个节点作为模型聚合节点Nmerge,Nmerge负责请求并聚合其他节点的globaltk,随后上传聚合后的全局模型globalt+1至平台并请求验证。若验证通过,各参与节点将请求最新的全局模型globalt+1;若验证失败,模型聚合节点的信用值Ck将被扣分,重新选取模型聚合节点,直至验证通过。本文基于区块链的数据共享流程如图 3所示。
|
图 3 基于区块链的数据共享流程 Fig. 3 Blockchain based data sharing process |
为了验证本文方法的有效性,本文选择了2个公开图像数据集,并在模拟的联邦学习环境中进行测试。
本节使用MNIST和CIFAR10作为联邦学习的数据集,这两个数据集被广泛应用于联邦学习中。MNIST为10分类手写数字数据集,数字为0~9。该数据集由60 000张训练图像和10 000张测试图像组成,每类分别有6 000张和1 000张图像(28*28像素)。CIFAR10为10分类数据集。CIFAR10由10类共50 000张训练图像和10 000张测试图像组成,每类分别有5 000张和1 000张图像。CIFAR10的所有图像均为3通道彩色图像(32*32像素)。
本节将实验配置在一个模拟的跨孤岛联邦学习环境中。在区块链的串联下,有10个参与方(K=10),通信总轮数T=200,局部迭代次数E=5。根据Non-IID程度将数据集划分为4个等级:IID、Non-IID(狄利克雷系数分别为0.5,0.1,0.05),并且根据客户端数量将不同等级的数据集划分为10个部分,其中每个参与方的数据量随机,而且存在极端情况。
实验使用的卷积神经网络模型结构为两个卷积层,第一层卷积有32个通道,第二层卷积有64个通道,每个通道都有2×2最大池化层和ReLU激活函数;两个全连接层,第一个全连接层使用ReLU激活函数。本文选择的优化器为SGD算法,设置学习率为0.9,批量大小为128。
3.2 全局模型准确度实验本节首先在传统状况下的联邦学习环境中研究全局模型准确度,其中所有的客户端都旨在训练1个共享的全局模型。本文使用FedAvg[1]和FedMD[9]作为两个基线,并在IID和Non-IID(0.5,0.1,0.05)4种数据分布下比较3种算法的全局模型。表 1展示的是全局模型的准确率,图 4展示的是训练过程。
|
|
表 1 全局模型准确率 Tab. 1 Global model accuracy |
|
图 4 全局模型训练过程 Fig. 4 Global model training process |
由于数据的Non-IID性质以及全局模型追求通用性,全局模型绝大部分情况下比个性化模型表现更差。本节在各参与方上测试了本文算法中的个性化模型和FedAvg、FedMD中的全局模型的准确率,见表 2和表 3。
|
|
表 2 MNIST测试集上的准确率 Tab. 2 The accuracy on MNIST test sets |
|
|
表 3 CIFAR10测试集上的准确率 Tab. 3 The accuracy on CIFAR10 test sets |
首先,在IID数据环境下,各算法全局模型准确率差别不大,但是由于知识蒸馏的限制,学生模型的性能会略低于直接训练的模型,因此只使用本地数据训练的FedAvg算法直接训练的全局模型准确率最高;其次,在Non-IID数据环境下,本文提出的算法在各个客户端的个性化模型测试中明显优于其他算法的准确率,所有客户端的个性化模型在本地测试集上的表现均高于其他算法所提供的模型。
由于参与方客户端与区块链取代的中心服务器参与联邦学习的参与方与服务器的模型训练目标存在冲突,参与方客户端旨在为自己训练一个符合自身数据分布的个性化模型,服务器旨在为所有客户端和新参与者训练一个单一的、通用的泛化模型。在测试集上测试了本文算法中的全局模型和FedAvg、FedMD中的全局模型的性能,如图 5所示,本文提出的算法在全局模型的性能上优于其他算法。在所有客户端测试集上的准确率评估中,本文算法相较于其他对比算法具有更高的准确性,除极少数客户端外均表现出更优的性能。此外,图 5显示本文算法准确率上下波动较小,表明在面对数据异质性差异较大的客户端时,本文算法的全局模型具有更强的稳定性和鲁棒性,这些结果进一步验证了本文算法在处理异质性问题方面的有效性。
|
图 5 各算法全局模型在各客户端上的准确率 Fig. 5 Accuracy of global model with each algorithm on each client |
本地全局模型的损失函数包含了本地数据的交叉熵损失函数和向个性化模型学习的KL散度损失函数,这两个函数的权重对本地模型有很大影响,因此采用不同的(α,β)值进行对比实验,取值及实验结果如图 6和表 4所示。表中均值即平均准确率,是全局模型在所有客户端测试集上的准确率的平均值,方差即全局模型在所有客户端测试集上的准确率的方差。当以α=0.5,β=0.5为基准,减小β增大α时,全局模型的准确率上升,方差减小,准确率的波动也得到了抑制;当减小α增大β时,全局模型
|
图 6 不同权重下全局模型在各客户端上的准确率 Fig. 6 Accuracy of the global model on each client with different weights |
|
|
表 4 不同权重下全局模型的性能 Tab. 4 Performance of global models with different weights |
的准确率下降,方差变大,准确率波动变大。本文算法选择了动态变化的权重取值,随着迭代次数的增加,逐步增加α和减小β,在提升全局模型准确率的同时也可提高模型的泛化能力和鲁棒性。
4 结语本文提出了一种基于区块链和模型共存的联邦蒸馏动态优化方法。该方法通过区块链网络替代中心服务器,实现了分布式协同解决计算问题,同时避免了中心服务器单点故障风险。为了解决数据异质性和目标异质性问题,在局部训练过程中让全局模型与个性化模型共存的同时引入知识蒸馏。个性化模型使用私有数据进行训练,全局模型使用私有数据训练的同时向个性化模型学习。这种方法既保留了个性化模型的准确率,又增强了全局模型的通用性和泛化性能。模型聚合时的权重各参与方相同,而不是由训练集数量决定。实验证明,本文提出的方法能够在保持个性化模型准确率高于其他模型的情况下,全局模型具有更强的通用性以及泛化性能,特别是在数据分布差异大的情况下,具有更好的稳定性和鲁棒性。未来,将继续提高区块链结合联邦学习的效率,更好地分配全局模型损失函数中来自私有数据和个性化模型参数的权重。
| [1] |
MCMAHAN H B, MOORE E, RAMAGE D, et al. Communication-efficient learning of deep networks from decentralized data[EB/OL]. (2016-02-17)[2024-08-25]. https://arxiv.org/abs/1602.05629v4.
( 0) |
| [2] |
YANG Q, LIU Y, CHEN T J, et al. Federated machine learning[J]. ACM transactions on intelligent systems and technology, 2019, 10(2): 1-19. ( 0) |
| [3] |
KAIROUZ P, MCMAHAN H B, AVENT B, et al. Advances and open problems in federated learning[J]. Foundations and trends in machine learning, 2021, 14(1/2): 1-210. ( 0) |
| [4] |
LI T, SAHU A K, ZAHEER M, et al. Federated optimization in heterogeneous networks[EB/OL]. (2018-12-14)[2024-08-25]. https://arxiv.org/abs/1812.06127v5.
( 0) |
| [5] |
ARIVAZHAGAN M G, AGGARWAL V, SINGH A K, et al. Federated learning with personalization layers[EB/OL]. (2019-12-02)[2024-08-25]. https://arxiv.org/abs/1912.00818v1.
( 0) |
| [6] |
SHAYAN M, FUNG C, YOON C J M, et al. Biscotti: a blockchain system for private and secure federated learning[J]. IEEE transactions on parallel and distributed systems, 2021, 32(7): 1513-1525. DOI:10.1109/TPDS.2020.3044223 ( 0) |
| [7] |
LI T, SAHU A K, TALWALKAR A, et al. Federated learning: challenges, methods, and future directions[J]. IEEE signal processing magazine, 2020, 37(3): 50-60. DOI:10.1109/MSP.2020.2975749 ( 0) |
| [8] |
刘炜, 马杰, 夏玉洁, 等. 一种基于区块链和梯度压缩的去中心化联邦学习模型[J]. 郑州大学学报(理学版), 2024, 56(5): 47-54. LIU W, MA J, XIA Y J, et al. A decentralized federated learning model based on blockchain and gradient compression[J]. Journal of Zhengzhou university (natural science edition), 2024, 56(5): 47-54. DOI:10.13705/j.issn.1671-6841.2023013 ( 0) |
| [9] |
LI D L, WANG J P. FedMD: heterogenous federated learning via model distillation[EB/OL]. (2019-10-08)[2024-08-25]. https://arxiv.org/abs/1910.03581v1.
( 0) |
| [10] |
WU C H, WU F Z, LYU L J, et al. Communication-efficient federated learning via knowledge distillation[J]. Nature communications, 2022, 13(1): 2032. ( 0) |
| [11] |
JEONG E, KOUNTOURIS M. Personalized decentralized federated learning with knowledge distillation[C]//IEEE International Conference on Communications. Piscataway: IEEE Press, 2023: 1982-1987.
( 0) |
| [12] |
ZHAO Y, LI M, LAI L Z, et al. Federated learning with non-IID data[EB/OL]. (2018-06-02)[2024-08-25]. https://arxiv.org/abs/1806.00582v2.
( 0) |
| [13] |
罗长银, 王君宇, 陈学斌, 等. 改进的联邦加权平均算法[J]. 计算机应用, 2022, 42(4): 1131-1136. LUO C Y, WANG J Y, CHEN X B, et al. Improved federated weighted average algorithm[J]. Journal of computer applications, 2022, 42(4): 1131-1136. ( 0) |
| [14] |
FALLAH A, MOKHTARI A, OZDAGLAR A. Personalized federated learning: a meta-learning approach[EB/OL]. (2020-02-19)[2024-08-25]. https://arxiv.org/abs/2002.07948v4.
( 0) |
| [15] |
SATTLER F, WIEDEMANN S, MULLER K R, et al. Robust and communication-efficient federated learning from nonIID. data[J]. IEEE transactions on netural networks and learning systems, 2020, 31(9): 3400-3413. ( 0) |
| [16] |
ZHENG Z, XIE S, DAI H, et al. An overview of blockchain technology: architecture, consensus, and future trends[C]//2017 IEEE international congress on big data. Piscataway: IEEE Press, 2017: 557-564.
( 0) |
| [17] |
HINTON G, VINYALS O, DEAN J. Distilling the knowledge in a neural network[EB/OL]. (2015-03-09)[2024-08-25]. https://arxiv.org/abs/1503.02531v1.
( 0) |
2026, Vol. 58



0)