技术领域
[0001] 本发明涉及计算机技术领域,尤其是涉及一种面向非规则博弈场景的联邦学习激励机制。
相关背景技术
[0002] 随着大数据时代的到来,互联网和计算机技术快速发展,人工智能技术再一次迎来了飞跃。但传统的机器学习方法通常需要收集大量的数据,并集中在服务器中训练人工智能模型。在现实场景中,单个参与者往往没有足够的数据来支持模型的训练,而且很多原始数据涉及到用户的隐私,如果将多个参与者的数据集中起来进行训练,就会存在隐私泄露的风险,由此引发了“数据孤岛”问题。
[0003] 为解决“数据孤岛”问题带来的挑战,2016年Google提出了一种新的机器学习范式,称为联邦学习(Federated Learning,FL)。联邦学习不需要使用集中存储的数据来训练模型,而是在保证数据隐私的同时,使用分布在多个参与者的数据来学习一个高质量的集中式模型。它要求参与者使用自己的数据在本地训练模型,并将不含原始数据的本地模型上传到服务器进行多方模型聚合,得到一个涵盖多方特征的全局模型。
[0004] 在联邦学习中,所有参与者维护的全局模型是一种公共物品,其特点是非排他性(即,无法排除个体使用它们)和非竞争性(即,使用它们不存在竞争)。由于参与者的自私性,他们可能会不遵守既定的协议流程,以获得更高的利益。具体来说,对于联邦学习,最终的全局模型是非排他性的,因为即使一个参与者没有贡献任何本地数据训练模型,其他参与者也不能排除该参与者使用全局模型。同时,最终的全局模型也是非竞争性的,因为所有参与者都可以单独使用全局模型,不存在竞争。
[0005] 因此,自私的参与者可能会选择不进行本地训练以降低计算成本,此类行为被称为搭便车。然而,搭便车行为的存在不利于全局模型的训练。首先,当搭便车的参与者较多时,模型的训练次数和数据量会减少,从而导致全局模型精度下降。其次,搭便车行为对那些使用本地数据进行训练的参与者是不公平的,会不利于参与者的长期合作。因此,设计激励机制来减少联邦学习中的搭便车参与者的数量,促进参与者的有效合作是非常有必要的。
[0006] 随着联邦学习在工业界的广泛应用,人们对联邦学习激励机制也展开了深入的研究。然而,现有的联邦学习激励机制都建立在传统的博弈模型之下,他们具有强烈的假设,例如,假设参与者是绝对理性且信息完全的,他们遵循使用占优策略和最大期望效用的原则。然而,在实际的非规则博弈场景中,各个参与者的理性是有限的,信息是不完全的,他们可能会通过试错的方式达到博弈的均衡。不同于传统博弈中只考虑在单次训练中用户收益达到静态均衡,其强调的是一种在多轮训练中用户收益的动态均衡。
具体实施方式
[0072] 以下通过附图和实施例对本发明的技术方案作进一步说明。
[0073] 除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0074] 实施例
[0075] 请参阅图1‑2,本发明提供了一种面向非规则博弈场景的联邦学习激励机制,包括以下步骤:
[0076] 步骤S1、构建激励模型,使用带环境反馈的复制动力学框架构建基于演化博弈的激励模型,描述了参与者策略和奖励策略随时间的演化关系,包括:
[0077] 步骤S11、建立基本假设,具体步骤如下:
[0078] 博弈的参与者为联邦学习场景中的N名参与者,表示为P={P1,P2,...,PN},每个参与者都有自己的本地数据集,由一个中央服务器协调N名参与者来训练全局模型,令ω表示*全局模型的权重,参与者找到全局模型的最佳权重ω ,以最小化数据集上的预期损失L(ω),如下式所示:
[0079]
[0080] 其中,l(ω;Pn)是给定ω的参与者Pn的本地损失,L(ω)为所有参与者要维护的公共品,L(ω)越小参与者的收益越高。此外,不同的参与者对模型的准确性有不同的评估和要求,也会对模型带来不同的提升,同时具有不同的计算成本。因此,一些参与者可能需要支付给其他参与者一些费用,来补偿其额外付出的成本。否则,一些参与者可能不会选择合作。
[0081] 步骤S12、建立策略空间:设联邦学习参与者的策略集为S={S1:搭便车策略,S2:合作策略},其中,搭便车策略代表参与者不执行本地模型训练,对全局模型添加随机扰动后上传给服务器;合作策略代表参与者执行本地模型训练并上传本地梯度更新给服务器。
[0082] 步骤S13、建立效用函数,初步建立激励模型,使用搭便车攻击检测算法检测参与者提交的本地模型梯度,然后根据检测结果确定参与者的策略种类,具体步骤如下:
[0083] 步骤S131、将参与者的收益建立为训练全局模型准确性函数,包括:
[0084] 在每轮本地训练中,每个参与者执行K次迭代模型训练,中央服务器共执行r次模型聚合,X=(x1,xi,...,xr)表示执行合作策略的参与者在所有轮次的比例,1‑X是执行搭便车策略参与者的比例。我们将参与者的收益定义为训练全局模型准确性的函数,第t轮全局*模型的准确性定义为训练模型在t轮训练后的损失和最小预期损失L(ωt)‑L(ω )之间的差值。令∈(t)表示经过t轮训练的全局模型的精度,在强凸损失函数L(ω)下,∈(t)模型建模如下式所示:
[0085]
[0086] 其中,θ0和θ1为正系数,根据损失函数、神经网络结构和数据集分布得出。
[0087] 在∈(t)中,随着t的增加,精度不断提升,精度的边际提升减小,参与者在第t轮中的收益是对全局模型在经过t轮训练和经过t‑1轮训练后的精度之差的评估,如下式所示:
[0088] Φ(t)=u(∈(t‑1)‑∈(t))(3)
[0089] 其中,u表示使用经过训练的全局模型产生的单位收入,通过所有参与者的投票得到。
[0090] 步骤S132、计算计算成本、通信成本和向中央服务器的支付成本,在联邦学习中,参与者会产生以下成本:计算成本、通信成本和向中央服务器的支付。包括:
[0091] (1)计算成本如下式所示:
[0092] Cp=ΥKI (4)
[0093] 其中,Υ系数取决于参与者的计算芯片架构系数、参与者在一个本地数据样本上训练模型所需的CPU周期数、参与者的CPU处理速度以及参与者的数据量大小,I取决于参与者的策略集,采取搭便车策略时I=0,采取合作策略时I=1,K表示联邦学习的本地迭代次数;
[0094] (6)通信成本:在联邦学习中,通信成本涉及两个部分:从中央服务器下载全局模型,上传本地模型到中央服务器进行聚合。参与者通常是公司或组织,数据传输通常发生在有线网络或无线网络(例如,使用传输协议NOMA)中。搭便车策略的参与者虽然不参与模型训练,但仍然需要下载全局模型和上传模型更新。由于这些模型在所有参与者中的大小都是一致的,并且不受他们的参与策略影响,因此参与者的通信成本保持不变,表示为m;
[0095] (7)支付成本:由于服务器负责进行局部模型检测、全局模型聚合以及模型的下发,因此参与者需要支付中央服务器一笔费用。这个成本在所有参与者中都是平等分配的,每个参与者支付的成本表示为p。此处,将其与通信成本m相结合,支付成本如下式所示:
[0096] Cm=m+p。
[0097] 步骤S133、计算效用,包括:
[0098] 参与者n∈N的效用定义为其收益和成本之间的差异,如下式所示:
[0099]
[0100] 其中,Pc是采取合作策略的参与者的效用,Pd是采取搭便车策略的参与者的效用。
[0101] 步骤S14、进行动态激励,得到激励模型:使用搭便车攻击检测算法检测参与者提交的本地模型梯度,然后根据检测结果确定参与者的策略种类。
[0102] 为了解决联邦学习中的搭便车问题,近年来提出了许多搭便车攻击的检测算法,我们将搭便车检测算法的准确率记为α。引入了一种带有环境反馈的复制器动力学框架,采用非对称乘法因子rc和rd来描述合作参与者和搭便车参与者的收益分配,并根据全局收益分布动态改变这些因子。相反,rc和rd的变化也会影响个体收益,从而驱动策略的动态变化。在这个激励模型下,联邦学习参与者的效用记为:
[0103]
[0104] 其中采取合作策略的参与者,可以获取模型带来的收益Φ(t),以及rc‑1(rc‑1>0)倍Φ(t)的奖励,其成本为本地模型计算成本、上传下载模型的通信成本和支付给服务器费用的成本;采取搭便车策略的参与者有α的概率被检测出来,1‑α的概率不被检测出来。被检测出来的搭便车参与者仍然可以获取模型带来的收益Φ(t),但会受到rd‑1倍Φ(t)的惩罚。没有被检测出来的搭便车参与者收益与合作参与者一样。因此,搭便车参与者的平均收益为检测出来的搭便车参与者收益乘以检测出来的概率与没有被检测出来的搭便车参与者收益乘以没有被检测出来的概率之和。搭便车参与者没有本地训练的计算成本,只有上传和下载模型的通信成本以及支付给服务器费用的成本。
[0105] 考虑到联邦学习中存在选择强度的差异,因此我们采用了集成选择强度的复制动态方程,用λ表示选择强度。根据Malthusian方程,参与者在模型中的复制动态方程可以用合作策略的增长率来表示:
[0106]
[0107] 在联邦学习中,中央服务器仅负责协调各方的训练模型。奖励和惩罚被用来平衡参与者的收益和成本,需要在参与者之间进行补偿。因此,rc和rd具有以下关系:
[0108]
[0109] 描述搭便车策略乘法因子动力学的另一个方程是:
[0110]
[0111] 其中f(x,rd)为反馈控制函数,描述了博弈交互中总收益及其正负的反馈机制,它决定了rd的增加或减少以及变化幅度。参数α和β表示合作者乘法因子的最小值和最大值,因此通过(rd‑α)(β‑rd),将rd控制在[σ,β]范围内。rd乘法因子影响不同策略的收益,从而创建一个反馈回路。γ是环境反馈的强度或速率,其受到惩罚因子rd正负的影响,因此γ<0。我们参考演化博弈领域中反馈机制设计,将f(x,rd)定义为合作者xPc和搭便车者(1‑x)Pc的全局收益的线性函数,并考虑总奖励的约束:
[0112]
[0113] 其中 是合作者和搭便车者总收益期望的分布比率。在这种情况下,当x较小时,通过增加rc和减小rd来使参与者更倾向于合作策略。而随着训练的进行,模型精度的增长率持续降低,这导致合作者奖励减少,符合边际效用递减规律。因此,激励模型如下式所示:
[0114]
[0115] 其中,表示合作策略随时间的变化率,λ表示种群的学习速率, 表示惩罚因子随时间的变化率,α表示检测算法准确率,rc和rd表示非对称惩罚因子,σ表示惩罚因子范围下界,β表示惩罚因子范围下界,ρ表示合作策略和背叛策略总收益期望的分布比率,x表示采取合作策略的比例。
[0116] 在该激励模型中有5个平衡点:4个在边界上,剩下的1个为内部平衡点。通过雅可比矩阵分析它们的稳定性。
[0117] 当x=0,rd=β时,DetJ(0,β)=CpCmλγ ω(σ‑β)>0并且TrJ(0,β)=‑λCp‑Cmγ ω(σ‑β)<0,因此(0,β)这个平衡点总是稳定的,此时参与者将全部采取搭便车者策略,这也是公共品博弈中常会出现的情况。
[0118] 当x=0,rd=σ是不稳定的平衡点。
[0119] 而x=1的两个稳定点,我们可以通过设置不同的惩罚范围[σ,β]、奖惩控制函数f(x,rd),来使它们尽可能的变为稳定点平衡点,从而激励参与者策略收敛于合作。然而,x=1是个分岔点,当模型精度达到阈值之后,平衡点的稳定性将会发生改变,整个系统将只会收敛一个稳定的平衡点x=0,rd=β,参与者将全部采取搭便车策略。
[0120] 综上所述,通过激励模型可以预知参与者策略演化情况,并通过设置激励参数激励参与者合作。此外,激励模型还可以给出一个合理的聚合轮次建议。
[0121] 步骤S2、调整奖励和惩罚策略,使用一种多段非线性控制方法来调整激励策略,从而控制参与者策略的演化,提高社会福利。通过多段非线性控制方法来调整奖励和惩罚策略的具体步骤如下:
[0122] 在联邦学习中会出现参与者的部分数据对于全局模型冗余的情况,因此会存在边际效益递减现象。在这种情况下,只要大部分参与者参与训练中就足以达到预期的模型精度,而不需要全部的参与者都采取合作策略。甚至过多的联邦学习参与者可能并不会增加模型精度,反而会浪费计算资源。因此,控制采取合作策略的参与者在各种联邦学习环境中的比例有助于提高社会福利。我们提出了多段非线性控制方法来调整奖励和惩罚策略,可以有效的将联邦学习中参与者的策略控制到一个期望的比例。该方法基于非线性选择梯度驱动的非对称反馈协同演化多人博弈的广义框架。反馈控制定律f(x,rd)的一般形式如下式所示:
[0123] f(x,rd)=(Ψ1(x,rd)‑a1)·(Ψ2(x,rd)‑a2)·(Ψ3(x,rd)‑a3)…(an‑Ψn(x,rd))(12)[0124] 其中,Ψi(x,rd)=biPc‑ciPd,bi>0,ci>0,Ψi(x,rd)表示最简单的线性选择梯度形式,a1...an表示选择梯度形式的常数项。此外,为了构造一个稳定的选择律,(12)中的最后一项相对于其他项符号相反。因此,式(12)描述了一系列控制函数,每个控制函数由一般多项式形式的非线性选择梯度驱动。具体来说,当n=2时,场景简化为f为二次函数,进化模型描述如下:
[0125]
[0126] 在联邦学习中,通过基于训练轮次和参与者状态选择不同的反馈控制函数,调整反馈的强度来控制各平衡点的稳定性,如(14)所示。从而根据已建立的模型引导联邦学习中参与者策略往期望方向演化。
[0127]
[0128] 在这个通用框架中,我们结合了两种类型的控制律:一种是受时间控制的,与训练轮次相关;另一种是受系统状态控制的,与参与者策略比例相关。给定联邦学习参与者种群的初始状态情况下,这些控制律能够改变平衡点的稳定性,将系统状态始终控制在期望的范围内。下面详细说明使用多段非线性控制方法控制演化方向的执行流程。
[0129] 在固定参数的情况下,目标是将x0∈[0.1,0.9]控制到(xn‑τ,xn+τ)的范围内,其中τ是一个范围值。此处,使用了三段状态相关控制函数,f1设置为关闭x=1稳定性的函数,f2设置为打开x=1稳定性的函数,f3是控制种群状态稳定变化的函数。首先,我们评估初始状态x0,具体过程描述如下:
[0130] 当x0>xn+τ时,使用控制律f1来调整x=1的稳定性,将其转换为不稳定的平衡点;由于x=0总是稳定的平衡点,这可以控制当前状态远离x=1,从而减少合作者的比例。
[0131] 当x0
[0132] 当xn‑τ
[0133] 步骤S3、判断是否达到停止条件,达到则停止,未达到则进行联邦学习训练,再次重复步骤S14和步骤S2,直至达到停止条件。本地模型训练的具体步骤如下:
[0134] 步骤S31、服务器初始化模型权重,并将全局模型发送给参与者;
[0135] 步骤S32、参与者接收全局模型,并使用本地数据进行模型训练;
[0136] 步骤S33、参与者将训练完成后的本地模型发送给服务器;
[0137] 步骤S34、服务器接收参与者的本地模型,进行模型更新聚合,并根据聚合后的模型更新全局模型;
[0138] 步骤S35、重复执行步骤S31‑步骤S34,直到模型精度达到预期的标准或聚合轮次达到设定的次数。
[0139] 上述步骤中出现的部分符号说明如表1所示。
[0140] 表1:符号说明
[0141]
[0142]
[0143] 因此,本发明采用上述结构的一种面向非规则博弈场景的联邦学习激励机制,针对联邦学习搭便车问题,提出了基于演化博弈论的激励机制,实现了有效的激励,提高了联邦学习模型性能和社会福利。
[0144] 最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。