一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的联邦学习激励方法、装置、设备和介质与流程

2022-06-05 05:08:28 来源:中国专利 TAG:


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.所述若融合后的全局机器学习模型满足预设条件,则通过区块链向参与联邦学习的各个从节点发送相应的激励信息,包括:
26.若融合后的全局机器学习模型满足预设条件,则通过所述多个区块链分片各自对应的多个区块,分别向参与联邦学习的各个从节点发送相应的激励信息。
27.在一种可能的实施方式中,所述分别向所述多个从节点发送当前一轮联邦学习的模型训练指示,包括:
28.分别向所述多个从节点发送当前一轮联邦学习所需要的数据集的数据类型、训练设备、机器学习方法。
29.第二方面,本技术实施例提供一种基于区块链的联邦学习激励装置,包括:
30.指示发送模块,用于主节点与多个从节点之间进行多轮联邦学习过程中,每开启一轮联邦学习,分别向所述多个从节点发送当前一轮联邦学习的模型训练指示,以使所述多个从节点中的多个候选从节点根据所述模型训练指示,向所述主节点提交各自的目标模型精度和模型训练消耗信息;
31.选择模块,用于基于所述多个候选从节点各自的目标模型精度和模型训练消耗信息,从所述多个候选从节点中选择当前一轮联邦学习的多个参与从节点;
32.模型发送模块,用于分别向所述多个参与从节点发送前一轮联邦学习获得的全局机器学习模型,以使所述多个参与从节点采用各自的数据集对所述全局机器学习模型进行迭代训练,获得各自的本地机器学习模型;
33.融合模块,用于获取所述多个参与从节点各自提交的本地机器学习模型,并将获得的多个本地机器学习模型进行融合;
34.激励模块,用于若融合后的全局机器学习模型满足预设条件,则通过区块链向参
与联邦学习的各个从节点发送相应的激励信息。
35.在一种可能的实施方式中,所述选择模块还用于:
36.将所述多个候选从节点各自的目标模型精度和模型训练消耗信息,输入已训练的深度强化学习模型,输出所述多个候选从节点各自对应的参与概率;
37.将参与概率大于预设阈值的候选从节点作为参与从节点,获得多个参与从节点。
38.在一种可能的实施方式中,所述激励模块还用于:
39.若融合后的全局机器学习模型达到收敛目标或者已达到最大迭代次数,则确定参与联邦学习的各个从节点中的每个从节点,参与多轮联邦学习获得的激励信息;
40.通过区块链分别向所述各个从节点发送相应的激励信息。
41.在一种可能的实施方式中,所述确定参与联邦学习的各个从节点中的每个从节点,参与多轮联邦学习获得的激励信息时,所述激励模块还用于:
42.针对所述各个从节点中的每个从节点,分别执行以下操作:
43.确定每个从节点参与的多轮联邦学习中,每一轮联邦学习的模型训练消耗信息和模型质量;
44.根据每一轮联邦学习的模型训练消耗信息和模型质量,确定每一轮联邦学习的激励信息;
45.根据每个从节点参与的多轮联邦学习中,每一轮联邦学习的激励信息,获得每个从节点参与多轮联邦学习获得的激励信息。
46.在一种可能的实施方式中,所述区块链包括多个区块链分片,每个区块链分片包括同一区域的多个从节点各自的区块;
47.所述激励模块还用于:
48.若融合后的全局机器学习模型满足预设条件,则通过所述多个区块链分片各自对应的多个区块,分别向参与联邦学习的各个从节点发送相应的激励信息。
49.在一种可能的实施方式中,所述指示发送模块还用于:
50.分别向所述多个从节点发送当前一轮联邦学习所需要的数据集的数据类型、训练设备、机器学习方法。
51.第三方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面任一种基于区块链的联邦学习激励方法的步骤。
52.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面任一种基于区块链的联邦学习激励方法的步骤。
53.第五方面,本技术实施例提供一种计算机程序产品,其包括计算机指令,所述计算机指令存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机指令时,所述处理器执行该计算机指令,使得所述电子设备执行第一方面任一种基于区块链的联邦学习激励方法的步骤。
54.本技术实施例提供的基于区块链的联邦学习激励方法至少具有如下有益效果:
55.根据本技术实施例提供的方案,通过联邦学习,使从节点(可以理解为用户)共享的是使用自己的本地数据进行训练后的机器学习模型,而不再是原始数据,从而使用户的
数据安全得到了保证。并且,在每一轮联邦学习中,选择最优化的参与用户进行联邦学习,提升训练的机器学习模型的质量。最后,在用户成功参与联邦学习后,通过区块链向用户发送相应的激励信息,以激励用户参与数据共享,并且提高激励过程中的数据安全性。
56.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
57.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1为本技术实施例提供的一种基于区块链的联邦学习激励方法的流程图;
59.图2为本技术实施例提供的另一种基于区块链的联邦学习激励方法的流程图;
60.图3为本技术实施例提供的另一种基于区块链的联邦学习激励方法的流程图;
61.图4为本技术实施例提供的一种深度强化学习模型的训练示意图;
62.图5为本技术实施例提供的一种区块链分片的示意图;
63.图6为本技术实施例提供的一种基于区块链的联邦学习激励方法的流程图;
64.图7为本技术实施例提供的一种基于区块链的联邦学习激励装置的示意图;
65.图8为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
66.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
67.下面对本技术实施例涉及的部分名词进行解释。
68.联邦学习:又名联邦机器学习、联合学习、联盟学习。联邦学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。旨在让分散的各参与方在满足不向其他参与者披露隐私数据的前提下,协作进行机器学习的模型训练。具体地,每个拥有数据的终端设备利用自己的数据训练局部模型,在训练过程中不同的设备之间相互通信,所有局部模型借助通信整合到一起形成一个全局机器学习模型,该全局机器学习模型仿佛是收集了所有数据之后训练得到的模型。
69.需要说明的是,本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
70.此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例
如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
71.下面对本技术实施例的设计思想进行介绍。
72.如前文所述,目前,大数据应用通常需要通过机器学习模型实现相应的功能,而机器学习模型需要通过大量用户数据训练获得。然而,大多数用户往往不愿意共享自己所持有的数据,一方面是因为共享数据需要消耗用户自身的计算资源以及占用通信带宽等;另一方面是因为共享数据(如位置信息等)可能会存在数据泄露的风险。因此,如何在保护用户数据的前提下,激励用户参与数据共享仍然是一个挑战。
73.为了解决用户数据共享参与意愿低的问题,可以过激励机制来激励用户参与数据共享,激励机制可以通过博弈论与拍卖算法来实现。博弈论与拍卖算法作为经济学的一个分支,天然适用于无线网络中的数据共享与资源交易系统。
74.但是,目前的激励机制方案还存在一些问题。首先,这些方案大多数都是由一个中心化服务器向用户发起数据共享。然而,中心化系统存在例如单点故障、可扩展性低等问题。当该中心化节点受到外部攻击时会引起整个系统的失效,且中心化节点的可扩展性较低导致更容易到达性能瓶颈。其次,这些方案并没有考虑用户的隐私泄露问题。用户在数据共享的过程中,需要使用自己的设备收集并共享数据,然后与中心化服务器进行交易以获得相应的任务报酬。而这些数据与交易记录通常与用户的个人信息联系密切,恶意用户可以通过入侵中心化服务器直接获得其他用户的隐私数据,造成隐私泄露。因此,在设计激励机制时,还需要将数据安全以及隐私保护等问题考虑进去。
75.出于对数据存储安全问题以及隐私保护的考虑,区块链作为一种可以解决信任问题并提供安全的数据存储的前沿技术被引入到物联网的数据共享中。区块链中的每一个区块都包含了前一个区块的哈希值,时间戳以及交易记录等。区块之间前后连接的特性,使得记录到区块链中的交易难以被篡改。区块链的本质实际上是一个开放的分布式账本,可以校验并永久存储双方之间的交易记录。区块链中的所有用户通过地址来进行交易,从而隐藏了用户的身份信息,因此保护了用户的隐私。此外,智能合约的提出与实现使得区块链中的用户可以通过已部署的合约进行自动化的交互,而无需事先了解并获取信任。相较于中心化的方案,区块链的出现使无线网络中的数据共享可以进行分布式的存储,并节省了设备的管理成本,解决了中心化服务器的性能瓶颈问题,智能合约则可以在交易双方无信任关系的前提下搭建自动化的交互平台。因此,区块链与智能合约共同为无线网络中的数据共享提供了去中心化以及隐私保护的解决方案。虽然区块链可以为无线网络中的数据共享提供安全保障,但是用户所共享的未经处理的本地数据仍有非常大的隐私泄露风险。
76.近年来,联邦学习的出现为无线网络中的数据共享提供了新的解决方案。在以联邦学习为基础的解决方案中,用户共享的是使用自己的本地数据进行训练后的机器学习模型,而不再是原始数据,从而使用户的隐私安全得到了保证。出于对用户隐私的考量,设计合适的模型共享激励机制对以隐私保护为目的的物联网数据共享来说,是一个有前景的解决方案。
77.综上所述,本技术实施例提供一种基于区块链的联邦学习激励方法、装置、设备和介质,通过联邦学习,使用户共享的是使用自己的本地数据进行训练后的机器学习模型,而
不再是原始数据,从而使用户的数据安全得到了保证。并且,在每一轮联邦学习中,选择最优化的参与用户进行联邦学习,提升训练的机器学习模型的质量。最后,在用户成功参与联邦学习后,通过区块链向用户发送相应的激励信息,以激励用户参与数据共享,并且提高激励过程中的数据安全性。
78.下面结合附图以及具体实施方式对本技术实施例的基于区块链的联邦学习激励方法进行介绍。
79.参考图1,本技术实施例提供了一种基于区块链的联邦学习激励方法,可应用于主节点,该基于区块链的联邦学习激励方法可以包括以下步骤:
80.s101,主节点与多个从节点之间进行多轮联邦学习过程中,每开启一轮联邦学习,执行以下s102-s106。
81.其中,主节点可以是数据共享发起方的设备,例如终端设备或者服务器等,从节点可以是参与联邦学习的用户设备,例如可以是终端设备或者服务器。终端设备包括但不限于桌面计算机、手机、电脑、智能家电、智能语音交互设备、车载终端等电子设备。服务器可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是云服务器,在此不作限定。
82.s102,分别向多个从节点发送当前一轮联邦学习的模型训练指示,以使多个从节点中的多个候选从节点根据模型训练指示,向主节点提交各自的目标模型精度和模型训练消耗信息。
83.其中,模型训练指示可以根据需要进行训练的机器学习模型确定,可以包括训练所需要的数据集的数据类型、训练设备、机器学习方法等,具体可以根据实际需求设置。其中,数据集为从节点自身产生的用户数据,训练设备即参与联邦学习的用户设备,用于使用本地的数据集基于机器学习方法对机器学习模型进行训练。
84.多个从节点接收到主节点发送给模型训练指示后,可以选择参与或者不参与本轮联邦学习,选择参与的多个候选从节点根据模型训练指示,向主节点提交各自的目标模型精度和模型训练消耗信息。
85.可选地,在s102中,主节点可以分别向多个从节点发送当前一轮联邦学习所需要的数据集的数据类型、训练设备、机器学习方法。
86.进一步地,多个从节点在接收到主节点发送的模型训练指示后,可以确定各自的目标模型精度和模型训练消耗信息,并将各自的目标模型精度和模型训练消耗信息发送给运营设备。
87.s103,基于多个候选从节点各自的目标模型精度和模型训练消耗信息,从多个候选从节点中选择当前一轮联邦学习的多个参与从节点。
88.该步骤中,目标模型精度可以决定候选从节点训练获得的本地机器学习模型的质量,可以兼顾本地机器学习模型的质量和模型训练消耗信息,选择最优化的多个参与从节点,使得获得的各个本地机器学习模型的总质量较高,且总模型训练消耗较低。
89.可选地,可以采用深度强化学习算法,从多个从节点中选择当前一轮联邦学习的多个候选从节点。具体地,深度强化学习算法可以采用参数化后的神经网络。本技术下面实施例中将对深度强化学习算法的训练过程进行介绍。
90.s104,分别向多个参与从节点发送前一轮联邦学习获得的全局机器学习模型,以
使多个参与从节点采用各自的数据集对全局机器学习模型进行迭代训练,获得各自的本地机器学习模型。
91.其中,运营设备在发送全局机器学习模型时,还可以将超参数(如学习率等内容)发送给多个候选从节点。
92.s105,获取多个参与从节点各自提交的本地机器学习模型,并将获得的多个本地机器学习模型进行融合。
93.其中,运营设备可以采用联邦学习中的fedavg算法将多个本地机器学习模型进行融合。fedavg算法的思想很直观为,将训练过程分为多个回合,每个回合中选择ck(0≤c≤1)个局部模型(可以理解为本技术实施例的本地机器学习模型)对数据进行学习。第k个局部模型在一个回合中的epoch数量为e,batch大小为b,从而迭代次数为enk/b。在一个回合结束之后,对所有参与学习的局部模型的参数进行加权平均得到全局模型(可以理解为本技术实施例的全局机器学习模型)。
94.同时,运营设备还可以验证每个参与用户设备提交的本地机器学习模型是否达到其提交的目标模型精度,如果没有达到,则该用户设备的模型训练任务失败,未成功参与本轮联邦学习。
95.s106,若融合后的全局机器学习模型满足预设条件,则通过区块链向参与联邦学习的各个从节点发送相应的激励信息。
96.其中,预设条件可以是达到收敛目标或者已达到最大迭代次数。参与联邦学习的各个从节点中的每个从节点,可以是在多轮联邦学习过程中成功参与联邦学习的从节点,成功参与联邦学习可以是成功参与一轮或多轮联邦学习。
97.针对参与联邦学习每个从节点,可以确定其成功参与的每一轮联邦学习的激励信息,该激励信息可以根据每一轮联邦学习的模型训练消耗信息和模型质量确定,其中,模型质量可以根据该从节点训练获得的本地机器学习模型的实际精度确定;然后将该从节点成功参与的多轮联邦学习的激励信息求和,获得总的激励信息。
98.在一些实施例中,如图2所示,上述s106若融合后的全局机器学习模型满足预设条件,则通过区块链向参与联邦学习的各个从节点发送相应的激励信息,可以包括以下步骤:
99.s1061,若融合后的全局机器学习模型达到收敛目标或者已达到最大迭代次数,则确定参与联邦学习的各个从节点中的每个从节点,参与多轮联邦学习获得的激励信息。
100.在一种可能的实施方式中,s1061中在确定各个从节点中的每个从节点,参与多轮联邦学习获得的激励信息时,可以包括以下步骤:
101.a1、确定每个从节点参与的多轮联邦学习中,每一轮联邦学习的模型训练消耗信息和模型质量。
102.具体地,每一轮联邦学习的模型训练消耗信息可以是从节点的用户设备的电量消耗等,模型质量可以根据从节点训练得到的本地机器学习模型的实际精度确定。在每个从节点成功参与一轮联邦学习后,可以记录本轮联邦学习的模型训练消耗信息和得到的本地机器学习模型的模型质量。
103.a2、根据每一轮联邦学习的模型训练消耗信息和模型质量,确定每一轮联邦学习的激励信息。
104.本技术实施例中,在完成整个联邦学习过程之后,主节点可以根据每一轮联邦学
习过程中,参与本轮联邦学习的多个参与从节点各自训练得到的本地机器学习模型的模型质量,确定本轮联邦学习的收益,然后结合多个参与从节点各自的模型训练消耗信息,确定多个参与从节点各自的激励信息。
105.a3、根据每个从节点参与的多轮联邦学习中,每一轮联邦学习的激励信息,获得每个从节点参与多轮联邦学习获得的激励信息。
106.由上述a2,可以确定成功参与联邦学习的每个从节点,参与的每一轮联邦学习的激励信息,将多轮联邦学习分别获得的激励信息求和,可以得到每个从节点参与多轮联邦学习获得的激励信息。
107.s1062,通过区块链分别向各个从节点发送相应的激励信息。
108.其中,激励信息可以是主节点支付给从节点的报酬。具体地,主节点可以向各个从节点在区块链中的区块发送相应的激励信息,各个从节点可以从各自的区块中获取相应的激励信息,以完成激励信息的交易。
109.本技术实施例中,通过联邦学习,使从节点(可以理解为用户)共享的是使用自己的本地数据进行训练后的机器学习模型,而不再是原始数据,从而使用户的数据安全得到了保证。并且,在每一轮联邦学习中,选择最优化的参与用户进行联邦学习,提升训练的机器学习模型的质量。最后,在用户成功参与联邦学习后,通过区块链向用户发送相应的激励信息,以激励用户参与数据共享,并且提高激励过程中的数据安全性。
110.在一些实施例中,如图3所示,上述s103基于多个候选从节点各自的目标模型精度和模型训练消耗信息,从多个候选从节点中选择当前一轮联邦学习的多个参与从节点,可以包括以下步骤:
111.s1031,将多个候选从节点各自的目标模型精度和模型训练消耗信息,输入已训练的深度强化学习模型,输出多个候选从节点各自对应的参与概率。
112.在本技术实施例中,深度强化学习模型可以采用神经网络(例如critic网络),使用神经网络来参数化智能体的策略与状态价值函数。智能体是人工智能领域中一个很重要的概念,任何独立的能够思考并可以同环境交互的实体都可以抽象为智能体。
113.s1032,将参与概率大于预设阈值的候选从节点作为参与从节点,获得多个参与从节点。
114.下面以主节点为运营设备,从节点为用户设备为例,对运营设备和多个用户设备之间的一轮联邦学习过程进行示例性介绍。
115.一次完整的联邦学习包括多轮联邦学习,即需要多轮次的迭代,定义第t轮迭代共有n个用户设备参与,并且每个用户设备i∈n都有一个大小为di的本地数据样本可用于本地机器学习模型的训练。为了使建模过程更加简洁,本技术中假设同一个用户设备所收集的数据样本大小是相同的。
116.假设用户设备i在第t轮本地模型训练过程中,计算一个数据样本的cpu周期为ci,用户设备可以计算得到ci的具体数值。定义fi为用户设备的cpu周期频率,ζi是用户设备i的有效电容参数,因此,对于用户设备来说,执行一次本地机器学习迭代所需要的能源消耗可以通过式(1)计算:
117.118.另外,根据上述已有的参数,可以通过式(2)计算得出用户设备i执行一次本地迭代所需要的计算时间
[0119][0120]
在一轮本地迭代过程中,用户设备的本地迭代次数会受到自身的本地数据质量的影响,并影响最终的本地机器学习模型精度。本技术实施例将用户设备i在第t轮本地迭代中,所得到的模型精度设为显然,当用户设备i的本地数据集质量更高时,所得到的模型精度也会更高,从而降低所需要的迭代次数。
[0121]
当最终所获得的全局机器学习模型精度是一个定值时,可以将用户设备i在第t轮迭代中进行一次本地机器学习所需要的迭代次数定义为迭代中进行一次本地机器学习所需要的迭代次数定义为此外,由于网络中的下行带宽通常比上行带宽大很多,所以可以忽略用户设备从平台下载全局机器学习模型的时间,只考虑模型的训练时间以及模型参数的上传时间。
[0122]
并且,可以认为用户设备在请求加入联邦学习的一次迭代过程中,位置是不变的。因此,可以得出第t轮迭代过程中,用户设备i的传输速率:其中和分别为第t轮迭代中的传输带宽和信道噪声,为传输功率,为点对点连接中的信道增益。
[0123]
另外,考虑在一次全局迭代过程中,由于训练模型的超参数如神经网络、激活函数等都是由平台进行设定的,即可以认为用户设备上传的数据大小即模型参数是恒定的,设为σ。因此,用户设备i将本地机器学习模型更新上传至平台所需要的传输时间可以通过式(3)进行计算:
[0124][0125]
因此,可以得到用户设备i在第t轮迭代中,上传模型所需要消耗的电量可以通过式(4)进行计算:
[0126][0127]
可以得到用户设备i在第t轮迭代中,进行本地机器学习模型更新所需要的总计算时间t
t,i
,可以通过式(5)进行计算:
[0128][0129]
可以得到用户设备i在第t轮迭代中,进行本地机器学习模型更新所需要的总电量消耗e
t,i
,可以通过式(6)进行计算:
[0130][0131]
由于在本技术设计的激励机制中,用户设备仅在成功参与迭代时可获得报酬,其
余时刻为0,因此,用户设备的收益可以通过式(7)进行计算:
[0132][0133]
其中,为运营设备支付给用户设备i的报酬。
[0134]
接下来基于上述公式定义联邦学习运营设备的收益,该收益与用户设备的数据质量以及本地迭代时间有关。首先,将用户设备i的数据质量定义为其中是由本地机器学习模型精度所影响的本地机器学习模型迭代次数的相关系数。当越大代表用户设备i的样本质量越好,本地机器学习模型精度越高。此外,在一次迭代中,联邦学习运营设备还会将本次迭代的最长等待时间发送给用户设备,一旦用户设备超过还没有提交本地机器学习模型,则运营设备会标记该用户设备任务失败,并不再支付报酬。
[0135]
结合上述条件,本技术实施例中的用户设备i的模型质量可以通过式(8)进行计算:
[0136][0137]
其中为运营设备对用户设备i的本地训练时间的满意度,用户设备i的本地训练时间越短,运营设备对其满意度越高。然后,运营设备的收益可以通过式(9)进行计算:
[0138][0139]
r(
·
)为运营设备的价值函数,运营设备的收益即为用户设备的模型带来的价值减去运营设备支付给用户设备的报酬总和。其中,r(
·
)具有以下特性:r(0)=0,r

