一种横向联邦学习系统用户节点的激励方法及系统

文档序号:26003870发布日期:2021-07-23 21:21阅读:95来源:国知局
一种横向联邦学习系统用户节点的激励方法及系统

本发明属于电子信息技术,具体涉及一种横向联邦学习系统用户节点的激励方法及系统。



背景技术:

横向联邦学习(horizontalfederatedlearning)是近年提出的一种机器学习范式,其特点是多个用户利用自身拥有的数据在服务器的配合下协作训练模型。用户首先利用其本地数据进行模型训练;然后将训练得到的本地模型上传至服务器;接着,服务器利用某种聚合规则对接收到的用户本地模型进行聚合从而得到全局模型供所有用户共享。这种机器学习范式可以使得各用户的训练数据不会与其他用户及服务器共享,从而保护用户的数据隐私。在联邦学习的商业落地过程中,除了数据隐私的考虑之外,为联邦学习的用户提供相应的激励也是必不可少的,激励机制作为联邦学习领域的一个重要研究方向也受到了很大关注。

现有的多数联邦学习激励机制假设所有参与联邦学习的节点是诚实可靠的,但在实际应用场景中这种假设并非一定成立。有学者提出了基于合同理论的联邦学习激励机制,其核心思想是联邦学习的任务发布者向所有用户发布一系列不同的合同,对每一合同项设计了相应的最优报酬支付方案,各用户节点可以从中选择满足自身效益最大化的合同,并按合同要求参与联邦学习,从而有效的激励用户向联邦提供数据及资源。这一机制可行的前提是系统中所有的用户均为诚实可信的,他们均会诚实的执行其所选合同的内容。然而在实际应用中,系统中可能存在恶意用户和不可靠的用户,恶意用户可能向服务器提交任意生成的参数作为其本地模型,从而节省自身资源或对系统实施攻击;不可靠用户在上传本地模型参数时可能出现上传超时现象;这两种用户的存在都会影响整个联邦学习过程,使得系统最终得到全局模型精度下降。因此需要考虑系统中可能存在的恶意节点与不可靠节点的情况。



技术实现要素:

本发明的目的在于针对上述现有技术中联邦学习激励机制由于没有考虑恶意用户和不可靠用户而无法达到预期效果的问题,提供一种横向联邦学习系统用户节点的激励方法及系统,抵御恶意节点参与联邦学习,提高联邦学习系统的健壮性以及学习结果的可靠性。

为了实现上述目的,本发明有如下的技术方案:

一种横向联邦学习系统用户节点的激励方法,构建基于复利原理的激励机制,该激励机制的数学表达式如下:式中,ru为用户u的最终报酬,pu为用户u的报酬基数,ru为用户u的回报率,ku为用户u参与联邦学习的有效轮数;

联邦学习任务发布者根据总预算以及用户信息计算各用户的报酬基数以及回报率,并计算各用户的最终报酬;通过为诚实用户、恶意用户和不可靠用户设置不同的回报率,使得三类用户获得不同的最终报酬,进而达到对诚实用户的激励以及对其他用户的抑制。

优选的,所述回报率的计算表达式如下:

式中,a表示任务发布者的恶意行为容忍度,b表示任务发布者的总支付预算,表示假设用户u参与系统全部t轮全局迭代的总能量消耗和数据成本之和,t为系统迭代轮数,εu表示用户u的本地模型精度,ku为用户u参与联邦学习的有效轮数,n表示参与每轮迭代的用户数量。

优选的,所述报酬基数的计算表达式如下:

式中,a表示任务发布者的恶意行为容忍度,xu表示用户u参与联邦学习的迭代轮数,cu是用户u参与联邦学习的总成本,总成本等于能量消耗和数据成本之和。

优选的,各用户根据决定是否参与联邦学习任务,若参与,则上传其相关参数,包括计算资源、本地数据量、本地模型精度以及单位数据成本;服务器选择满足联邦学习要求的用户,不满足要求的用户拒绝其参与联邦学习;估算各用户参与联邦学习的回报率区间,并公开发布;用户根据回报率区间最终决定是否参与本次联邦学习,若用户不参与,则自动退出。

优选的,参与联邦学习的回报率上限计算表达式如下:

其中,表示获取参与资格的用户中最优的n个用户参与全部t轮全局迭代的总能量消耗和数据成本之和,n表示参与每轮迭代的用户数量;

参与联邦学习的回报率下限计算表达式如下:

其中,t为最大全局迭代次数,ε*为本地精度阈值;所述的回报率区间为

