模型训练方法及相关设备与流程

文档序号:29633774发布日期:2022-04-13 16:37阅读:97来源:国知局
模型训练方法及相关设备与流程

1.本公开涉及信息技术领域,尤其涉及一种模型训练方法及相关设备。


背景技术:

2.联邦学习提供了一种有效的解决隐私问题的方法。应用联邦学习训练模型,只需要交换本地模型的权重或梯度,本地训练数据仅保存在用户本地存储中,能够很好地保护终端和个人隐私。但是,在一些场景中联邦学习存在模型训练效率较低的问题。
3.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

4.本公开提供一种模型训练方法、装置、设备及存储介质,至少在一定程度上解决相关技术中联邦学习存在模型训练效率较低的问题。
5.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
6.根据本公开的一个方面,提供一种模型训练方法,方法包括:
7.接收联邦学习任务,联邦学习任务包括待训练的初始模型参数及任务发布方质押的积分数量;
8.在区块链主链上,根据联邦学习任务匹配得到多个第一终端;
9.基于近域通信范围,将多个第一终端划分进不同的通信小区,同一个通信小区内的第一终端属于同一个区域子链;
10.在每个通信小区,训练初始模型对应的小区模型;
11.基于训练后的每个小区模型,更新初始模型,得到训练后的全局模型。
12.在本公开的一个实施例中,在每个通信小区,训练初始模型对应的小区模型,包括:
13.在每个通信小区,第一终端执行如下步骤:
14.基于第一终端的本地数据训练小区模型,得到训练后的小区模型参数;
15.将小区模型参数,发送至通信小区的多个第一终端中的领导节点。
16.在本公开的一个实施例中,在基于第一终端的本地数据训练小区模型的过程中,第一终端通过近域通信向其它第一终端传输中间训练结果,以及通过链上智能合约,向提供近域通信服务的第一终端支付积分。
17.在本公开的一个实施例中,通信小区的第一终端对应区域子链中的终端节点;在每个通信小区,训练初始模型对应的小区模型之前,方法还包括:
18.在区域子链的多个终端节点中,选举得到领导节点;领导节点加入区块链主链,用于从距离最近的主链节点获取待训练的初始模型参数,并广播给区域子链的多个第一终端。
19.在本公开的一个实施例中,在区域子链的多个终端节点中,选举得到领导节点,包括:
20.根据终端节点对应的第一终端的近域缓存能力和计算能力,选举得到领导节点。
21.在本公开的一个实施例中,将小区模型参数,发送至通信小区的多个第一终端中的领导节点之后,方法还包括:
22.领导节点基于小区模型参数,验证并更新小区模型;
23.领导节点将更新后的小区模型,发送至区块链主链。
24.在本公开的一个实施例中,方法还包括:
25.通过pbft共识机制,在多个领导节点中选择得到主链层主节点;主链层主节点用于基于更新后的小区模型,验证并更新全局模型。
26.在本公开的一个实施例中,基于近域通信范围,将多个第一终端划分进不同的通信小区之前,方法还包括:
27.在多个第一终端中,确定多个目标终端,目标终端为多个第一终端中确认参与联邦学习任务的终端;
28.基于近域通信范围,将多个第一终端划分进不同的通信小区,包括:
29.基于近域通信范围,将多个目标终端划分进不同的通信小区。
30.在本公开的一个实施例中,在区块链主链上,根据联邦学习任务匹配得到多个第一终端,包括:
31.在区块链主链上,根据待训练的初始模型参数及任务发布方质押的积分数量,匹配得到多个第一终端。
32.在本公开的一个实施例中,接收联邦学习任务之前,方法还包括:
33.在基站边缘设置运营服务节点,运营服务节点用于为同一个基站覆盖范围内的终端注册上链。
34.根据本公开的另一个方面,提供一种模型训练装置,装置包括:
35.任务接收模块,用于接收联邦学习任务,联邦学习任务包括待训练的初始模型参数及任务发布方质押的积分数量;
36.终端匹配模块,用于在区块链主链上,根据联邦学习任务匹配得到多个第一终端;
37.小区划分模块,用于基于近域通信范围,将多个第一终端划分进不同的通信小区,同一个通信小区内的第一终端属于同一个区域子链;
38.小区训练模块,用于在每个通信小区,训练初始模型对应的小区模型;
39.全局更新模块,用于基于训练后的每个小区模型,更新初始模型,得到训练后的全局模型。
40.根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的模型训练方法。
41.根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的模型训练方法。
42.本公开的实施例所提供的模型训练方法,接收联邦学习任务后,在区块链主链上,根据联邦学习任务匹配得到多个第一终端,然后,基于近域通信范围,将多个第一终端划分
进不同的通信小区。这里,同一个通信小区内的第一终端属于同一个区域子链。最后,在每个通信小区,训练初始模型对应的小区模型,并基于训练后的每个小区模型,更新初始模型,得到训练后的全局模型。如此,通过区块链架构,在保障用户数据隐私的同时,可有效抵抗恶意节点攻击导致的学习性能下降,进而提升联邦学习训练模型的效率。
43.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1本公开实施例中一种模型训练方法流程示意图;
46.图2本公开实施例中模型训练的整体结构示意图;
47.图3本公开实施例中另一种模型训练方法流程示意图;
48.图4本公开实施例中基于区块链的近域缓存方案示意图;
49.图5本公开实施例中基于多级区块链的联邦学习框架示意图;
50.图6本公开实施例中一种模型训练装置示意图;和
51.图7本公开实施例中一种计算机设备的结构框图。
具体实施方式
52.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
53.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
54.联邦学习提供了一种有效的解决隐私问题的方法,可以在不进行任何原始数据交换的情况下训练高质量的全局模型。
55.联邦学习任务由任务需求方发布。联邦学习只需要交换本地模型的权重或梯度,本地训练数据仅保存在用户本地存储中,能够很好地保护终端和个人隐私。
56.此外,联邦学习能够在局部训练数据不足的情况下,通过共享训练模型在分布式多智能体之间进行高效的机器学习。以近域通信方式,在设备间传输本地模型中间训练结果,可显著提升通信资源利用率,提高联邦学习模型优化效率。
57.发明人发现,依托近域通信的联邦学习应用中存在如下挑战:
58.1、如何激励更多的用户设备提供近域覆盖,传输中间结果?
59.2、如何在非信任、弱信任的近域网络中实现安全可靠的模型数据传递,抵抗恶意攻击?
60.本公开提供了一种基于联邦学习的模型训练方法,通过区块链架构,在保障用户数据隐私的同时,可有效抵抗恶意节点攻击及d2d设备性能故障导致的学习性能下降。
61.图1示出本公开实施例中一种模型训练方法流程图,如图1所示,本公开实施例中提供的模型训练方法包括如下步骤:
62.步骤s102,接收联邦学习任务,联邦学习任务包括待训练的初始模型参数及任务发布方质押的积分数量;
63.步骤s104,在区块链主链上,根据联邦学习任务匹配得到多个第一终端;
64.步骤s106,基于近域通信范围,将多个第一终端划分进不同的通信小区,同一个通信小区内的第一终端属于同一个区域子链;
65.步骤s108,在每个通信小区,训练初始模型对应的小区模型;
66.步骤s110,基于训练后的每个小区模型,更新初始模型,得到训练后的全局模型。
67.下面对上述步骤进行详细说明,具体如下所示:
68.上述步骤中,初始模型可以是机器学习模型或者还可以是计算机算法模型。
69.作为一个示例,初始模型可以是机器学习中采用的神经网络模型。当初始模型是神经网络模型时,初始模型参数可以是用于建立神经网络模型的权重值。
70.作为另一个示例,初始模型可以是计算机算法模型。相应地,初始模型参数可以是建立算法模型所需的参数。
71.应理解,任务发布方也就是模型需求方可以是应用服务器节点,也可以是应用服务器节点中的应用程序app。
72.第一终端可以是终端设备,例如,可以是用户设备、移动设备、用户终端、终端、无线通信设备或用户装置。
73.在一些实施例中,上述步骤s108,在每个通信小区具体实现时,第一终端执行如下步骤:
74.基于第一终端的本地数据训练小区模型,得到训练后的小区模型参数;
75.将小区模型参数,发送至通信小区的多个第一终端中的领导节点。
76.其中,在基于第一终端的本地数据训练小区模型的过程中,第一终端通过近域通信向其它第一终端传输中间训练结果,以及通过链上智能合约,向提供近域通信服务的第一终端支付积分。
77.作为一个示例,第一终端利用本地数据训练模型,并通过d2d近域通信方式,响应其它第一终端的请求,传输中间训练结果,并通过链上智能合约,向提供d2d近域通信服务的设备ue支付积分,作为激励。
78.这里的积分,可以是前文中任务发布方向主链发布联邦学习任务时,质押的积分。其中,积压的初始积分需高于预设阈值,该积分用于奖励分配。
79.这里,智能合约可以是代码和数据的集合,也可以称为“可编程合约”。通常而言,智能合约是通过程序编码定义的,并且预设了运行条件;当触发运行条件时执行行为。其中的“智能”是执行上的智能,也就是说,如果达到某个预设条件,则合约自动运行。
80.需要说明的是,训练结果可以是根据使用该第一终端的用户的隐私数据进行学习
来改进小区模型,然后将小区模型的变化部分压缩为一个小型更新包,进行反馈。
81.在一些实施例中,通信小区的第一终端对应区域子链中的终端节点。在上述步骤s108之前,该方法还可以包括:
82.在区域子链的多个终端节点中,选举得到领导节点;领导节点加入区块链主链,用于从距离最近的主链节点获取待训练的初始模型参数,并广播给区域子链的多个第一终端。
83.在一些实施例中,在区域子链的多个终端节点中,选举得到领导节点,包括:根据终端节点对应的第一终端的近域缓存能力和计算能力,选举得到领导节点。
84.作为一个示例,各区域子链的终端节点从邻居节点中,选举一个拥有最佳近域缓存能力(本地缓存热度cp、缓存命中率hr最高)和强大计算能力的终端,成为领导节点。
85.领导节点加入主链,并从距离最近的主链节点获取当前的全局模型参数,并广播给子链的第一终端。
86.这里,节点可以是不同的物理机器,也可以是云端不同的实例。
87.在一些实施例中,将小区模型参数,发送至通信小区的多个第一终端中的领导节点之后,该方法还包括:
88.领导节点基于小区模型参数,验证并更新小区模型;
89.领导节点将更新后的小区模型,发送至区块链主链。
90.在一些实施例中,该方法还可以包括:
91.通过pbft共识机制,在多个领导节点中选择得到主链层主节点;主链层主节点用于基于更新后的小区模型,验证并更新全局模型。
92.区块链的共识机制,可以是多方参与的节点在预设的逻辑规则下,通过节点间的交互实现各节点对特定数据和信息达成一致的过程。
93.作为一个示例,第一终端可以向领导节点提交模型更新参数、训练时间等可公开信息。领导节点验证并更新区域模型,提交到主链。主链执行pbft共识,进一步验证并更新全局模型,完成训练。
94.在一些实施例中,基于近域通信范围,将多个第一终端划分进不同的通信小区之前,该方法还可以包括:
95.在多个第一终端中,确定多个目标终端,目标终端为多个第一终端中确认参与联邦学习任务的终端;
96.相应地,基于近域通信范围,将多个第一终端划分进不同的通信小区,包括:
97.基于近域通信范围,将多个目标终端划分进不同的通信小区。
98.基于此,上述实施例中各步骤中涉及的终端,可以是这里的目标终端。
99.本公开实施例中,根据联邦学习任务的需求,在链上匹配合适的第一终端,运营服务节点通知通过选择的第一终端,确认参与本次学习任务的目标终端组成区域子链,参与联邦学习模型训练。
100.作为一个示例,如没有终端符合要求,或没有终端确认参与该任务,则任务发布失败。任务发布方可考虑调整任务或奖励积分金额。
101.前文中,在区块链主链上,根据联邦学习任务匹配得到多个第一终端,具体可以是在区块链主链上,根据待训练的初始模型参数及任务发布方质押的积分数量,匹配得到多
个第一终端。
102.在一些实施例中,接收联邦学习任务之前,该方法还可以包括:
103.在基站边缘设置运营服务节点,运营服务节点用于为同一个基站覆盖范围内的终端注册上链。
104.本公开中在基站边缘设置运营服务节点(非共识全节点),同一个基站覆盖范围内的终端,向运营服务节点提交身份、位置、性能配置、可提供缓存内容摘要(数据摘要)等信息,通过运营服务节点注册上链。
105.本公开实施例中基于多级区块链及近域服务的联邦学习训练方案,通过设计多级区块链架构,在保障用户数据隐私的同时,可有效抵抗恶意节点攻击及d2d设备性能故障导致的学习性能下降。通过区块链智能合约,激励用户设备参与提供近域d2d网络覆盖,帮助传输本地模型中间训练结果,缓解通信资源压力,提升联邦学习效率。
106.图2示出了本公开实施例中模型训练的整体结构图,如图2所示,该模型训练方法基于区块链及近域服务进行联邦学习训练,通过d2d近域缓存帮助传输中间训练结果等数据,可以有效减少通信时延,缓解资源压力,提升训练效率。
107.区块链智能合约的引入,有效激励用户设备参与d2d近域服务,帮助高效缓存、传输本地模型中间训练结果。同时多级区块链设计可有效抵抗单点故障、传输失败故障、及拜占庭攻击。
108.图3示出了本公开实施例中模型训练方法的完整流程。如图3所示,这里以“终端”是用户设备为例,详细介绍了前文中的模型训练方法。
109.在基站边缘设置运营服务节点(非共识全节点),同一个基站覆盖范围内的用户设备ues,向运营服务节点提交身份、位置、性能配置、可提供缓存内容摘要(数据摘要)等信息,通过运营服务节点注册上链。
110.需求方向主链发布联邦学习任务,并质押积分(初始积分需高于阈值),用于奖励分配。根据任务需求,在链上匹配合适的用户设备ues,运营服务节点通知通过选择的用户设备ues,确认参与本次学习任务的ues组成区域子链,参与联邦学习模型训练。
111.如没有设备符合要求,或没有ues确认参与该任务,则任务发布失败。需求方可考虑调整任务或奖励积分金额。
112.各区域子链ue从邻居ues中,选举一个拥有最佳近域缓存能力(本地缓存热度cp、缓存命中率hr最高)和强大计算能力的终端,成为领导节点。
113.领导节点加入主链,并从距离最近的主链节点获取当前的全局模型参数,并广播给子链的用户设备ues。
114.用户设备ues利用本地数据训练模型,并通过d2d近域通信方式,响应其它ues请求,传输中间训练结果,并通过链上智能合约,向提供d2d近域通信服务的设备ue支付积分,作为激励。
115.用户设备ues向领导节点提交模型更新参数、训练时间等可公开信息。领导节点验证并更新区域模型,提交到主链。
116.主链执行pbft共识,进一步验证并更新全局模型,完成训练。
117.图4示出了本公开实施例提供的基于区块链的近域缓存方案,该方案用于激励用户设备共享网络资源,通过近域方式传输中间结果数据,提升联邦学习模型训练效率。
118.在基站边缘设置运营服务节点(非共识全节点),同一个基站覆盖范围内的用户设备ues,向运营服务节点提交身份、位置、性能配置(如cpu/gpu模型、存储、电池)、可提供缓存内容摘要(数据摘要)等信息,通过运营服务节点注册上链。
119.联邦学习任务发布方,发布联邦学习任务并说明训练需求,将初始全局模型参数打包交易到主链,并质押积分(初始积分需高于阈值),用于奖励分配。根据任务需求,在链上匹配合适的用户设备ues,运营服务节点通知通过选择的用户设备ues,ue进行确认。
120.确认参与该任务的ues按照d2d近域通信范围划分为多个通信小区。同一个小区内的ues组成区域链,ue可以与基站通过5g/6g蜂窝通信,也可以通过d2d近域方式与其它ues进行通信。
121.用户设备ues本地训练模型,借助d2d近域方式传输中间训练结果,并为提供近域服务的设备支付积分,通过激励更多ue提供近域d2d缓存能力,分享通信网络资源,可大大提升网络资源利用率,降低传输时延,提高模型训练效率。
122.图5示出了本公开实施例中基于多级区块链的联邦学习框架,结合近域网络资源共享,通过分布式训练,建立可靠的学习模型。
123.各个区域子链可以采用基于raft共识机制来存储、更新区域模型。
124.区域子链ue从邻居ues中,选举一个拥有最佳近域缓存能力(本地缓存热度cp、缓存命中率hr最高)和强大计算能力的终端,成为领导节点。
125.每个小区的领导节点要定期(t)向小区内所有其他ues发送心跳。若其他ues在t内没有收到领导的心跳,则会启动领袖选举。
126.所有ue都会成为候选者,向区域子链发送选取请求及信息数据,并参与投票。
127.赢得多数选票的ue成为新的领导节点,继续定期向所有ues发送心跳,维持统治。
128.此外,各区域子链领导节点组成主链。主链采用实用性拜占庭容错(pbft)共识机制,对区域子链提交的模型更新进行验证。由区域子链领导节点轮流担任主链的主节点。
129.该方案在保证数据安全隐私的同时,可有效抵抗拜占庭攻击、单点故障,从而保证了全局模型的准确性。
130.本公开实施例中基于区块链的近域缓存方案,激励用户设备参与提供近域网络覆盖,缓存、传递模型训练中间结果,提升联邦学习模型训练效率。
131.本公开实施例中手机用户可以在区域链上申请、注册成为用户设备节点,为其它用户设备共享资源,提供近域网络服务,根据d2d近域通信范围(设定通信距离阈值),将用户设备划分为不同的近域通信小区,并组成区域子链。同一个小区内的用户设备间互相提供近域服务,并因此获得奖励。通过激励更多用户分享网络资源,可有效应对5g时代资源短缺的挑战。在联邦学习中,提升模型训练效率。
132.本公开实施例中基于多级区块链的联邦学习框架,结合近域网络资源共享,通过分布式训练,建立可靠的学习模型,保障模型训练准确性。
133.本公开实施例允许用户间在不进行原始数据交换的情况下以联邦学习模式,参与分布式训练模型,并设计了用户设备本地学习模型、区域学习模型和全局模型的参数更新方法。
134.本公开提出了多级区块链架构来支撑上述联邦学习模式,具体由同一个近域通信小区内用户设备组成区域子链,各个区域子链均采用基于raft共识机制来存储、更新区域
模型。各区域选举高性能、高可信用户设备成为领导节点,各子链领导节点组成主链。主链采用实用性拜占庭容错(pbft)共识机制,对区域子链提交的模型更新进行验证。该方案在保证数据安全隐私的同时,可有效抵抗拜占庭攻击、单点故障,从而保证了全局模型的准确性。
135.本公开实施例提供的模型训练方法可应用于物联网、移动互联网等场景中的多方协作、联邦学习模型训练场景,通过区块链激励机制驱动用户设备共享通信、计算资源,构建近域网络覆盖,实现频率复用,有效提升模型训练效率,保障模型训练准确性。
136.本公开实施例提供的模型训练方法还可以应用于5g、6g通信系统容量提升,利用区块链智能合约、共识机制等,驱动建立大规模、低成本、安全、可扩展的近域网络基础设施,服务于5g物联网、工业互联网、移动互联网等场景。
137.基于同一发明构思,本公开实施例中还提供了一种模型训练装置,如下面的实施例所述。由于该模型训练装置实施例解决问题的原理与上述方法实施例相似,因此该模型训练装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。
138.图6示出本公开实施例中一种模型训练装置,如图6所示,该模型训练装置600包括:
139.任务接收模块602,用于接收联邦学习任务,联邦学习任务包括待训练的初始模型参数及任务发布方质押的积分数量;
140.终端匹配模块604,用于在区块链主链上,根据联邦学习任务匹配得到多个第一终端;
141.小区划分模块606,用于基于近域通信范围,将多个第一终端划分进不同的通信小区,同一个通信小区内的第一终端属于同一个区域子链;
142.小区训练模块608,用于在每个通信小区,训练初始模型对应的小区模型;
143.全局更新模块610,用于基于训练后的每个小区模型,更新初始模型,得到训练后的全局模型。
144.在一些实施例中,小区训练模块608,具体用于在每个通信小区,第一终端执行如下步骤:
145.基于第一终端的本地数据训练小区模型,得到训练后的小区模型参数;
146.将小区模型参数,发送至通信小区的多个第一终端中的领导节点。
147.在一些实施例中,在基于第一终端的本地数据训练小区模型的过程中,第一终端通过近域通信向其它第一终端传输中间训练结果,以及通过链上智能合约,向提供近域通信服务的第一终端支付积分。
148.在一些实施例中,通信小区的第一终端对应区域子链中的终端节点。该模型训练装置600,还可以包括:
149.领袖选举模块,用于在区域子链的多个终端节点中,选举得到领导节点;领导节点加入区块链主链,用于从距离最近的主链节点获取待训练的初始模型参数,并广播给区域子链的多个第一终端。
150.在一些实施例中,在区域子链的多个终端节点中,选举得到领导节点,包括:
151.根据终端节点对应的第一终端的近域缓存能力和计算能力,选举得到领导节点。
152.在一些实施例中,将小区模型参数,发送至通信小区的多个第一终端中的领导节
点之后,还可以包括:
153.领导节点基于小区模型参数,验证并更新小区模型;
154.领导节点将更新后的小区模型,发送至区块链主链。
155.在一些实施例中,该模型训练装置600,还可以包括:
156.主节点选举模块,用于通过pbft共识机制,在多个领导节点中选择得到主链层主节点;主链层主节点用于基于更新后的小区模型,验证并更新全局模型。
157.在一些实施例中,该模型训练装置600,还可以包括:
158.目标终端确定模块,用于在多个第一终端中,确定多个目标终端,目标终端为多个第一终端中确认参与联邦学习任务的终端;
159.相应地,小区划分模块606,用于基于近域通信范围,将多个目标终端划分进不同的通信小区。
160.在一些实施例中,终端匹配模块604,具体用于在区块链主链上,根据待训练的初始模型参数及任务发布方质押的积分数量,匹配得到多个第一终端。
161.在一些实施例中,该模型训练装置600,还可以包括:
162.服务节点设置模块,用于在基站边缘设置运营服务节点,运营服务节点用于为同一个基站覆盖范围内的终端注册上链。
163.本技术实施例提供的模型训练装置,可以用于执行上述各方法实施例提供的模型训练方法,其实现原理和技术效果类似,为简介起见,在此不再赘述。
164.所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
165.下面参照图7来描述根据本公开的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
166.如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
167.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元710可以执行如下步骤:
168.接收联邦学习任务,联邦学习任务包括待训练的初始模型参数及任务发布方质押的积分数量;
169.在区块链主链上,根据联邦学习任务匹配得到多个第一终端;
170.基于近域通信范围,将多个第一终端划分进不同的通信小区,同一个通信小区内的第一终端属于同一个区域子链;
171.在每个通信小区,训练初始模型对应的小区模型;
172.基于训练后的每个小区模型,更新初始模型,得到训练后的全局模型。
173.存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(rom)7203。
174.存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
175.总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
176.电子设备700也可以与一个或多个外部设备740(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
177.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
178.在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。其上存储有能够实现本公开上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
179.本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
180.在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
181.可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
182.在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公
开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
183.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
184.此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
185.通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
186.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1