(
·
)>0,r

(
·
)<0,即边际价值递减。
[0140]
在激励机制中,所需要优化的目标通常为最大化总收益,即运营设备收益与用户设备收益的总和可以通过式(10)进行计算:
[0141][0142]
其中,total为一次完整联邦学习过程中所需要的全局迭代总次数(即联邦学习的轮次)。用户设备i的报酬可以通过式(11)进行计算:
[0143][0144]
其中,wi表示用户设备i参与第i轮迭代,w-i
表示用户设备i不参与第i轮迭代,从全局(即一次完整联邦学习过程)来计算用户设备i在每一轮联邦学习的报酬。
[0145]
下面介绍一下基于深度强化学习算法的动态激励机制。
[0146]
强化学习(reinforcement learning,rl),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习的常见模型是标准的马尔可夫决策过程(markov decision process,mdp)。
[0147]
因此,本技术的动态激励机制满足马尔可夫性,即每一轮迭代中的用户设备选择只与之前轮次有关,而与之后的轮次无关。因此,可以将每一轮次的迭代建模成马尔可夫决策过程,即构建状态空间,动作空间以及相应的奖励函数。
[0148]
状态空间:结合本技术实施例所提出的动态激励机制,在每一轮的联邦学习迭代中,智能体从环境所观察到的状态由用户设备的模型质量以及用户设备的模型训练成本组成。定义任意一个epoch的状态为:
[0149]
其中为第t个epoch中用户设备i的模型质量,为第t个epoch中用户设备i所提交的模型训练成本,为前t-1个epoch中所选择参与迭代的用户设备总模型质量,为前t-1个epoch中所选择参与迭代的用户设备总训练成本。
[0150]
动作空间:基于从环境中观察得到的状态s
t
,智能体根据学习到的策略做出相应的动作。结合本技术实施例,在第t个epoch中,需要根据当前的状态s
t
中的用户设备模型质量与训练成本选择参与到当前迭代的用户设备,因此将第t个epoch的动作a
t
定义为:
[0151]
其中,为决定是否将第t个epoch中第i个用户设备加入到当前轮次的迭代中。由于神经网络输出的都是连续值,因此定义为不将用户设备i加入到当前轮次的迭代中,当为决定将用户设备i加入到当前轮次的迭代中。
[0152]
奖励函数:由于本技术所定义的总收益计算公式无法拆分成累加的形式,并且需要到最后一个epoch才可以将所有参与模型共享的用户设备集合确定下来,此时才能进行总收益的计算。基于这样的问题,假设一个episode(一次完整的联邦学习)一共有total个epoch,每个epoch为一轮联邦学习迭代,每一轮都需要选择可最大化总收益的用户设备参与。
[0153]
因此,本技术将奖励函数r
t
可以通过式(12)计算:
[0154][0155]
本技术中所使用的深度强化学习算法总体训练流程如图4所示。从图4中可知,本技术实施例所使用的actor-critic框架的critic网络近似的是状态价值函数c ritic是一个神经网络,以状态s为输入,以期望的reward为输出。
[0156]
状态价值函数用来评价当智能体处于状态s时,使用策略π可以得到的长期奖励,通过长期奖励来帮助智能体改进策略。当任意一个策略π有具体的状态价值函数时,就可以通过策略梯度方法来改进该策略。策略梯度方法的核心思想是增加获得高收益动作的概
率,降低获得低收益动作的概率,直到获得最优的策略。
[0157]
在本技术实施例中,可以使用神经网络(critic网络)来参数化智能体的策略与状态价值函数。在对神经网络进行更新时,使用经验回放池中所采样的数据更新网络参数。具体地,使用优势函数的估计方法(generalized advantage estimator,gae)以及状态价值函数v(s)来计算去除方差的优势函数估计器a(s,a)。
[0158]
综上所述,基于actor-critic框架与随机梯度上升的深度强化学习算法的策略网络与价值函数更新方式可以包括式(13)-式(18):
[0159][0160][0161][0162][0163][0164][0165]
其中,为求期望的符号,θ指神经网络的参数,e表示第e个episode,θ
e 1
表示可以最大化期望的下一轮的神经网络参数;k表示第e个episode的第k个epoch,表示策略的更新差距;表示每一个步骤所选择的状态所获得的奖励与折扣奖励之间的平方差,用来判断两者的差距;υe和c分别是深度强化学习算法中的概率比例和状态价值函数的损失系数;是从第k个epoch直至到达整个episode结束时的折扣奖励;θe′
为用于采样的策略的参数;k表示第e个episode中当前一共迭代了k个epoch;g(∈,a)表示一个定义函数,∈是设定系数,表示旧策略与新策略之间的差距,更新的策略不能与旧策略相差太大。
[0166]
接下来介绍算法的整体流程。首先,对策略网络参数θ、价值网络参数φ、价值函数的折扣因子γ、价值函数的损失系数c以及当前状态s0进行初始化。然后在第k个epoch中,将当前的状态sk输入到策略网络中获得相应的动作ak,根据奖励函数计算公式计算第k个epoch智能体获得的奖励rk并得到下一个状态s
k 1
。再将(sk,ak,rk,s
k 1
)放入经验回放池中,并将用于采样的策略网络的参数设为θ。最后当已采集一定数量的样本后,从经验回放池中进行采样并根据上述式(14)和式(15)计算与并对策略网络与价值网络进行梯度更新,并在更新结束后清空经验回放池,最后进入下一个epoch。算法伪代码如下:
[0167]
1、初始化策略网络与价值网络参数即θ与折扣因子γ,损失系数c,当前状态s0。
[0168]
2、循环训练e个episode,对于每一次循环e,执行以下操作:
[0169]
循环训练k个epoch,对于每一次循环k,执行以下操作:
[0170]
将状态sk输入到策略网络π
θ
并获得相应的动作ak;
[0171]
根据奖励函数计算第k个epoch智能体获得的奖励rk;
[0172]
与环境交互获得下一个状态s
k 1