优选的,参与联邦学习的用户与服务器进行协作完成联邦学习,聚合服务器完成全局模型迭代更新与用户的行为检测并记录相关信息;聚合服务器为每个用户设置参数xu,ku来记录用户u参与联邦学习的迭代轮数与有效轮数,联邦学习开始前将该参数置为0;在每一次全局模型更新时,聚合服务器对各用户进行行为检测,针对不同的检测结果对参数xu,ku进行不同的操作,xu表示用户u参与联邦学习的迭代轮数,ku为用户u参与联邦学习的有效轮数。

优选的,聚合服务器根据各用户的行为检测结果对参数xu,ku进行操作的方式如下:

case1,用户u有效参与一轮联邦学习,则xu取值增加1,ku取值增加1;有效参与指用户在系统规定最大传输时间内向聚合服务器上传模型精度达到联邦学习要求的本地模型参数;

case2,用户u上传本地模型超时,则参数xu,ku的取值不变;上传本地模型超时指在系统规定最大传输时间内聚合服务器未收到用户u上传的模型参数,该用户被视为不可靠用户;

case3,聚合服务器检测到用户u的恶意行为,则参数ku的取值不变,xu的取值加1,然后服务器检测xu-ku是否大于a的取值,若大于,则将该结点从系统中剔除;这里的恶意行为指若用户u在最大传输时间内向聚合服务器上传本地模型参数,但经聚合服务器检验,此模型参数不符合联邦学习规定,包括数据异常或本地模型精度小于规定要求。

本发明还提供一种横向联邦学习系统,包括一个聚合服务器、一个任务发布者以及若干个用户;所述的任务发布者负责发布联邦学习任务,制定激励机制以及向参与联邦学习的用户支付报酬;所述的聚合服务器负责接收各用户上传的本地模型并通过某种聚合规则对这些模型进行聚合,得到全局模型供用户使用,还负责在此过程中记录参与学习的节点用户的身份信息,计算各用户的能量消耗,检测本地模型精度以及进行用户恶意行为的检测;用户利用自身的本地数据进行模型训练,得到本地模型;在用户加入联邦学习时,按照约定向聚合服务器提交其相关信息,退出联邦时通知聚合服务器。

本发明还提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时实现所述横向联邦学习系统用户节点的激励方法的步骤。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现所述横向联邦学习系统用户节点的激励方法的步骤。

相较于现有技术,本发明有如下有益效果:构建基于复利原理的激励机制,在该机制下,长期参与联邦学习系统的诚实用户将得到正向激励,而恶意节点与不可靠节点将得到反向激励,从而激励参与联邦学习的节点提供长期的诚实行为,抵御恶意节点参与联邦学习,提高联邦学习系统的健壮性以及学习结果的可靠性。本发明通过为诚实用户、恶意用户和不可靠用户设置不同的回报率,使得三类用户获得不同的最终报酬。针对诚实用户,其每次参与联邦学习均将得到正收益,参与联邦学习迭代轮数越多,其获得的正收益将呈现指数级增长,从而激发诚实可靠用户的长期参与联邦的积极性,最终提高联邦学习系统的安全性与可靠性。本发明能够抑制恶意用户参与联邦学习,同时能够鼓励诚实用户长期参与联邦学习。

附图说明

图1本发明横向联邦学习系统的架构图;

图2本发明横向联邦学习系统用户节点的激励方法流程图。

具体实施方式

下面结合附图及实施例对本发明做进一步的详细说明。

参见图1,本发明横向联邦学习系统由一个聚合服务器(as,aggregationserver),一个任务发布者(tp,taskpublisher)与若干个用户(users)组成。各个实体的任务分别描述如下:

任务发布者(tp,taskpublisher):主要负责发布联邦学习任务,制定激励机制以及向参与联邦学习的用户支付报酬。

聚合服务器(as,aggregationserver):主要负责接收各用户上传的本地模型并通过某种聚合规则对这些模型进行聚合,得到全局模型供用户使用,此外还负责在此过程中记录参与学习的节点用户的身份信息,计算各用户的能量消耗,检测本地模型精度以及进行用户恶意行为的检测。

若干个用户(users):主要负责利用自身的本地数据进行模型训练,得到本地模型,为了保护隐私,各参与方不会共享各自的数据,其中可能存在恶意用户随意生成恶意本地模型,以及存在不可靠用户会超时上传本地模型;此外在用户加入联邦学习系统时,需按照约定向聚合服务器提交其相关信息,包括计算资源、本地数据大小、本地模型精度、单位数据成本等参数;当用户退出联邦时,需通知聚合服务器。

