李翰奇 王小妮 吴秋新 王灿 吴浪 杜俊龙 秦宇
摘 要:针对车联网联邦学习服务难以满足用户训练个性化模型的需求,提出一种创新性的车联网联邦学习模型定制化服务框架。该框架采用了一种融合设备贡献度和数据集相似性的联邦学习聚合算法,实现了个性化联邦学习。该算法通过不同权重分配方式和相似性计算,使得不同用户可以根据自己的需求和数据特征,选择合适的模型训练方案。该框架还提出了一种双重抽样验证方法,解决了模型性能和可信度问题;此外,利用智能合约支持数据协作,保障了数据的安全性。实验结果表明,提出算法在大多数实验场景中表现出较高的准确率,该框架可以显著提高车联网服务的个性化水平,同时保证模型的准确性和可靠性。
关键词:车联网; 联邦学习; 模型定制; 智能合约; 聚合算法
中图分类号:TP181;U495 文献标志码:A 文章编号:1001-3695(2024)05-007-1328-10
doi:10.19734/j.issn.1001-3695.2023.09.0416
Customized federated learning model framework and
algorithm enhancements for vehicular networks
Abstract:This paper proposed an innovative customized service framework for the federated learning model of the Internet of Vehicles(IoV), which addressed the difficulty of meeting the needs of users to train personalized models in IoV federated learning services. This framework adopted a federated learning aggregation algorithm that integrated device contribution and dataset similarity, achieving personalized federated learning. This algorithm used different weight allocation methods and similarity calculations to enable different users to choose appropriate model training schemes based on their own needs and data characteristics. The framework also proposed a dual sampling validation method to address model performance and credibility issues, and utilized smart contracts to support data collaboration, ensuring data security. The experimental results show that the proposed algorithm exhibits high accuracy in most experimental scenarios, and this framework can significantly improve the personalized level of IoV services while ensuring the accuracy and reliability of the model.
Key words:Internet of Vehicles; federated learning; personalized model; smart contracts; aggregation algorithms
0 引言
车联网作为智能交通的重要组成部分,正逐步改变人们的出行方式。将车辆、道路基础设施和互联网连接起来,为驾驶员和交通管理部门提供了更多的信息和控制手段。为了实现这一连接和信息传递,车联网服务商收集车辆各种形式的数据,包括车辆的位置信息、车速、油耗、行驶路线、发动机状态、车辆健康状况、驾驶习惯、车内环境数据等,这些数据通过车载传感器、GPS定位系统、车辆控制单元等设备收集,随后经过处理和分析用于提供各种车联网服务,如实时交通信息、远程车辆诊断、智能导航、驾驶行为分析、车辆远程控制和保险定价等功能。这些数据的收集和分析有助于安全驾驶、提高燃油效率、降低维护成本,同时也为用户提供更便捷、智能化的驾驶体验。然而,随之而来的数据隐私和安全问题也需要得到妥善解决,以保护用户的个人信息和车辆的安全性。对此,谷歌提出一种保护隐私的机器学习方法——联邦学习(federated lear-ning,FL)[1],其中模型服务商将训练模型发送给设备进行本地训练,设备无须向模型服务商发送任何形式的本地数据,而是将更新的模型参数交由模型服务商整合。这样模型服务商可以把样本和特征汇聚到一起,获得更好的预测模型,同时增加了互不信任的各方參与联邦学习的意愿。
然而,在设备上传模型参数和模型服务商发送训练模型时仍然有隐私数据泄露的可能[2]。随着区块链技术的持续发展,基于区块链技术搭建车联网数据共享平台可以实现安全、透明、不可窜改的数据记录和交换,为车辆之间、车辆与交通基础设施之间建立信任提供了新的方法,从而实现数据安全性和高参与度的结合,使得该系统适合车辆制造商、保险公司、道路管理机构以及车主和驾驶员,为各方提供了一个安全、可信的数据交换平台,推动了车联网技术的广泛应用和进一步创新。
在传统联邦学习中,模型聚合仅针对全局模型参数,最终交付的是适用于所有参与方数据的单一全局模型。然而,不同用户的应用场景和需求差异巨大。例如:在车辆安全领域,一家汽车制造商可能更关心模型的实时性和稳定性,以支持自动驾驶系统的实时决策;而一家保险公司可能更侧重于模型的事故预测准确性和风险评估。面对这种模型服务需求的多样性,如何有效地针对个性化需求来聚合模型参数以满足不同用户的需求,成为一个亟待解决的问题。
本文深入分析了车联网中的具体问题和需求,提出了一种创新的解决方案,即结合联邦学习和区块链技术构建一个面向车联网的模型学习服务框架。在此框架中,提出了融合设备贡献度和数据集相似性的联邦学习聚合算法(contribution and simulated-based aggregation algorithm,CSBA)以及双重抽样验证算法(double class-sampled validation-error scheme,D-CSVES)。这些方法的设计充分考虑了数据的异质性,解决了客户个性化需求的问题。本文主要贡献如下:a)联邦学习模式结合了长安链(ChainMaker)不可窜改和分布式的特性,针对车联网数据隐私保护和模型安全更新需求,提出了一种基于区块链和联邦学习的车联网数据共享和模型更新方法,使用智能合约操作车辆上传数据和用户业务请求数据的过程,以保证数据的隐私性和安全性;b)提出了一种基于数据相似性的联邦学习聚合算法,允许在模型聚合过程中考虑不同用户之间的数据相似性,从而更精确地个性化聚合模型参数,满足不同用户的需求;c)提出一种改进的双重抽样验证算法,该算法能够更有效地评估模型在联邦学习环境中的性能并提供更可靠的性能度量,以支持模型的优化和选择。使用Python进行模拟验证系统的可行性,在MNIST数据集、CNN模型的情况下得到了出色的识别准确率,为系统的可行性提供了有力的支持。
1 联邦学习与区块链
1.1 联邦学习概述
联邦学习是机器学习的一个分支,它构建了一种全新的机器学习模式,训练模型时无须将数据上传到中央服务器,而是将模型参数在客户端和服务器之间相互传递,以保护客户端隐私。联邦学习的工作流程如图1所示,通常分为三个阶段:
a)初始化模型下载。中央服务器初始化初始模型的参数,然后将其作为全局模型广播给联邦学习环境中的客户端。
b)本地模型更新。客户端使用本地私有数据对接收到的全局模型进行训练,然后所有的客户端将它们的本地模型参数发送到中央服务器。全局模型从本地模型参数的平均值中更新。同时,中央服务器可以在训练过程中随时添加或者删除客户端。
c)全局模型下载。中央服务器将聚合后的全局模型广播给所有客户端,完成一次联邦学习迭代,中央服务器上的模型会随着迭代次数的增多变得更加符合目标要求。
假设客户端的总数为N,ni表示第i个客户端的数据样本数量。在轮数t,联邦学习服务器随机选择一些客户端kN(0<k≤1)组成客户端群,并要求他们用自己的本地数据集更新全局模型。更新方式采用联邦平均算法,数学表达式为
其中:wt表示模型在时间t时的更新,而wt+1是模型在时间(t+1)时的更新;此外,Δwit+1给出了客户端i在全局参数中更新的改变量;η为全局联邦学习模型的学习率。
联邦学习通过重复b)c)阶段,使用聚合算法不断迭代全局模型,然后同步给全局所有客户端。在联邦学习的全局模型更新过程中,聚合算法发挥着至关重要的作用。例如,文献[1]中谷歌的联邦学习框架vanilla FL在获得本地模型更新的参数后,中央服务器通过联邦平均算法(federated averaging algorithm,FedAvg)计算所有本地模型更新的平均值作为全局模型的更新,但仅限于依据本地数据量占数据总量的比值进行权重分配,然而仅基于本地数据量的比例可能导致某些设备对全局模型的贡献不足,存在一定的优化空间。Konecˇny'等人[3]提出了Federated- Averaging算法,即一种基于联邦平均的联邦学习聚合算法。该算法使用本地更新的梯度进行全局模型的更新,并使用加权平均的方式来平衡设备的不可靠性。FederatedAveraging算法能够在移动设备上实现联邦学习,并提高通信效率和设备的可靠性,但是对于数据的不平衡性和异质性表现不佳。Nilsson等人[4]对三种联邦学习算法进行基准测试,并将它们的性能与传统机器学习方法进行比较,其中联邦平均算法在联邦算法中达到了最高的精度。文献[5]证明了联邦匹配平均(federated matched averaging,FedMA)算法与联邦平均算法和FedProx算法相比,仅在几轮迭代中表现良好。朱建明等人[6]根据模型质量评估结果以及节点在协作过程中的信誉值评分调整模型聚合权重,增加高质量模型参数在聚合模型中的贡献度占比,从而提升聚合模型的准确率。从以上聚合方式中可以发现,不同的权重分配方法对于联邦学习算法的性能有显著影响。
1.2 长安链概述
长安链作为区块链开源底层软件平台,包涵区块链核心框架、丰富的组件库和工具集,可以为用户高效、精准地解决差异化区块链实现需求,构建高性能、高可信、高安全的新型数字基础设施,同时也是国内首个自主可控区块链软硬件技术体系。在长安链的区块结构中,每个区块由Header(区块头)、Dag(块内交易的执行依赖顺序)、Txs(块内交易列表)和AdditionalData(区块产生以后附加的数据)构成。区块结构如图2所示。其中,区块头包括了多个字段,如BlockVersion(区块版本)、BlockType(区块的类型)、ChainID(链标识)、BlockHeight(区块高度)、BlockHash(本区块的散列值)等。
鉴于区块链在数据隐私保护方面具有一定优势,越来越多的研究人员将其应用到联邦学习上。Zhao等人[7]提出了一种基于区块链的隐私保护联邦学习框架,在保护数据隐私和确保安全性的同时提高了模型的准确性和收敛速度,但是可能会面临区块链的性能瓶颈;Wu等人[8]提出了一种基于区块链的去中心化联邦学习方法,可以提高计算效率,同时保证数据隐私和安全性;Lu等人[9]提出一种使用深度学习模型和差分隐私技术的车联网数据隐私保护方案;Boualouache等人[10]提出了一种使用差分隐私和联邦聚合技术方案来保护数据隐私和解决数据不平衡问题,方案中所有车辆的数据都被用于训练模型,但是当不同车辆之间的数据存在明显不平衡时会导致模型的学习性能下降;Kang等人[11]提出了一种可靠的联邦学习激励机制,结合了声誉和合同理论以激励高声誉的移动设备参与模型学习;Hu等人[12]提出了一种基于区块链的实时分布式能源交易共识机制,解决了传统共识机制在实时交易中的效率问题;Yuan等人[13]提出了一种名为ShadowEth的新型私秘智能合约方案,该方案基于以太坊公共区块链,使用加密技术保护合约的隐私和安全性,但存在对合约的复杂性和可扩展性等的限制问题;Wang等人[14]提出了一种基于区块链的数据访问控制和数据共享框架,可以在分散式存储系统中实现细粒度的数据访问控制和数据共享,使用智能合约来管理访问控制策略,同时通过基于区块链的加密技术保护数据的隐私性和安全性;Qu等人[15]通过将区块链和联邦学习结合实现了分散隐私保护,并防止了雾计算场景中的单点故障,区块链可以向联邦学习参与者提供激励;Lu等人[16]通过联邦学习来构建数据模型并共享,提出了一种新的区块链授权协作架构,通过分布式多方贡献数据以降低数据泄露的风险,使用基准、开放的真实数据集对提出的模型的有效性进行了评估;Martinez等人[17]建立了一種基于EOS区块链的联邦学习模式来保护数据安全,提出了一种为设备的数据类定制验证集以进行类抽样错误验证(class-sampled validation-error scheme,CSVES)的激励机制方案,在训练之前,数据提供者会将使用的一部分分类数据提供给模型服务商,模型服务商在这些分类数据中随机抽样一批作为验证数据集返还给数据提供者,当训练完成之后,利用这些验证数据集计算验证集误差,如果验证集误差是递减的,则确认所训练模型是有效的。以上过程均使用智能合约完成操作,以限制模型服务商与本地节点功能的重合。类抽样验证错误方案解决了奖励用户贡献的不准确或效率低下的问题,但是即便验证了所有数据提供者提供的模型参数是有效的,通过取平均值的联邦平均算法对模型聚合,对于模型的参数也是严重的浪费。
区块链现在已经向智能合约时代发展,智能合约技术是区块链技术中的一个重要组成部分,它为开发者提供了一种去中心化、不可窜改的计算环境,使得各种应用可以在区块链上进行安全、透明的执行[18]。而智能合约在长安链上具有多种功能,如可以实现去中心化的数字货币交易、智能投票、链上游戏、供应链追溯等。同时,长安链还提供了多种开发工具和部署工具,方便开发者进行开发、测试和部署。
本文在提出的面向车联网的联邦学习模型定制框架中使用了长安链的智能合约,将智能合约作为协调各个参与方之间的通信和数据交互的角色。当设备需要上传本地数据时,使用智能合约进行身份验证和数据安全保护,确保数据的完整性和隐私性。同时,智能合约还负责管理和控制联邦学习算法的执行过程,确保各个参与方的本地模型都能按照预定的流程进行训练和更新。在全局模型更新过程中,智能合约通过调用联邦学习聚合算法来计算所有本地模型的更新,生成全局模型更新结果并将其发送给各个参与方。通过这种方式能够更加高效地利用各个设备产生的数据,并保障数据的隐私和安全性。
2 面向车联网的联邦学习模型定制框架
2.1 需求分析
车联网的特点是不同用户之间的需求和数据具有显著的差异,这些差异包括驾驶习惯、行车偏好、使用场景等。一辆自动驾驶车辆需要实时性,个人车主需要个性化服务,而车队管理系统需要协同性和效率,传统的模型学习方法难以有效满足多样性的需求,因此联邦学习模型服务框架必须具备灵活性以满足这些多样性需求,需要解决以下问题:a)个性化需求问題。车联网用户需要个性化的预测和分析服务,如何根据用户的特定需求为他们提供高度个性化的模型是一个重要问题。b)数据碎片化问题。车联网中的数据通常分散在不同的车辆和用户侧,如何有效地协同利用这些分布式的数据以提高模型的泛化性能。c)数据隐私和安全问题。用户的车联网数据包含敏感信息,如行驶轨迹和车辆状态,如何确保数据的隐私性和安全性,以及如何建立可信任的数据交互环境。d)联邦学习与区块链整合问题。在解决上述问题时,如何充分利用联邦学习方法来处理分布式数据和个性化需求,并将其与区块链技术相结合以确保数据的可信任交互和隐私安全。
2.2 面向车联网的联邦学习模型定制化服务框架
基于上述需求和问题,设计面向车联网的联邦学习模型定制化服务框架。该框架如图3所示。
主要包括以下组成部分:
a)长安链及智能合约。本框架首先在长安链上部署一套智能合约,以支撑车辆侧、用户侧和模型服务商侧建立实现模型定制化服务的联邦学习,通过智能合约为各方提供可信交互方式并保障数据的安全性和隐私性。
b)用户侧。在框架中,用户侧存在不同类型的用户,包括车辆、个人和车联网特定应用系统等。用户侧的每个用户都可以根据自身需求向模型服务商申请模型定制化服务,用户通过长安链及智能合约与模型服务商交互,完成模型定制需求提交、聚合模型有效性上传和模型获取等操作。
c)车辆侧。在框架中,车辆侧是车联网运行数据的持有者,每一辆车都可能含有一些特定的数据类型,并通过长安链及智能合约参与到模型服务商组织的联邦学习中。车辆计算出本地数据类的频率分布,提交给模型服务商用于支持聚合算法;在每一轮的联邦学习中,参与学习的车辆首先获取模型服务商的模型参数,然后使用本地数据训练产生本轮本地模型,并使用从模型服务商获取的分类抽样验证集对本地模型进行验证,最后将模型参数和验证结果发送给模型服务商。
d)模型服务商侧。模型服务商侧在框架中扮演两个角色,一个是基于长安链开发和部署一套支撑联邦学习的智能合约,另一个是基于用户侧的定制化服务需求组织车辆侧的联邦学习。模型服务商获取用户侧的模型定制化需求,接收车辆侧的各车辆本地数据类的频率分布,并基于该分布生成分类抽样验证集,然后发送给该车辆。组织每一轮的联邦学习,首先下发模型供车辆侧训练,然后接收各车辆的本地模型和验证结果,并根据聚合算法进行参数更新和模型聚合;经过多轮联邦学习后,将所形成的模型交付给用户侧,用户侧验证有效则完成定制化服务任务,否则继续进行训练直到用户验证通过。
面向车联网的联邦学习模型定制化服务框架融合用户侧、车辆侧、模型服务商侧,构建了一套新型联邦学习模式,该模式采用长安链智能合约保障联邦学习交互的可信与安全,并将双重抽样验证融入联邦学习过程,大大提升了定制化模型的适用性。
2.3 智能合约设计
为了支撑服务体系需要创建一个智能合约,由模型服务商部署在长安链上,并授权用户和车辆可以调用智能合约的函数。函数列表如表1所示。
在这些函数中,由用户和车辆调用的函数主要用于将用户模型定制需求、车辆模型参数和数据类频率分布写入区块中,由模型服务商调用的函数主要用于获取用户和车辆写入的内容以及基于车辆本地数据类频率分布生成分类抽样验证集。verifyModelParameters()和verifyDataSet()函数则用于用户和车辆进行模型参数验证和结果验证。
2.4 联邦学习模型定制化服务运行流程
面向车联网的联邦学习模型定制化服务的具体运行流程如下:a)智能合约部署。O需要在长安链平台上部署所设计的智能合约,以支持用户侧Uj、车辆侧Di与模型服务商之间的可信安全交互。b)Uj提交模型定制需求。如图4所示,Uj通过调用submitRequirement()将自己需求的模型所偏好的数据类频率分布CU写入区块中,以便O进行处理。c)Di生成并提交本地数据的数据类频率分布。如图5所示,Di通过调用submitParameter()将自己的本地数据分布CD写入区块中,以便O获取。
d)O依据车辆数据类频率分布生成分类抽样验证集vsi。如图5所示,O依据getParameters()获取的车辆数据类频率分布CD,通过调用generateDataSet()向车辆Di提供随机大小的分类抽样验证集vsi,并在智能合约中进行隐私保护措施。
e)O聚合模型。聚合过程如图6所示,分成两个阶段,第一阶段为权重wki的分配,第二阶段是模型聚合和本地训练。
(a)采用三种不同算法(具体见3.2~3.4节)实现权重分配。若采用3.2节的CBA聚合算法,O收到vki后会根据vki进行聚合时每个Di的权重w的分配;若采用3.3节的SBA聚合算法,O收到CU和CD后,会根据CU与CD间的相似性进行聚合时每个Fi的权重w的分配;若采用3.4节的CSBA聚合算法,O收到vki与CU和CD后,会根据vki、CU和CD间的相似性进行聚合时每个Di的权重w的分配。
(b)O利用计算出的车辆权重聚合模型Mj,然后将生成的Mj返回给Uj。每个车辆Di在训练过程中都有Mj的Tki副本以及当前版本vi=k,k表示第k轮,每个车辆Di∈D在接收到第k个模型Tki时,使用其大小为ni的本地数据di离线训练模型Tki以获得更新的模型,然后计算梯度δi=Tk+1i-Tki,将δi的值和Tki同时上传给O。
f)O下发模型参数。如图6所示,O通过调用setModelParameters()将模型参数Tik写入区块中,供Di获取。
g)Di获取模型参数。如图6所示,每一轮O发放本地模型时,Di可以通过调用getModelParameters()从区块中获取模型参数Tik。
h)Di进行本地模型训练。如图6所示,车辆Di进行本地模型训练,然后将δi、vi作为交易从链上发送给与Di连接的区块。从车辆Di上传交易所需的参数,如表2所示。
i)Di验证数据集并提交结果。本框架采用的双重抽样验证分成两个阶段,第一重分类抽样验证为车辆本地分类抽样验证,如图5所示,第二重分类抽样验证是用户个性化验证,如图7所示。图5中Di验证数据集并将验证结果通过调用verifyDataSet()写入区块中,以便O获取。
在第一重抽样验证中,如步骤d)所述,Di与O通过交互生成供Di验证的数据集vsi,Di根据O设定的轮次(如每l轮开展一次验证)验证模型参数,然后将验证结果vki通过智能合约发送给O。第二重抽样验证将在步骤l)开始进行。
j)O获取验证结果。如图5所示,O通过getVerificationResult()获取Di的验证结果vki。如果联邦学习还在设定的轮数内,继续按步骤e)~j)进行联邦学习,直到设定的轮数完成。
k)O向Uj交付模型参数。如图6所示,O通过调用setModelParameters()将全局模型Mj写入区块中,供Uj获取。
l)Uj获取模型参数。如图7所示,本步骤开始进行第二重分类抽样验证,Uj可以通过调用getModelParameters()从区块中获取Mj。
m)Uj提交模型反馈。Uj通过verifyModelParameters()对接收到的Mj进行验证,如果验证准确率大于设定的模型验证阈值θ,则认可Mj,接受该模型,并将验证结果result置为true;否则,将result置为false。然后通过调用submitModelFeedback()写入区块中,以便O获取。
n)O获取模型反馈。如图7所示,O通过调用getModel-Feedback()获取Uj的模型反馈result,如果为true,则结束联邦学习,完成Uj的模型定制化服务;否则继续进行τ轮联邦学习训练(τ是事先由O确定),然后再按步骤m)n)对所训练的模型进行验证。如此重复,直到Uj接受O所训练的模型,完成模型定制化服务。
2.5 Petri网建模与分析
本文采用Petri网建模仿真工具PIPE构建模型和仿真验证,Petri网的设计如图8所示,库所和变迁的定义如表3所示,对面向车联網的联邦学习模型定制化服务框架Petri网的模型死锁、安全性和有界性进行检验。
利用PIPE仿真工具对Petri网系统的死锁、有界性和活性进行仿真分析的结果如表4所示。使用Petri网PIPE仿真工具对面向车联网的联邦学习模型定制化服务框架进行仿真分析,验证了该框架的Petri网模型具有有界性、安全性和活性,表明该框架在实际应用系统开发中是可靠、可行的。
3 算法改进
3.1 模型参数更新计算
在2.1~2.3节所描述的服务框架中,用户Uj希望训练一个能够适应其数据类的模型。如图4所示,Uj首先将自己的模型需求(需要预测的数据类CU)传递给模型服务商O,与此同时,每个车辆Di也加载本地数据,提取本地数据的数据类CD发送给O。为了完成定制化模型需求,O收到CU与CD后,会根据CU与CD间的相似性进行聚合时每个Di的权重w的分配,最后利用计算出的车辆权重聚合模型Mj∈M,然后O会将生成的Mj返回给Uj。O聚合初始模型T0i将所有权重初始化为ω~N(0,1)。用更新的δi对模型进行聚合以计算T1i,定义ωkl为T0i中的第k轮第l个参数,δki,l为第k轮第i个车辆的第l个参数的变化量,bk表示第k轮参与者的数量,η是学习率,wki是根据所选择的算法第k轮分配的权重。训练模型应用更新为
若聚合后的最新版本是版本k,则将Tki命名为Mj,称为全局模型。
3.2 基于设备贡献度的联邦学习聚合算法
本节提出一种基于设备贡献度的聚合 (contribution-based aggregation,CBA) 算法,旨在通过将设备本地验证准确率作为权重对模型参数的聚合产生影响,使得准确率高的车辆训练参数对总体模型参数聚合的影响大,准确率低的车辆训练参数对总体模型参数聚合的影响小。
在CBA算法中,每辆车的本地数据的验证准确率来自于双重抽样验证(具体见3.4节)的第一重抽样验证的分类抽样结果,即验证准确率,作为贡献度发送给模型服务商。模型服务商根据每个设备的贡献度来分配其权重,然后利用加权平均的方式对模型参数进行聚合。假设模型服务商为第i个车辆提供分类抽样验证集vsi,第i个车辆基于自身第k轮训练模型对vsi进行验证,得到模型验证准确率vki为
其中:TPki表示第i个车辆第k轮把正样本判断为正样本的样本数量;TNki表示把正样本判断为负样本的样本数量;FPki表示将负样本判断为正样本的样本数量;FNki表示将负样本判断为负样本的样本数量。依据模型验证准确率vki计算第k轮第i个车辆的模型权重wki为
3.3 基于数据集相似性的联邦学习聚合算法
本节提出基于数据集相似性的联邦学习聚合 (simulated-based aggregation,SBA)算法,数据集相似性是通过两个数据集在数据类分布上的“距离”来定义。这里两个数据集的数据类分布的“距离”采用信息论中的相对熵或者KL散度来定义。SBA算法旨在通过将数据集相似性作为权重对模型参数的聚合产生影响,使得相似性大的车辆训练参数对总体模型参数聚合的影响大,相似性小的车辆训练参数对总体模型参数聚合的影响小。
对提出定制化模型服务需求的用户,可以用数据类分布CU={CU(k),k=1,2,…,p}来刻画其模型定制需求,其中CU(k)为用户第k个数据类的频率。第i个车辆的数据类分布设为CDi={CDi(k),k=1,2,…,p},其中CDi(k)为第i个车辆第k个数据类的频率,则第i个车辆与用户的数据类分布的KL散度为
因为KL散度可以刻画两个概率分布之间的“距离”,所以两个数据集的相似性可以采用散度的倒数来表示,距离小相似性就大,距离大相似性就小。但当两个分布完全相同时,KL散度的值为0,其倒数为无穷大,导致相似性为无穷大,因此需要进行适当调整。两个数据集相似性计算调整如下:
为确保各个车辆的权重之和为1,将每个车辆的权重归一化:
3.4 基于融合设备贡献度和数据集相似性的联邦学习聚合算法
本节提出融合设备贡献度和数据集相似性的联邦学习聚合算法(CSBA),旨在通过融合本地验证准确率和数据集相似性作为权重对模型参数的聚合产生影响,使准确率高并且相似性大的车辆训练参数对总体模型参数聚合的影响加大,准确率低或者相似性小的车辆训练参数对总体模型参数聚合的影响减小。
假设模型服务商为第i个车辆提供分类抽样验证集vsi,并设定提出定制化模型服务需求的用户,其数据类分布为
3.5 基于CBA或CSBA及双重分类抽样验证的联邦学习算法
本文提出的基于CBA-CSBA双重分类抽样验证算法(D-CSVES)旨在解决联邦学习中的数据隐私和模型准确性问题,利用模型服务商和车辆之间的双重抽样来验证车辆本地数据的贡献度并提高全局模型的准确性。
在第一重抽样验证中,车辆的本地数据类CD被提取出来,并从属于O的链下数据集中接收仅从CD的类中选择的数据点的验证集,并发送给车辆;车辆利用该数据集周期性地对本地模型进行验证,然后将验证结果发送回模型服务商,如果验证结果较优秀,说明模型参数是一个有价值且有效的更新。选择CBA算法用于改善聚合模型的效果。
在第二重抽样验证中,模型服务商将聚合起来的模型Mk交付给用户Uj,Uj利用本地数据对模型进行验证并将结果发送给模型服务商;然后对验证结果相似的用户进行聚类分析,以更加深入地了解不同用户对模型的验证结果。通过对每个用户类别进行统计分析,可以得出该类别用户的平均验证准确率、标准差、最大值、最小值等指标,这些指标用于评估模型的性能,并为进一步改进模型提供参考。同时将验证结果与用户属性、地理位置等信息进行关联分析,探索验证结果与用户特征之间的关系。例如:可以将用户按照年龄、性别、教育程度等属性进行分类,然后比较不同类别用户的验证结果,看是否存在显著差异;也可以考虑将用戶按照地理位置进行分类,然后比较不同地区用户的验证结果,探索是否存在地域差异等。通过第二重验证结果与用户特征的关联分析可以为模型的个性化优化提供支持。如果发现某些用户群体在模型验证中表现不佳,可以进一步分析他们的特征,从而针对性地优化模型,提高模型的适用性和泛化能力。通过这种双重抽样验证的方式,可以有效验证车辆本地数据的贡献度,并提高全局模型的准确性。
算法1 基于CBA或CSBA的双重分类抽样验证算法
输入:联邦学习中的用户U,车辆Di(i=1,2,…,n);聚合的模型Mk;用户接受的模型验证阈值θ。
输出:本地模型分类验证结果vki,用户验证结果result。
1)车辆
输入:分类抽样验证集vsi。
输出:本地模型分类验证结果vki。
for e=1,2,…,epoch do
for i=1,2,…,n do
根据验证集vsi对车辆Di本地模型Tki进行验证,验证结果为vki;
end for
将验证结果vki发送回模型服务商;
end for
2)模型服务商
输入:聚合的模型Tki,用户Uj的本地数据,用户验证结果result。
输出:用户验证结果result。
while result!=1 do
for i=1,2,…,bk do
for k=1,2,…,p do
if CDi(k)>0 then
从链下数据集SO中随机取一个大小为m的样本vs[k]i组成vsi;
end if
end for
将vsi发送给第i个车辆;
end for
//等待车辆发送的分类抽样验证结果vki
if 采用CBA算法
根据式(4)计算Di的权重wki;
else if 采用CSBA算法
根据式(9)计算Di的权重wki;
//聚合模型
result=将聚合的模型Mk交付给用户Uj;
end while
3)用户
输入:用户本地数据ui,全局模型Mk,用户接受的模型验证阈值θ。
输出:用户验证结果result。
从模型服务商处接收聚合的模型Mk;
利用本地数据ui对模型进行验证;
result=θ;
if 验证结果>θ do
result=1;
将验证结果result发送回模型服务商。
3.6 基于SBA的联邦学习算法
算法2 基于数据相似性的联邦学习算法
输入:联邦学习中的用户U;用户的数据集ui;车辆Di(i=1,2,…,n);车辆的数据集di;联邦学习模型Tki。
输出:服务商聚合后的全局模型Mglobal。
1)车辆层面
输入:车辆Di;车辆数据集di;联邦学习模型Tik。
输出:车辆本地数据集的数据类CDi;模型梯度δi。
for e=1,2,…,epoch do
for i=1,2,…,n do
将本地数据集的数据类CDi发送给模型服务商;
Di使用本地数据集di离线训练联邦学习第k个模型Tki,得到更新的模型Tki;
将梯度计算为δi=Tk+1i-Tki并发送给模型服务商;
end for
end for
2)模型服务商层面
输入:用户Uj本地数据集的数据类CUj;车辆Di本地数据集的数据类CDi;模型梯度δi。
输出:联邦学习模型Tki;服务商聚合后的全局模型Mj。
for e=1,2,…,epoch do
for i=1,2,…,n do
根据式(7)计算Di的数据类CDi和用户Uj的数据类CUj的数据相似度权重wki;
end for
根据式(2)计算联邦学习模型Tki中的每个参数ωki;
将联邦学习模型Tki发送给每个车辆;
end for
将联邦学习模型Tki更新到模型服务商的全局模型Mj上;
返回服务商聚合后的模型Mj;
3)用户层面
输入:服务商聚合后的模型Mj;用户本地的数据集ui。
输出:无。
将本地数据集的数据类CU发送给模型服务商。
4 实验结果及分析
4.1 数据集和实验场景设置
本文实验采用MNIST数据集进行实验,每个实验场景车辆侧设定5辆车,每辆车拥有不同的数据类频率分布、模型服务商;用户侧设定为1名用户,进行联邦学习模型的训练与评估。实验设置如下:本文设计了16种实验场景,每个场景中设定用户模型定制需求的数据类及分布、每辆车拥有的數据类及其分布。每个实验场景中,模型服务商还需根据不同实验场景下各车辆的数据类及分布生成各自的分类抽样验证集,而每个用户将依据其数据类及分布为定制模型生成其分类抽样验证集。在每个实验场景中,四个算法FedAvg、CBA、SBA、CSBA分别运行50次,每次进行10轮联邦学习通信,而每一轮联邦学习每辆车要进行10轮本地学习。针对这16种实验场景,分成两种实验模式:a)选出每种算法在10轮联邦学习通信的准确率均值最高的结果,并呈现其曲线结果;b)选出每种算法在第10轮联邦学习通信的准确率最高的结果。
4.2 实验结果分析
在16种实验场景中,针对实验模式a),从实验场景中选择设置如表5~8所示的4种场景,实验结果如图9~12所示,其中包含10轮联邦学习通信后,使用用户验证集进行测试的模型损失曲线和准确率曲线。
实验1的结果如图9所示,从总体趋势来看,在准确率方面CSBA算法表现最好,迅速从54.739%提高到89.867%,并稳定在较高水平;CBA和SBA算法也在10轮通信后取得了较高的准确率,分别达到86.194%和85.992%;FedAvg算法在相同轮次下的准确率为85.439%,略低于其他三个算法。在损失函数方面,CSBA算法同样取得了最好的结果,从73.253 7下降到16.941 7;其次是CBA和SBA算法,损失函数分别降至26.929 3和25.306 1;FedAvg算法在10轮通信后的损失函数为32.827 4。从整体趋势来看,CBA、SBA和CSBA算法在准确率和损失函数方面的表现都优于FedAvg算法。
从图9还可以观察到在第一轮通信后,CBA和SBA算法都取得了较高的准确率,而CSBA和FedAvg算法的准确率较低;随着通信轮次的增加,CSBA算法的准确率迅速提高,而FedAvg和CBA算法的准确率增长相对较缓。在损失函数方面,CBA和SBA算法在前几轮通信后损失函数下降较快,CSBA算法的损失函数下降最为迅速,表现出最佳的收敛速度,FedAvg算法在10轮通信后的损失函数下降幅度相对较小。
观察各算法在多次实验中的准确率和损失函数的波动情况可以看出:CSBA算法表现最为稳定,准确率和损失函数曲线较为平滑;CBA和SBA算法在实验过程中也表现出较好的稳定性,但相比之下略有波动;FedAvg算法的曲线波动较大,表现出较低的稳定性。
在实验2中,如图10所示,在10轮联邦学习通信后,FedAvg算法的准确率从初始的15.655%逐步提高到最终的70.050%;CBA算法从初始的12.267%快速上升至最终的72.431%,表现较为稳定;SBA算法在前几轮有一定波动,但逐渐趋于稳定,最终的准确率为73.375%;CSBA算法在初始阶段准确率较低,随后快速提升,最终达到73.904%。在损失函数收敛速度上,FedAvg算法的损失函数从167.471 7逐步降低到111.326 2,收敛较快;CBA算法的损失函数在前两轮下降较快,后续略有波动,最终收敛至105.031 3;SBA算法的损失函数从136.144 2下降至112.856 2,过程中有一定波动,但整体趋势向下;CSBA算法的损失函数在前四轮下降较快,后续逐渐趋于稳定,最终收敛至111.968 3。可以发现,FedAvg算法在准确率和损失函数方面表现一般,虽然准确率提升较为明显,但损失函数的收敛速度相对较慢;CBA算法在前几轮迭代中取得了较高的准确率,但在后期准确率提升相对较缓,收敛速度较快;SBA算法在准确率和损失函数方面表现良好,准确率和损失函数均有较快的下降趋势,整体稳定性较高;CSBA算法在最初表现不如其他算法,但随着迭代次数的增加,准确率和损失函数迅速提升,取得了较好的结果。
综上所述,SBA和CSBA算法在该实验场景中表现较好,具有较快的准确率和损失函数收敛速度,并且整体稳定性较高;CBA算法在初期,准确率具有较快的上升趋势,但后期略显缓慢;FedAvg算法虽然在准确率和损失函数方面均有改进,但整体表现一般。
在实验3中,如图11所示,FedAvg算法的准确率从55.354%上升至92.896%,表现出较好的学习能力;CBA算法的准确率从70.729%上升至93.648%;SBA算法从75.914%上升至91.989%;CSBA算法从85.948%上升至93.622%。CBA、SBA和CSBA算法在前几轮通信后的准确率增长较快,但随后趋于缓慢增长。与之相比,FedAvg算法在整个学习过程中准确率增长较为平稳。同时可以发现,SBA算法的损失函数在10轮通信后从29.706 4逐渐减小到9.273 5,而其他三个算法在初始轮次中损失函数的降低速度较慢,后续趋于平稳,说明SBA在初始阶段具有较好的收敛速度。
综上所述,CBA、SBA和CSBA算法在一定程度上考虑了车辆个性化需求,对少量车辆数据集效果较好。
在实验4中,如图12所示,可以观察到CBA和CSBA算法在初始几轮联邦学习中表现出了较好的性能,特别是在第一轮联邦学习中,CBA算法的准确率已经达到了76.05%,而CSBA算法的准确率为73.57%,相较于FedAvg算法的准确率45.15%和SBA算法的36.82%,显著提升了训练初始阶段的模型性能。另外,CBA和CSBA算法在后续的准确率曲线中一直保持较高的水平,并且损失函数下降速度相对较快,表明这两种算法在训练过程中能够更好地适应车联网数据异构性和模型质量不一致的情况。相比之下,FedAvg算法则在整体准确率和损失函数上有了较大的改进,但与CBA和CSBA算法相比,仍存在一定差距。
通过详细分析选取的四种实验场景的实验结果,可以得出以下结论:CSBA算法相对于FedAvg、CBA和SBA算法表现更优秀。CSBA算法综合了CBA和SBA的优点,在考虑了用户分布和车辆分布的个性化特点后提高了模型的泛化性和适应性。随着通信轮次的增加,CSBA算法逐渐收敛且具有更快的收敛速度,表现出更好的学习能力和性能。
针对实验模式b),在车联网应用中,算法需要在有限的通信轮次内给出尽可能好的结果,因此第10轮的比较能够更直观地反映算法的短期效果。同时只关注第10轮的结果能够减少实验的计算开销并能提供有价值的信息,从而更高效地进行算法的性能评估和比较。表9是四种算法在五种场景下第10轮联邦学习通信时的准确率表现。
从表9可以看出,在大多数实验场景中,SBA和CSBA算法取得了相对较高的准确率,明显优于FedAvg和CBA算法。特别是在实验场景9、10、11、13中,SBA和CSBA算法相比其他算法表现出较大的优势。而在一些实验场景中,CBA算法取得了与SBA和CSBA算法相近的准确率,表现较为稳定。例如,在实验场景7中,CBA算法的准确率为98.98%,与SBA和CSBA算法的准确率相差不大。
综上所述, SBA和CSBA算法在大多数实验场景中表现出较高的准确率,优于FedAvg和CBA算法。CBA算法在一些场景中也表现稳定,与SBA和CSBA算法的准确率相近;而FedAvg算法在少数实验场景中也表现出竞争力,但整体性能相对一般。实验结果表明在不同的实验场景中,SBA和CSBA算法表现出比FedAvg算法更好的性能,特别是CSBA算法在所有实验场景中均取得了最高的准确率,CBA算法在某些实验场景中也表现出较好的性能。这些结果进一步验证了在联邦学习环境中,利用准确率聚合、数据相似性的分类聚合和双重抽样验证等方法可以显著提高模型的性能和收敛速度,说明在联邦学习环境中,面向车联网的联邦学习模型定制化服务框架可以显著提高模型的性能。
本文设计了四种实验场景,在面向车联网的联邦学习模型定制框架中,将本文方法与FedaAvg、FedFA和文献[17]中的联邦学习聚合算法进行对比,每次进行30轮联邦学习通信,每一轮联邦学习中每辆车要进行10轮本地学习。四种算法的准确率曲线如图13所示。
从图13可以看出,在四种实验场景中,面向车联网的联邦学习模型定制框架中,CSBA算法通过使用数据相似性权重和本地验证准确率权重聚合,生成的模型更适合用户目标的数据分布。在30轮的训练中这种优势表现得尤为明显。相比之下,FedAvg采用了传统的平均聚合方式,FedFA则结合了训练精度和训练频率的信息量来衡量权重,而RFedAvg[17]使用了利用模型差值平均的模型聚合方式,尽管这些算法在某些情况下表现良好,但在定制个性化目标数据分布的训练任务中效果有限。
5 结束语
面向车联网的联邦学习模型定制化服務框架,通过综合应用长安链、数据相似性的联邦学习聚合算法和双重抽样验证方案,实现了对车联网数据的高效处理和模型性能的显著提升。它能够在保障数据隐私的前提下,根据本地设备的数据相似性赋予模型参数更有针对性的权重,从而更好地利用分布不均的本地数据提高模型的准确性和泛化能力。数据相似性的联邦学习聚合算法提供了更个性化的模型参数聚合方式,使得模型的构建更贴合需求场景,同时双重抽样验证方案有效预防了模型的过拟合问题,保障了模型的可信度。这一框架有望为车联网领域提供更安全、高效和个性化的服务。
随着车联网技术的不断发展,用户对于个性化驾驶体验的需求将持续增加。这个框架为满足用户特定的驾驶习惯、行车偏好和使用场景需求提供了有力支持,为车辆用户带来更智能化、个性化的出行体验。未来可以从以下几个方面继续开展研究:
a)改进和优化框架中的算法,进一步提升模型的训练效率和准确率。同时,计划扩展框架的适用范围,将其运用于更多车联网场景,如自动驾驶、交通管理和车辆安全等领域,以满足不同用户群体的需求。
b)關注数据隐私和安全性的问题,进一步加强智能合约的安全性和用户数据的隐私保护,以确保用户信息不被滥用或泄露。
c)多模态数据融合,随着车联网的不断发展,车辆将会生成更多的多模态数据,包括图像、声音、视频等。致力开发能够处理多模态数据的联邦学习算法,以提供更全面、精确的个性化服务。
参考文献:
[1]McMahan B, Moore E, Ramage D, et al. Communication-efficient learning of deep networks from decentralized data[C]//Proc of the 20th International Conference on Artificial Intelligence and Statistics. [S.l.]: PMLR, 2017:1273-1282.
[2]Mothukuri V, Parizi R M, Pouriyeh S, et al. A survey on security and privacy of federated learning[J]. Future Generation Computer Systems, 2021,115(2): 619-640.
[3]Konecˇny' J, McMahan H B, Ramage D, et al. Federated optimization: distributed machine learning for on-device intelligence[EB/OL]. (2016-10-08). https://arxiv.org/pdf/1610.02527.pdf.
[4]Nilsson A, Smith S, Ulm G, et al. A performance evaluation of fe-derated learning algorithms[C]//Proc of the 2nd Workshop on Distributed Infrastructures for Deep Learning. New York: ACM Press, 2018: 1-8.
[5]Wang Hongyi, Yurochkin M, Sun Yuekai, et al. Federated learning with matched averaging[EB/OL]. (2020-02-15). https://arxiv.org/pdf/2002.06440.pdf.
[6]朱建明, 张沁楠, 高胜, 等. 基于区块链的隐私保护可信联邦学习模型 [J]. 计算机学报, 2021,44(12): 2464-2484. (Zhu Jianming, Zhang Qinnan, Gao Sheng, et al. Privacy preserving and trustworthy federated learning model based on blockchain[J]. Chinese Journal of Computers, 2021,44(12): 2464-2484.)
[7]Zhao Yang, Zhao Jun, Jiang Linshan, et al. Privacy-preserving blockchain-based federated learning for IoT devices[J]. IEEE Internet of Things Journal, 2021,8(3): 1817-1829.
[8]Wu Xin, Wang Zhi, Zhao Jian, et al. FedBC: blockchain-based decentralized federated learning[C]//Proc of IEEE International Conference on Artificial Intelligence and Computer Applications. Pisca-taway, NJ: IEEE Press, 2020: 217-221.
[9]Lu Yunlong, Huang Xiaohong, Dai Yueyue, et al. Federated lear-ning for data privacy preservation in vehicular cyber-physical systems[J]. IEEE Network, 2020,34(3): 50-56.
[10]Boualouache A, Engel T. Federated learning-based scheme for detecting passive mobile attackers in 5G vehicular edge computing[J]. Annals of Telecommunications, 2022, 77(4):201-220.
[11]Kang Jiawen, Xiong Zehui, Niyato D, et al. Incentive mechanism for reliable federated learning: a joint optimization approach to combining reputation and contract theory[J]. IEEE Internet of Things Journal, 2019, 6(6): 10700-10714.
[12]Hu Meng, Shen Tao, Men Jinbao, et al. CRSM: an effective blockchain consensus resource slicing model for real-time distributed energy trading[J]. IEEE Access, 2020, 8: 206876-206887.
[13]Yuan Rui, Xia Yubin, Chen Haibo, et al. ShadowEth: private smart contract on public blockchain[J]. Journal of Computer Science and Technology, 2018, 33(5): 542-556.
[14]Wang Shangping, Zhang Yinglong, Zhang Yaling. A blockchain-based framework for data sharing with fine-grained access control in decentra-lized storage systems[J]. IEEE Access, 2018, 6: 38437-38450.
[15]Qu Youyang, Gao Longxiang, Luan T H, et al. Decentralized privacy using blockchain-enabled federated learning in fog computing[J]. IEEE Internet of Things Journal, 2020, 7(6): 5171-5183.
[16]Lu Yunlong, Huang Xiaohong, Dai Yueyue, et al. Blockchain and federated learning for privacy-preserved data sharing in industrial IoT[J]. IEEE Trans on Industrial Informatics, 2019,16(6): 4177-4186.
[17]Martinez I, Francis S, Hafid A S. Record and reward federated lear-ning contributions with blockchain[C]//Proc of International Confe-rence on Cyber-Enabled Distributed Computing and Knowledge Discovery. Piscataway, NJ: IEEE Press, 2019: 50-57.
[18]賀海武, 延安, 陈泽华. 基于区块链的智能合约技术与应用综述[J]. 计算机研究与发展, 2018,55(11): 2452-2466. (He Haiwu, Yan An, Chen Zehua. Survey of smart contract technology and application based on blockchain[J]. Journal of Computer Research and Development, 2018,55(11): 2452-2466.)