[0173]
将(sk,ak,rk,s
k 1
)放入经验回放池中;
[0174]
将用于采样的策略网络的参数设为θ;
[0175]
当经验回放池中的样本数量已经满足一次批处理即b个以后,执行以下操作:
[0176]
共循环训练m次,对于每一次循环,执行以下操作:
[0177]
从经验回放池中进行采样并根据上述式(14)和式(15)计算与
[0178]
根据梯度方法更新两个网络的参数即θ与
[0179]
循环结束后清空经验回放池。
[0180]
在一些实施例中,考虑到区块链中的从节点的数量以及主机点与从节点之间的激励信息的交易数量不断增多,本技术实施例引入区块链的分片技术来加速交易的验证与上链过程。
[0181]
示例性的,如图5所示,按照地区将交易分成多个区域来并发进行,即多链并行的全局状态,依次提高交易的吞吐量。在每一个区域中,设置单独的区块验证者(即矿工),此外可以设立一条单独的区块链来维护整个网络的操作。当不同的分片中需要跨分片交易时,涉及这些跨分片的多个片区中会共同产生区块,并且所属的矿工会协同验证这些交易。
[0182]
因此,本技术实施例的区块链包括多个区块链分片,每个区块链分片包括同一区域的多个从节点各自的区块;上述s106中通过区块链向多个从节点发送相应的激励信息时,可以通过多个区块链分片各自对应的多个区块,分别向参与联邦学习的各个从节点发送相应的激励信息。
[0183]
本技术实施例相对于已有的数据共享方案,具有隐私保护与交易溯源的优点。基于联邦学习技术可以使用户设备不上传原始数据而实现数据共享,从根源上杜绝了隐私泄露的可能性,达到了保护用户隐私的效果。基于区块链进行激励信息的交易,具有去中心化、可溯源的特性,实现了可信交易;进一步地,基于区块链分片技术可以大幅度提高交易吞吐量,并且链上交易不可篡改、可溯源,有利于提高系统的可信度。基于深度强化学习算法的动态激励机制,从实际场景出发,最优化参与每一轮联邦学习的用户设备,有利于将来的应用落地。
[0184]
图6示出了本技术实施例的一种基于区块链的联邦学习激励方法的具体实施过程。
[0185]
如图6所示,在本技术所提出的动态激励机制中,使用了联邦学习技术来进行全局机器学习模型更新,运营设备最终需要获得的是一个融合多个用户设备本地机器学习模型的全局机器学习模型。在联邦学习中,运营设备与用户设备之间有多轮全局迭代过程。运营设备在开启新一轮联邦学习后,联邦学习迭代流程如下:
[0186]
s1,运营设备开启新一轮联邦学习。
[0187]
s2,运营设备向用户设备发布本轮联邦学习的模型训练指示。
[0188]
其中,模型训练指示可以包括数据集的数据类型、训练设备、机器学习方法等具体要求。
[0189]
s3,参与联邦学习的多个用户设备分别向运营设备提交目标模型精度及其模型训练消耗信息。
[0190]
其中,模型训练消耗信息可以是用户设备的消耗电量等。
[0191]
s4,运营设备通过参数化后的神经网络,根据多个用户设备各自的目标模型精度及其模型训练成本,从多个用户设备中选择本轮联邦学习的多个参与用户设备。
[0192]
s5,运营设备将上一轮联邦学习获得的全局机器学习模型分别发送给多个参与用户设备。
[0193]
其中,运营设备在发送全局机器学习模型时,还可以将超参数(如学习率等内容)发送给多个参与用户设备。
[0194]
s6,多个参与用户设备分别通过各自的数据集对全局机器学习模型进行迭代训练,获得各自的本地机器学习模型。
[0195]
s7,多个参与用户设备分别将各自的本地机器学习模型发送给运营设备。
[0196]
s8,运营设备将多个参与用户设备各自的本地机器学习模型进行融合,获得融合后的全局机器学习模型。
[0197]
其中,可以使用联邦学习方法中的fedavg算法将多个本地机器学习模型进行融合。同时,运营设备还可以验证每个参与用户设备提交的本地机器学习模型是否达到其提交的目标模型精度,如果没有达到,则该用户设备的模型训练任务失败。
[0198]
s9,判断融合后的全局机器学习模型是否达到收敛目标或达到最大迭代次数;若是,则执行s10;若否,则返回s1;
[0199]
s10,运营设备通过区块链向多个参与用户设备支付相应的报酬。
[0200]
本技术实施例至少具有以下有益效果:
[0201]
1)结合区块链分片技术与联邦学习技术,为大数据开发提供了一种隐私保护的数据共享方式,并且区块链分片技术提高了整个系统的交易吞吐量,以及其去中心化的特性提高了系统的可用性。
[0202]
2)在多轮联邦学习的每一轮联邦学习过程中,从多个用户设备中选择一部分用户设备参与本轮联邦学习,使得网络中的用户设备随时离开与加入联邦学习,并且以一定的报酬激励用户设备参与到数据共享中,即采用动态的激励机制。
[0203]
3)使用深度强化学习算法从多个用户设备中选择一部分用户设备参与每一轮联邦学习,从而最优化参与每一轮联邦学习的用户设备。
[0204]
基于相同的发明构思,本技术实施例还提供了一种基于区块链的联邦学习激励装置,该装置解决问题的原理与上述实施例的方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
[0205]
参阅图7所示,本技术实施例提供一种基于区块链的联邦学习激励装置,包括指示发送模块71、选择模块72、模型发送模块73、融合模块74、激励模块75。
[0206]
指示发送模块71,用于主节点与多个从节点之间进行多轮联邦学习过程中,每开启一轮联邦学习,分别向多个从节点发送当前一轮联邦学习的模型训练指示,以使多个从节点中的多个候选从节点根据模型训练指示,向主节点提交各自的目标模型精度和模型训练消耗信息;
[0207]
选择模块72,用于基于多个候选从节点各自的目标模型精度和模型训练消耗信
息,从多个候选从节点中选择当前一轮联邦学习的多个参与从节点;
[0208]
模型发送模块73,用于分别向多个参与从节点发送前一轮联邦学习获得的全局机器学习模型,以使多个参与从节点采用各自的数据集对全局机器学习模型进行迭代训练,获得各自的本地机器学习模型;
[0209]
融合模块74,用于获取多个参与从节点各自提交的本地机器学习模型,并将获得的多个本地机器学习模型进行融合;
[0210]
激励模块75,用于若融合后的全局机器学习模型满足预设条件,则通过区块链向参与联邦学习的各个从节点发送相应的激励信息。
[0211]
在一种可能的实施方式中,选择模块72还用于:
[0212]
将多个候选从节点各自的目标模型精度和模型训练消耗信息,输入已训练的深度强化学习模型,输出多个候选从节点各自对应的参与概率;
[0213]
将参与概率大于预设阈值的候选从节点作为参与从节点,获得多个参与从节点。
[0214]
在一种可能的实施方式中,激励模块75还用于:
[0215]
若融合后的全局机器学习模型达到收敛目标或者已达到最大迭代次数,则确定参与联邦学习的各个从节点中的每个从节点,参与多轮联邦学习获得的激励信息;
[0216]
通过区块链分别向各个从节点发送相应的激励信息。
[0217]
在一种可能的实施方式中,确定参与联邦学习的各个从节点中的每个从节点,参与多轮联邦学习获得的激励信息时,激励模块75还用于:
[0218]
针对各个从节点中的每个从节点,分别执行以下操作:
[0219]
确定每个从节点参与的多轮联邦学习中,每一轮联邦学习的模型训练消耗信息和模型质量;
[0220]
根据每一轮联邦学习的模型训练消耗信息和模型质量,确定每一轮联邦学习的激励信息;
[0221]
根据每个从节点参与的多轮联邦学习中,每一轮联邦学习的激励信息,获得每个从节点参与多轮联邦学习获得的激励信息。
[0222]
在一种可能的实施方式中,区块链包括多个区块链分片,每个区块链分片包括同一区域的多个从节点各自的区块;
[0223]
激励模块75还用于:
[0224]
若融合后的全局机器学习模型满足预设条件,则通过多个区块链分片各自对应的多个区块,分别向参与联邦学习的各个从节点发送相应的激励信息。
[0225]
在一种可能的实施方式中,指示发送模块71还用于:
[0226]
分别向多个从节点发送当前一轮联邦学习所需要的数据集的数据类型、训练设备、机器学习方法。
[0227]
关于上述实施例中的装置,其中各个模块的具体执行方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0228]
基于相同的发明构思,本技术实施例还提供了一种电子设备,该电子设备解决问题的原理与上述实施例的方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。
[0229]
参阅图8所示,电子设备可以包括处理器802和存储器801。存储器801向处理器802
提供存储器801中存储的程序指令和数据。在本技术实施例中,存储器801可以用于存储本技术实施例中多媒体资源处理的程序。
[0230]
处理器802通过调用存储器801存储的程序指令,处理器802用于执行上述任意方法实施例中的方法,例如图2所示的实施例提供的一种基于区块链的联邦学习激励方法。
[0231]
本技术实施例中不限定上述存储器801和处理器802之间的具体连接介质。本技术实施例在图8中以存储器801和处理器802之间通过总线803连接,总线803在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线803可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0232]
存储器可以包括只读存储器(read-only memory,rom)和随机存取存储器(random access memory,ram),还可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0233]
上述处理器可以是通用处理器,包括中央处理器、网络处理器(network processor,np)等;还可以是数字指令处理器(digital signal processing,dsp)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0234]
本技术实施例还提供了一种计算机存储介质,该计算机可读存储介质内存储有计算机程序,电子设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该电子设备执行上述任意方法实施例中的基于区块链的联邦学习激励方法。
[0235]
在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(usb,universal serial bus flash drive)、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
[0236]
与上述方法实施例基于同一发明构思,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任意一种基于区块链的联邦学习激励方法的步骤。
[0237]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0238]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产
品的形式。
[0239]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献