参见图2,本发明横向联邦学习系统用户节点的激励方法共由四个阶段组成:

第一阶段,系统初始化,任务发布者和服务器向外发布联邦学习任务、激励方案及系统相关参数;第二阶段,用户选择,各用户根据所发布任务、激励方案及相关参数决定是否参与该联邦学习任务,若参与,则上传其相关参数(计算资源、本地数据量、本地模型精度、单位数据成本等信息),满足系统要求的用户继续下面步骤。服务器根据用户上传的参数估算用户参与联邦学习的回报率区间,并向用户发布,用户根据回报率区间最终决定是否参与本次联邦学习,若用户不参与,则自动退出系统;第三阶段,用户与服务器进行协作完成联邦学习,在该过程中,服务器完成全局模型更新与用户的行为检测并记录相关信息;第四阶段,报酬计算和支付。当联邦学习任务完成后或用户退出时,任务发布者根据用户的相关参数以及自身的总成本预算,基于本发明所设计的激励机制进行相关参数计算,包括回报率以及报酬基数的计算,然后计算并支付用户相应报酬。

现有联邦学习激励机制普遍假设联邦学习系统中所有用户节点均为诚实可靠节点,而在实际情况中,系统可能存在部分恶意用户和不可靠用户,使得现有联邦学习激励机制无法达到预期效果。对于此问题,本发明针对存在恶意用户和不可靠用户的联邦学习系统提出一种激励机制,在该机制下,长期参与联邦学习系统的诚实用户将得到正向激励,而恶意节点与不可靠节点将得到反向激励,从而激励参与联邦学习的节点提供长期的诚实行为,抵御恶意节点参与联邦学习,提高联邦学习系统的健壮性以及学习结果的可靠性。

本发明涉及模型训练能量消耗和总成本的相关理论如下:

本地模型训练的计算模型:

用u={u1,u2......un}表示用户集合。对于每个用户u∈u,其用于训练本地模型的数据样本大小为su,把用户u用于本地模型训练的计算资源,即cpu周期频率,表示为fu。用户u在本地模型训练中训练一个数据样本的cpu周期数用cu表示。因此,用户u进行本地模型训练时的本地迭代计算时间是将用户进行一次本地模型训练迭代的cpu能耗表示为:

其中ζ是用户u的计算芯片组的有效电容参数。

联邦学习的通信模型:

在联邦学习迭代期间,每一轮本地模型训练结束后,各用户将通过无线通信将自己的本地模型更新上传给聚合服务器。假设用户u的本地模型精度为εu,很显然较高的本地模型精度会带来较少的本地和全局迭代次数。当全局模型的精度固定时,本地迭代次数为将服务器更新全局模型的过程称为一个全局迭代,各用户训练一次本地模型的过程称为一个本地迭代。一个全局迭代的消耗时间包括了本地迭代的计算时间和本地模型更新的上行链路通信时间。用户u的一次本地迭代的计算时间用表示。假设用户在上传本地模型参数时,用户的位置是固定的。用户u的传输速率表示为这里,b是传输带宽,ρu是用户u的传输功率,hu是用户u和任务发布者之间的对等链路的信道传输,n0是背景噪声。假设本地模型更新的数据大小是常数σ,数据大小为σ的本地模型的上传时间用表示。因此,用户u的一次全局迭代的总时间被表示为:

用户u在全局迭代中传输本地模型更新的能量消耗为:

因此,对于一次全局迭代,用户u的总能量消耗表示如下:

假设用户u的单位数据成本为l,有效参与联邦学习的轮数为ku,则在联邦学习中用户u的总能量消耗和数据成本之和可以表示为如下表达式:

本发明对横向联邦学习系统具有如下假设:

(1)服务器诚实可信,各用户节点是理性且贪婪的。

(2)联邦学习系统中有三类用户节点:

1)可靠节点,利用真实数据样本进行本地模型训练并及时上传所获得的真实本地模型至服务器;2)不可靠节点,利用真实数据样本进行本地模型训练,但通信不稳定,进行联邦学习时会发生超时现象;3)恶意节点,随意生成虚假本地模型并上传至服务器。

(3)任务发布者对各用户的总支付预算大于各节点成本之和。

(4)服务器可以检测到恶意用户的恶意行为。

(5)各用户的本地数据满足独立同分布的特点。

(6)各用户节点可以自由加入与退出联邦学习系统。

一种横向联邦学习系统用户节点的激励方法,包括以下步骤:

step1,初始阶段。任务发布者和服务器发布联邦学习任务、激励方案及系统相关参数,系统相关参数包括进行联邦学习的时间范围、最大全局迭代次数t、本地数据类型、本地模型精度阈值ε*、恶意行为容忍度a等参数以及联邦学习规则。恶意行为容忍度a指的是任务发布者和服务器对恶意行为的容忍次数,取值为非负整数。

激励方案计算公式如下。根据各用户的信息以及自身的总成本预算进行激励机制相关参数计算,包括回报率以及报酬基数的计算。用户u的最终报酬ru可表示为公式(7):

其中pu为用户u的报酬基数,ru为用户u的回报率,ku为用户u参与联邦学习的有效轮数。当用户u的参数xu-ku的值大于参数a的值时,聚合服务器将该结点从联邦中剔除。

1)回报率计算方法:用户u的回报率ru的计算方法如公式(8)所示,其中a表示任务发布者的恶意行为容忍度,b表示任务发布者的总支付预算,表示假设用户u参与系统全部t轮全局迭代的总能量消耗和数据成本之和,t为系统迭代轮数,εn表示用户u的本地模型精度,ku为用户u参与联邦学习的有效轮数。

2)报酬基数计算方法:

用户u的报酬参数pu可根据公式(9)求出,其中a是任务发布者的恶意行为容忍度,xu表示用户u参与联邦学习的迭代轮数,ku为用户u参与联邦学习的有效轮数,cu是用户u参与联邦学习的总成本(能量消耗和数据成本之和)。

step2,用户选择。具体步骤如下:

1)首先各用户根据step1所发布的内容决定是否参与该联邦学习任务,若参与,则上传其相关参数(计算资源、本地数据量、本地模型精度、单位数据成本等参数)。

2)服务器选择满足联邦学习要求的用户,不满足要求的用户拒绝其参与联邦学习,满足系统要求的用户继续后续步骤;然后,服务器根据公式(10)与(11)分别计算各用户上传的参数估算参与联邦学习的回报率上界与下届,得到回报率区间,并共开发布,计算公式如下。

其中表示获取参与资格的用户中最优的n个用户参与全部t轮全局迭代的总能量消耗和数据成本之和,n表示参与每轮迭代的用户数量。

其中,t为最大全局迭代次数,ε*为本地精度阈值,则回报率的区间为

3)用户根据回报率区间最终决定是否参与本次联邦学习,若用户不参与则自动退出系统;

step3,参与学习的用户与服务器进行协作完成联邦学习。在该过程中,聚合服务器完成全局模型迭代更新与用户的行为检测并记录相关信息。聚合服务器为每个用户设置参数xu,ku来记录用户u参与联邦学习的迭代轮数与有效轮数,联邦学习开始前将该参数置为0。在每一次全局模型更新时,聚合服务器将对各用户进行行为检测,检测结果可以分为三种,针对这三种行为,聚合服务器将对参数xu,ku有以下操作:

case1,用户u有效参与一轮联邦学习则xu取值增加1,ku取值增加1。有效参与指用户在系统规定最大传输时间内向聚合服务器上传模型精度达到联邦学习要求的本地模型参数。

case2,用户u上传本地模型超时则参数xu,ku的取值不变。用户u上传本地模型超时指在系统规定最大传输时间内聚合服务器未收到用户u上传的模型参数,将被视为不可靠用户。

case3,聚合服务器检测到用户u的恶意行为,则参数ku的取值不变,xu的取值加1,然后服务器检测xu-ku是否大于a的取值,若大于,则依照联邦学习规定将该结点从系统中剔除。这里的恶意行为指若用户u在最大传输时间内向聚合服务器上传本地模型参数,但经聚合服务器检验,此模型参数不符合联邦学习规定(数据异常或本地模型精度小于规定要求)。

step4,用户报酬计算和支付。

对于任意用户u,当联邦学习任务完成后或用户u从系统退出时,任务发布者将计算用户的报酬并向其支付报酬。用户u的最终报酬ru可以用计算得到。

本发明提出的激励机制具有以下性质:1)预算均衡;2)鼓励诚实、可靠行为,抑制恶意行为;3)公平性。本发明可以在符合任务发布者和服务器的预算与系统要求的前提下,达到激励优质参与者持续参与系统,恶意参与者退出系统的激励目的。

一、本发明所提出的激励机制满足预算均衡性质,即任务发布者对所有用户的总支出应小等于支出预算,如公式(12)所示:

假设参与联邦学习的所有用户为诚实可靠的用户且均参加所有轮全局迭代,则任务发布者向用户支付的总报酬如公式(13.1)。将公式(9)带入得到公式(13.2),由于所有用户全部为诚实可靠的用户,按激励机制具体内容中规定的,诚实用户u的参数有xu=ku=t,则公式(13.2)可简化为(13.3)式。由于本地模型精度εu<1,由此可以得到不等式(13.4),该式右端可最终化简为(13.5)式,即为任务发布者对各用户的总支付预算。由此可得,最理想情况下,任务发布者对各参与用户的总支出小于任务发布者对各用户的总支付预算。而在实际情况下的总支出要小于理想情况下,所以在实际中有约束1)的要求。

二、任意参与联邦学习训练且未被剔除系统的用户,其净收益均不为负。

任意用户的净收益可表示为公式(14.1)。将公式(9)带入公式(14.1)可得公式(14.2),根据所提激励机制可知不可靠用户与可靠用户均有等式ku=xu成立,因此对于不可靠用户与可靠用户有公式(14.3)成立。由假设(3)和公式(8)可得ru>0,所以公式(14.3)的取值大于0,即公式(14.4)。而对于恶意用户也有公式(14.2)成立,根据所提激励机制可知:当xu-ku>a时,聚合服务器可以踢出该用户。所以未从系统中剔除的恶意节点有不等式xu-ku≤a成立,因此对于这些用户也有净收益取值大于0成立。

三、在个体理性的前提下,诚实用户与不可靠用户的收益最大化策略为增加有效参与期,恶意用户的收益最大化策略为减少恶意行为次数。任一用户u的净收益可以表示为公式(14.1),将公式(9)带入公式(14.1)可得公式(14.2)。按照所提方案,不对不可靠用户作出处罚,所以不可靠用户与可靠用户均有等式ku=xu成立,因此,对于不可靠用户与可靠用户有公式(14.3)成立,因此在cu与a的取值固定的情况下,最大化公式(14.3)的取值的策略为增加ru的取值,因此,用户的收益最大化策略为增加有效参与期。

下面对恶意用户行为与所获报酬进行分析。对于恶意行为有a'次被检测到的用户,按照所提激励机制有等式ku=xu-a',该用户的净收益如公式(15)所示。

假设其他条件不变,由公式(15)可得,a'越大,恶意用户净收益越小,当被检测次数a'等于容忍次数a时,不管参与全局迭代多少次,得到的净收益均为0。

当被检测次数a'大于容忍次数a时,按照激励机制具体内容中的规定,该用户被踢出联邦。所以恶意用户的最优策略为减少恶意行为次数。

四、其余条件相同的情况下,可靠用户的收益率应大于不可靠用户的收益率,不可靠用户的收益率应大于恶意用户的收益率;在联邦学习过程中提供更多本地数据和更高本地模型精度的用户应该获得更高的收益率;用户的有效参与期越长,其收益率越高。

用户的收益率可表示为公式(16.1),若将公式(8)、(9)带入公式(16.1),可以得到公式(16.2),由于对于不可靠用户与可靠用户均有等式ku=xu成立,公式(16.2)可简化为公式(16.3)。根据公式(8)可以得到当用户参与联邦学习的有效轮数越大时,该用户的回报率(ru)越大,所以可靠用户的收益率大于不可靠用户的收益率。而在联邦学习系统内的恶意节点有xu>ku,因此恶意节点的收益率小于参与同样有效轮数的不可靠节点。

根据公式(8)与公式(16),本发明可以得出有效参与轮数越大,或者提供更多本地模型训练数据、更高本地模型精度的用户,其所得的回报率越大,在其余条件相同的情况下,上述用户有更大的收益率,满足对优质用户和长期参与者的激励。

本发明上述内容所用到的参数的说明如表1所示。

表1

本发明还提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时实现所述横向联邦学习系统用户节点的激励方法的步骤。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述的计算机程序被处理器执行时实现所述横向联邦学习系统用户节点的激励方法的步骤。

所述的计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明横向联邦学习系统用户节点的激励方法。

所述终端可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,也可以是处理器、存储器。处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。存储器可用于存储计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现横向联邦学习系统的各种功能。

以上所述的仅仅是本发明的较佳实施例,并不用以对本发明的技术方案进行任何限制,本领域技术人员应当理解的是,在不脱离本发明精神和原则的前提下,该技术方案还可以进行若干简单的修改和替换,这些修改和替换也均属于权利要求书所涵盖的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1