CN115758127A - 一种基于联邦学习的模型训练系统及方法 - Google Patents
一种基于联邦学习的模型训练系统及方法 Download PDFInfo
- Publication number
- CN115758127A CN115758127A CN202111020735.7A CN202111020735A CN115758127A CN 115758127 A CN115758127 A CN 115758127A CN 202111020735 A CN202111020735 A CN 202111020735A CN 115758127 A CN115758127 A CN 115758127A
- Authority
- CN
- China
- Prior art keywords
- model
- value
- training
- stage
- secret sharing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于联邦学习的模型训练系统及方法,该系统包括多个客户端和多个服务器,客户端包括:模型训练模块用于根据本地训练集对初始模型训练得到模型更新值;训练过程包括前期训练阶段和后期训练阶段,前期训练阶段的学习率是对前期基础学习率扩大若干倍得到的,后期训练阶段的学习率是对后期基础学习率缩小若干倍得到的;参数分享模块用于对模型更新值计算得到多个秘密分享值,将秘密分享值发送至各服务器;服务器用于根据秘密分享值计算聚合更新值;模型生成模块用于根据聚合更新值计算模型更新的真实值,对初始模型进行更新得到优化模型。通过执行本发明能够规避各客户端对同一初始模型进行共同训练时产生的路径冲突。
Description
技术领域
本发明涉及计算机学习技术领域,具体涉及一种基于联邦学习的模型训练系统及方法。
背景技术
电力数据可以为能源产业的生产、销售、服务等领域决策提供有效支撑。但电力数据一方面具有公共性,另一方面涉及用户隐私和企业运营情况,在共享开放过程中需要重视隐私保护。电力数据本身具有体量大、跨业务领域多、跨地域广、增长快、实时性强等特点,电力数据对开放共享安全保障技术有其独特的要求。
联邦学习提供了一种具有隐私保护特性的分布式机器学习框架,在联邦学习提供的分布式机器学习框架中,多个客户端共同对一个初始模型进行训练,保障了数据的隐私安全,但是由于电力数据在多个地域由于地貌气候差异、产业结构不同、用户占比差异大等问题,各客户端对模型训练时所使用的训练数据之间存在较为严重的“非独立同分布”问题,导致各客户端各自训练能得到的模型之间存在冲突,尤其是对于复杂的电力机器学习模型或高维非凸性的神经网络模型,更难以保障模型共建的效果。
虽然目前已经有一些策略来聚合多方上传的相互冲突的信息,但只有从训练算法进行改进才能从根本上防止冲突的发生,降低数据分布差异带来的影响。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的数据分布差异导致各客户端对初始模型的训练存在较大冲突的缺陷,从而提供一种基于联邦学习的模型训练系统及方法。
本发明实施例第一方面提供了一种基于联邦学习的模型训练系统,包括多个客户端和多个服务器,客户端包括模型训练模块、参数分享模块、模型生成模块,模型训练模块用于根据本地训练集对初始模型进行训练,得到模型更新值;前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的;参数分享模块,用于采用秘密分享算法对模型更新值进行计算得到多个秘密分享值,将秘密分享值分别发送至各服务器,秘密分享值的数量与服务器的数量相同;各客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同;服务器用于根据各客户端发送的秘密分享值计算聚合更新值,并向各客户端发送聚合更新值;模型生成模块用于根据各服务器发送的聚合更新值计算模型更新的真实值,根据真实值对初始模型进行更新,得到优化模型。
可选地,在本发明提供的基于联邦学习的模型训练系统中,用于对模型更新值计算的秘密分享算法通过与初始模型对应的同态性确定。
可选地,在本发明提供的基于联邦学习的模型训练系统中,参数分享模块包括:第一分享值生成子模块,若初始模型对应的同态性为加法同态性,第一分享值生成模块用于生成随机数,将随机数确定为第一分享值,将第一分享值发送至第一服务器;第二分享值生成子模块,若初始模型所对应的同态性为加法同态性,第二分享值生成模块用于对模型更新值与第一分享值的差进行取模运算得到第二分享值,将第二分享值发送至第二服务器。
可选地,在本发明提供的基于联邦学习的模型训练系统中,服务器将各客户端发送的秘密分享值的均值确定为聚合更新值。
可选地,在本发明提供的基于联邦学习的模型训练系统中,模型生成模块包括:秘密恢复子模块,用于对第一服务器发送的聚合更新值和第二服务器发送的聚合更新值的和进行取模运算,得到模型更新的真实值;模型生成子模块,用于根据模型更新的真实值对初始模型进行更新,得到优化模型。
可选地,在本发明提供的基于联邦学习的模型训练系统中,若初始模型对应的同态性为乘法同态性,服务器包括:三元组生成模块,用于生成三元组;中间值生成模块,用于根据三元组和秘密分享值计算中间值;中间值合并模块,用于将中间值与系统中的其他服务器生成的中间值进行合并,形成合并中间值;其他服务器根据各自的三元组以及各自接收到的秘密分享值计算得到各自的中间值;聚合更新值计算模块,用于根据三元组、合并中间值、秘密分享值计算得到聚合更新值。
可选地,在本发明提供的基于联邦学习的模型训练系统中,模型生成模块包括:秘密恢复子模块,用于对各服务器发送的聚合更新值的和进行取模运算,得到模型更新的真实值;模型生成子模块,用于根据模型更新的真实值对初始模型进行更新,得到优化模型。
可选地,在本发明提供的基于联邦学习的模型训练系统中,初始模型训练过程中使用的损失函数由常规损失函数和附加限制项组成:其中,θ*表示目标参数,N表示本地训练集中的样本数量,L为常规损失函数,x(n)和y(n)分别表示第n条样本的特征向量和标签,f为学习器,λ||θ-θ0||2为附加限制项,λ表示附加限制项的强度,θ0指初始参数,θ表示当前参数。
可选地,在本发明提供的基于联邦学习的模型训练系统中,对初始模型进行训练时所使用的正则化系数的值是常规正则化系数的若干倍。
本发明第二方面提供了一种基于联邦学习的模型训练方法,应用于客户端,包括:根据本地训练集对初始模型进行训练,得到模型更新值;初始模型的训练过程包括前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的;采用秘密分享算法对模型更新值进行计算得到多个秘密分享值,将秘密分享值分别发送至各服务器,秘密分享值的数量与服务器的数量相同;各客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同;根据各服务器发送的聚合更新值计算模型更新的真实值,根据真实值对初始模型进行更新,得到优化模型;聚合更新值是服务器根据各客户端发送的秘密分享值计算得到的。
本发明第三方面提供了一种基于联邦学习的模型训练方法,应用于服务器,包括:接收各客户端发送的秘密分享值,根据各客户端发送的秘密分享值计算聚合更新值,并向各客户端发送聚合更新值,使得客户端能够根据聚合更新值计算模型更新的真实值,并根据真实值对初始模型进行更新得到优化模型;秘密分享值是服务器根据本地训练集对初始模型进行训练得到模型更新值后,采用秘密分享算法对模型更新值进行计算得到的,其中,初始模型的训练过程包括前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,各客户端计算得到的秘密分享值的数量与服务器的数量相同;不同客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同。
本发明第四方面提供了一种计算机设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,从而执行如本发明第二方面或第三方面提供的基于联邦学习的模型训练方法。
本发明第五方面提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如本发明第二方面或第三方面提供的基于联邦学习的模型训练方法。
本发明技术方案,具有如下优点:
1.本发明提供的基于联邦学习的模型训练系统,各客户端在根据本地训练集对初始模型进行训练时,将训练过程划分为前期训练阶段和后期训练阶段,是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,在执行本发明时,客户端对初始模型进行训练的过程中,从前期训练阶段到后期训练阶段的转变过程中,学习率快速下降,解决了由随机初始化的网络与最优解的差距较大以及各客户端对初始模型进行训练时所指向的最优解不同所导致的将各客户端训练得到的参数进行梯度聚合时路径冲突的问题,从而使得各客户端对初始模型进行训练时不局限于局部最优解,同时规避了各客户端采用不同的本地训练集对同一初始模型进行训练时产生的路径冲突;
并且,在本发明提供的基于联邦学习的模型训练系统中,客户端在对初始模型进行训练得到模型更新值后,还采用秘密分享算法将模型更新值拆分为多个不同的秘密分享值,将各秘密分享值分别发送至不同的服务器,系统中的服务器均无法获取完整的模型更新值,保障了模型训练过程中的安全性。
2.本发明提供的基于联邦学习的模型训练系统,当初始模型对应的同态性为加法同态性时,将生成的随机数确定为第一分享值,对第一分享值进行取模运算后,将模型更新值与第一分享值进行取模运算后得到的值的差确定为第二分享值,通过本发明提供的秘密分享算法能够快速完成对模型更新值的加密分享,提高了模型训练的效率。
3.本发明提供的基于联邦学习的模型训练系统,客户端在对初始模型进行训练时,所使用的损失函数是在常规损失函数的基础上加入附加限制项形成的,通过附加限制项附加项能够限制目标模型与初始模型的欧几里得距离,进一步限制目标解的空间到初始解附近,从而防止各客户端采用不同的本地训练集对初始模型进行训练时导致的模型偏移,提高了模型性能和效率。
4.本发明提供的基于联邦学习的模型训练系统,客户端在对初始模型进行训练时,正则化系数的值是常规正则化系数的若干倍,通过一定程度提升正则化系数,能够大幅度压缩参与训练的各客户端的搜索空间,限制模型复杂度,减少待选解的数量,从而降低最优化值搜索的路径冲突发生的概率。
5.本发明提供的基于联邦学习的模型训练方法,客户端在根据本地训练集对初始模型进行训练时,将训练过程划分为前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,在执行本发明时,客户端对初始模型进行训练的过程中,从前期训练阶段到后期训练阶段的转变过程中,学习率快速下降,解决了由随机初始化的网络与最优解的差距较大以及各客户端对初始模型进行训练时所指向的最优解不同所导致的将各客户端训练得到的参数进行梯度聚合时路径冲突的问题,从而使得各客户端对初始模型进行训练时不局限于局部最优解,同时规避了各客户端对采用不同的本地训练集对同一初始模型进行训练时产生的路径冲突;
并且,在本发明提供的基于联邦学习的模型训练方法中,客户端在对初始模型进行训练得到模型更新值后,还采用秘密分享算法将模型更新值拆分为多个不同的秘密分享值,将各秘密分享值分别发送至不同的服务器,系统中的服务器均无法获取完整的模型更新值,保障了模型训练过程中的安全性。
6.本发明提供的基于联邦学习的模型训练方法,服务器根据各客户端发送的秘密分享值计算聚合更新值,使得客户端能够根据聚合更新值计算模型更新的真实值,并根据真实值对初始模型进行更新得到优化模型,其中,秘密分享值是服务器根据本地训练集对初始模型进行训练得到模型更新值后,采用秘密分享算法对模型更新值进行计算得到的,其中,初始模型的训练过程包括前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,客户端对初始模型进行训练的过程中,从前期训练阶段到后期训练阶段的转变过程中,学习率快速下降,解决了由随机初始化的网络与最优解的差距较大以及各客户端对初始模型进行训练时所指向的最优解不同所导致的将各客户端训练得到的参数进行梯度聚合时路径冲突的问题,从而使得各客户端对初始模型进行训练时不局限于局部最优解,同时规避了各客户端对采用不同的本地训练集对同一初始模型进行训练时产生的路径冲突;并且,在本发明提供的基于联邦学习的模型训练方法中,客户端在对初始模型进行训练得到模型更新值后,还采用秘密分享算法将模型更新值拆分为多个不同的秘密分享值,将各秘密分享值分别发送至不同的服务器,系统中的服务器均无法获取完整的模型更新值,保障了模型训练过程中的安全性。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于联邦学习的模型训练系统的一个具体示例的原理框图;
图2为本发明实施例中基于联邦学习的模型训练方法的一个具体示例的流程图;
图3为本发明实施例中计算机设备的一个具体示例的原理框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例提供了一种基于联邦学习的模型训练系统,如图1所示,包括多个客户端和多个服务器,每个客户端中均包括模型训练模块11、参数分享模块12、模型生成模块13。
模型训练模块11用于根据本地训练集对初始模型进行训练,得到模型更新值:θj=F(Θ,Dj).,其中,Θ表示初始模型,Dj表示第j个客户端的本地训练集,θj表示第j个客户端的模型更新值。
在一可选实施例中,各客户端共同训练同一个初始模型,由于不同的客户端所处的环境不同,因此,不同客户端采集到的本地训练集也有所不同,从而训练得到的模型更新值也不同。
初始模型的训练过程包括前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的。
在一可选实施例中,联邦学习算法通常有一个集中式训练算法为基础,前期基础学习率和后期基础学习率是根据集中式训练中各轮学习率确定的,前期训练阶段的学习率可以是在前期基础学习率的基础上扩大2-10倍得到,后期训练阶段的学习率可以是后期基础学习率的1/10-1/100。
在一可选实施例中,可以按照对初始模型进行训练的学习轮数将训练过程分为前期训练阶段和后期训练阶段,示例性地,可以将训练轮数的前1/4确定为前期训练阶段,将训练轮数的后3/4确定为后期训练阶段。
示例性地,在如下表所示的实施例中,对初始模型的训练轮数为100轮,将0-25轮确定为前期训练阶段,将25-75轮确定为后期训练阶段,将75-100轮确定为末期训练阶段,前期训练阶段的学习率是前期基础学习率的2倍,后期训练阶段的学习率是后期基础学习率的1/10,末期训练阶段的学习率是末期基础学习率的1/100。
表1
通过在前期训练阶段设置较高的学习率,在后期训练阶段设置较低的学习率,从前期训练阶段到后期训练阶段的转变过程中,学习率快速下降,解决了由随机初始化的网络与最优解的差距较大,以及各客户端对初始模型进行训练时所指向的最优解不同所导致的将各客户端训练得到的参数进行梯度聚合时路径冲突的问题,从而使得各客户端对初始模型进行训练时不局限于局部最优解,同时规避了各客户端对采用不同的本地训练集对同一初始模型进行训练时产生的路径冲突。
参数分享模块12,用于采用秘密分享算法对模型更新值进行计算得到多个秘密分享值,并将秘密分享值分别发送至各服务器,其中,秘密分享值的数量与服务器的数量相同;各客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同。
在一可选实施例中,如图1所示的实施例,当存在三个客户端(b1、b2、b3)和两个服务器(a1、a2)时,每个客户端分别基于各自的模型更新值计算得到两个秘密分享值,然后将两个秘密分享值分别发送到两个服务器中,每个服务器均接收到三个不同的秘密分享值。
在一可选实施例中,秘密分享值是对模型更新值进行拆分能得到的,一般情况下,对模型更新值进行拆分得到的多个秘密分享值互不相同。
在一可选实施例中,基于拉格朗日插值公式实现的shamir算法、基于单向函数、基于多项式等方式实现的秘密分享算法都可以用于对模型更新值进行计算从而得到秘密分享值。
客户端在对初始模型进行训练得到模型更新值后,采用秘密分享算法将模型更新值拆分为多个不同的秘密分享值,将各秘密分享值分别发送至不同的服务器,系统中的服务器均无法获取完整的模型更新值,保障了模型训练过程中的安全性。
服务器用于根据各客户端发送的秘密分享值计算聚合更新值,并向各客户端发送聚合更新值。示例性地,在图1所示的实施例中,每个服务器都将其接收到的三个秘密分享值进行合并,得到聚合更新值。
模型生成模块13用于根据各服务器发送的聚合更新值计算模型更新的真实值,根据真实值对初始模型进行更新,得到优化模型:
Θ←Θ-α·θs,
其中,θs表示模型更新的真实值,α表示学习率,在本发明实施例中,用于更新初始模型时所使用的学习率是当前对初始模型进行学习的轮数对应的学习率,示例性地,若当前是对初始模型进行训练的第12轮,则对初始模型进行学习时,所使用的学习率是第12轮对应的学习率。
本发明实施例提供的基于联邦学习的模型训练系统,各客户端在根据本地训练集对初始模型进行训练时,将训练过程划分为前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,在执行本发明实施例时,客户端对初始模型进行训练时,从前期训练阶段到后期训练阶段的转变过程中,学习率快速下降,解决了由随机初始化的网络与最优解的差距较大以及各客户端对初始模型进行训练时所指向的最优解不同所导致的将各客户端训练得到的参数进行梯度聚合时路径冲突的问题,从而使得各客户端对初始模型进行训练时不局限于局部最优解,同时规避了各客户端对采用不同的本地训练集对同一初始模型进行训练时产生的路径冲突;并且,在本发明实施例提供的基于联邦学习的模型训练系统中,客户端在对初始模型进行训练得到模型更新值后,还采用秘密分享算法将模型更新值拆分为多个不同的秘密分享值,将各秘密分享值分别发送至不同的服务器,系统中的服务器均无法获取完整的模型更新值,保障了模型训练过程中的安全性。
在一可选实施例中,对模型更新值进行拆分时所使用的秘密分享算法是通过初始模型对应的同态性确定的,当初始模型对应加法同态时,选择满足加法同态性的秘密分享算法对模型更新值进行拆分,当初始模型对应乘法同态性时,选择满足乘法同态性的秘密分享算法对模型更新值进行拆分。
在一可选实施例中,在本发明实施例提供的基于联邦学习的模型训练系统中,参数分享模块12包括:
第二分享值生成子模块,若初始模型所对应的同态性为加法同态性,第二分享值生成模块用于对模型更新值与对第一分享值的差进行取模运算得到第二分享值[x]1=(x-r)(mod2l),将第二分享值发送至第二服务器。
在一可选实施例中,服务器将各客户端发送的秘密分享值的均值确定为聚合更新值:
其中,[θs]i表示第i个服务器计算得到的聚合更新值,m表示服务器接收到的秘密分享值的数量,θj表示第j个客户端发送的秘密分享值。
在本发明实施例中,由于对模型更新值进行拆分时所使用的秘密分享算法具有加法同态性,因此,在服务器生成聚合更新值时,采用了取平均值的方式。
在一可选实施例中,在本发明实施例提供的基于联邦学习的模型训练系统中,模型生成模块13包括:
秘密恢复子模块,用于对第一服务器发送的聚合更新值和第二服务器发送的聚合更新值的和进行取模运算,得到模型更新的真实值:x=([x]0+[x]1)(mod2l),其中,[x]0表示第一服务器发送的聚合更新值,[x]1表示第二服务器发送的聚合更新值。
有了这种加法的同态性,对于多方计算加法x+y可以通过秘密分享、秘密恢复的步骤,来聚合多方的加法结果。推导如下:([x]0+[y]0)(mod2l)+([x]1+[y]1)(mod2l)=([x]0+[x]1)(mod2l)+([y]0+[y]1)(mod2l)=x+y。
模型生成子模块,用于根据模型更新的真实值对初始模型进行更新,得到优化模型,详细内容参见上述实施例中对模型生成模块13的描述,在此不再赘述。
在一可选实施例中,当初始模型对应的同态性为乘法同态性,且客户端采用满足乘法同态性的算法对模型更新值进行计算生成秘密分享值时,服务器包括:
三元组生成模块,用于生成三元组,在一可选实施例中,服务器的三元组是由系统中的各服务器协商得到的,首先,各服务器协商随机生成三元组合并值(a,b,c),其中,c=ab,然后,各服务器协商生成各自的三元组,以系统中包括两个服务器为例,第一服务器的三元组为(a[]0,[b]0,[c]0),第二服务器的三元组为([a]1,[b]1,[c]1),其中,a=[a]0+[a]1,b=[b]0+[b]1。
在本发明实施例中,在加法同态性的基础上,进一步可以构造乘法同态性来支撑多方的乘法运算x*y,为了使[x]*[y]=x*y,需要引入三元组。
中间值生成模块,用于根据三元组和秘密分享值计算中间值:[e]i=[x]i-[a]i,[f]i=[y]i-[b]i,其中,[x]i和[y]i为客户端发送给第i个服务器的秘密分享值。
系统中的各服务器都会根据各自的三元组以及各自接收到的秘密分享值计算得到各自的中间值。
中间值合并模块,用于将中间值与系统中的其他服务器生成的中间值进行合并,形成合并中间值。在一可选实施例中,若各服务器分别生成一个中间值,则将各服务器得到的中间值进行相加,即可得到合并中间值;若各服务器分别生成多类中间值,则将属于同一类的中间值进行相加,得到多个合并中间值。
示例性地,若系统中包括两个服务器,且两个服务器分别计算得到中间值([e]0,[f]0)和([e]1,[f]1),则将两个服务器生成的中间值进行合并后得到的合并中间值为e=([e]0+[e]1)(mod2l)和f=([f]0+[f]1)(mod2l),即e=x-a,f=y-b。
聚合更新值计算模块,用于根据三元组、合并中间值、秘密分享值计算得到聚合更新值:[z]i=-ief+e[y]i+[x]if+[c]i,其中,[z]i表示第i个服务器计算得到的聚合更新值。
在一可选实施例中,当初始模型对应的同态性为乘法同态性,且采用满足乘法同态性的秘密分享算法计算秘密分享值时,模型生成模块13包括:
秘密恢复子模块,用于将各服务器发送的聚合更新值相加,得到模型更新的真实值:z=([z]0+[z]1)(mod2l)。
模型生成子模块,用于根据模型更新的真实值对初始模型进行更新,得到优化模型,详细内容参见上述实施例中对模型生成模块13的描述,在此不再赘述。
在一可选实施例中,在本发明实施例提供的基于联邦学习的模型训练系统中,初始模型训练过程中使用的损失函数由常规损失函数和附加限制项组成:
其中,θ*表示目标参数,N表示本地训练集中的样本数量,L为常规损失函数,x(n)和y(n)分别表示第n条样本的特征向量和标签,f为学习器,λ‖θ-θ0‖2为附加限制项,λ表示附加限制项的强度,θ0指初始参数,θ表示当前参数。
本发明实施例提供的基于联邦学习的模型训练系统,客户端在对初始模型进行训练时,所使用的损失函数是在常规损失函数的基础上加入附加限制项形成的,通过附加限制项能够限制目标模型与初始模型的欧几里得距离,进一步限制目标解的空间到初始解附近,从而防止各客户端采用不同的本地训练集对初始模型进行训练时导致的模型偏移,提高了模型性能和效率。
在一可选实施例中,在本发明实施例提供的基于联邦学习的模型训练系统中,对初始模型进行训练时所使用的正则化系数的值是常规正则化系数的若干倍。
在一可选实施例中,可以将正则化系数扩展为常规正则化系数的50倍以上,具体值可根据实际训练结果进行调整。示例性地,可以将正则化系数从0.0005提升至0.05。
本发明实施例提供的基于联邦学习的模型训练系统,客户端在对初始模型进行训练时,正则化系数的值是常规正则化系数的若干倍,通过一定程度提升正则化系数,能够大幅度压缩参与训练的各客户端的搜索空间,限制模型复杂度,减少待选解的数量,从而降低最优化值搜索的路径冲突发生的概率。
本发明实施例提供了一种基于联邦学习的模型训练方法,应用于客户端,如图2所示,包括:
步骤S11:根据本地训练集对初始模型进行训练,得到模型更新值;初始模型的训练过程包括前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,详细内容参见上述实施例中对模型训练模块11的描述,在此不再赘述。
步骤S12:采用秘密分享算法对模型更新值进行计算得到多个秘密分享值,将秘密分享值分别发送至各服务器,秘密分享值的数量与服务器的数量相同;各客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同,详细内容参见上述实施例中对参数分享模块12的描述,在此不再赘述。
步骤S13:根据各服务器发送的聚合更新值计算模型更新的真实值,根据真实值对初始模型进行更新,得到优化模型;聚合更新值是服务器根据各客户端发送的秘密分享值计算得到的,详细内容参见上述实施例中对模型生成模块13的描述,在此不再赘述。
本发明实施例提供的基于联邦学习的模型训练方法,客户端在根据本地训练集对初始模型进行训练时,将训练过程划分为前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,在执行本发明时,客户端对初始模型进行训练的过程中,从前期训练阶段到后期训练阶段的转变过程中,学习率快速下降,解决了由随机初始化的网络与最优解的差距较大以及各客户端对初始模型进行训练时所指向的最优解不同所导致的将各客户端训练得到的参数进行梯度聚合时路径冲突的问题,从而使得各客户端对初始模型进行训练时不局限于局部最优解,同时规避了各客户端对采用不同的本地训练集对同一初始模型进行训练时产生的路径冲突;
并且,在本发明实施例提供的基于联邦学习的模型训练方法中,客户端在对初始模型进行训练得到模型更新值后,还采用秘密分享算法将模型更新值拆分为多个不同的秘密分享值,将各秘密分享值分别发送至不同的服务器,系统中的服务器均无法获取完整的模型更新值,保障了模型训练过程中的安全性。
本发明实施例提供了一种基于联邦学习的模型训练方法,应用于服务器,包括:
接收各客户端发送的秘密分享值,根据各客户端发送的秘密分享值计算聚合更新值,并向各客户端发送聚合更新值,使得客户端能够根据聚合更新值计算模型更新的真实值,并根据真实值对初始模型进行更新得到优化模型;秘密分享值是服务器根据本地训练集对初始模型进行训练得到模型更新值后,采用秘密分享算法对模型更新值进行计算得到的,其中,初始模型的训练过程包括前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,各客户端计算得到的秘密分享值的数量与服务器的数量相同;不同客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同。
本发明实施例提供的基于联邦学习的模型训练方法,服务器根据各客户端发送的秘密分享值计算聚合更新值,使得客户端能够根据聚合更新值计算模型更新的真实值,并根据真实值对初始模型进行更新得到优化模型,其中,秘密分享值是服务器根据本地训练集对初始模型进行训练得到模型更新值后,采用秘密分享算法对模型更新值进行计算得到的,其中,初始模型的训练过程包括前期训练阶段和后期训练阶段,前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,客户端对初始模型进行训练的过程中,从前期训练阶段到后期训练阶段的转变过程中,学习率快速下降,解决了由随机初始化的网络与最优解的差距较大以及各客户端对初始模型进行训练时所指向的最优解不同所导致的将各客户端训练得到的参数进行梯度聚合时路径冲突的问题,从而使得各客户端对初始模型进行训练时不局限于局部最优解,同时规避了各客户端对采用不同的本地训练集对同一初始模型进行训练时产生的路径冲突;并且,在本发明实施例提供的基于联邦学习的模型训练方法中,客户端在对初始模型进行训练得到模型更新值后,还采用秘密分享算法将模型更新值拆分为多个不同的秘密分享值,将各秘密分享值分别发送至不同的服务器,系统中的服务器均无法获取完整的模型更新值,保障了模型训练过程中的安全性。
本发明实施例提供了一种计算机设备,如图3所示,该计算机设备主要包括一个或多个处理器31以及存储器32,图3中以一个处理器31为例。
该计算机设备还可以包括:输入装置33和输出装置34。
处理器31、存储器32、输入装置33和输出装置34可以通过总线或者其他方式连接,图3中以通过总线连接为例。
处理器31可以为中央处理器(Central Processing Unit,CPU)。处理器31还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器32可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于联邦学习的模型训练系统的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器32可选包括相对于处理器31远程设置的存储器,这些远程存储器可以通过网络连接至基于联邦学习的模型训练系统。输入装置33可接收用户输入的计算请求(或其他数字或字符信息),以及产生与基于联邦学习的模型训练系统有关的键信号输入。输出装置34可包括显示屏等显示设备,用以输出计算结果。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于联邦学习的模方法练系统。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (13)
1.一种基于联邦学习的模型训练系统,其特征在于,包括多个客户端和多个服务器,所述客户端包括模型训练模块、参数分享模块、模型生成模块,
模型训练模块用于根据本地训练集对初始模型进行训练,得到模型更新值;所述初始模型的训练过程包括前期训练阶段和后期训练阶段,所述前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,所述后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的;
参数分享模块,用于采用秘密分享算法对所述模型更新值进行计算得到多个秘密分享值,将所述秘密分享值分别发送至各服务器,所述秘密分享值的数量与所述服务器的数量相同;各客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同;
服务器用于根据所述各客户端发送的秘密分享值计算聚合更新值,并向各客户端发送所述聚合更新值;
模型生成模块用于根据各服务器发送的聚合更新值计算模型更新的真实值,根据所述真实值对所述初始模型进行更新,得到优化模型。
2.根据权利要求1所述的基于联邦学习的模型训练系统,其特征在于,
用于对所述模型更新值计算的秘密分享算法通过与所述初始模型对应的同态性确定。
3.根据权利要求2所述的基于联邦学习的模型训练系统,其特征在于,所述参数分享模块包括:
第一分享值生成子模块,若所述初始模型对应的同态性为加法同态性,所述第一分享值生成模块用于生成随机数,将所述随机数确定为第一分享值,将所述第一分享值发送至第一服务器;
第二分享值生成子模块,若所述初始模型所对应的同态性为加法同态性,所述第二分享值生成模块用于对模型更新值与所述第一分享值的差进行取模运算得到第二分享值,将所述第二分享值发送至第二服务器。
4.根据权利要求3所述的基于联邦学习的模型训练系统,其特征在于,
所述服务器将各客户端发送的秘密分享值的均值确定为所述聚合更新值。
5.根据权利要求3或4所述的基于联邦学习的模型训练系统,其特征在于,模型生成模块包括:
秘密恢复子模块,用于对所述第一服务器发送的聚合更新值和所述第二服务器发送的聚合更新值的和进行取模运算,得到所述模型更新的真实值;
模型生成子模块,用于根据所述模型更新的真实值对所述初始模型进行更新,得到优化模型。
6.根据权利要求2所述的基于联邦学习的模型训练系统,其特征在于,若所述初始模型对应的同态性为乘法同态性,所述服务器包括:
三元组生成模块,用于生成三元组;
中间值生成模块,用于根据所述三元组和秘密分享值计算中间值;
中间值合并模块,用于将所述中间值与系统中的其他服务器生成的中间值进行合并,形成合并中间值;其他服务器根据各自的三元组以及各自接收到的秘密分享值计算得到各自的中间值;
聚合更新值计算模块,用于根据所述三元组、合并中间值、秘密分享值计算得到所述聚合更新值。
7.根据权利要求6所述的基于联邦学习的模型训练系统,其特征在于,模型生成模块包括:
秘密恢复子模块,用于对各服务器发送的聚合更新值的和进行取模运算,得到所述模型更新的真实值;
模型生成子模块,用于根据所述模型更新的真实值对所述初始模型进行更新,得到优化模型。
9.根据权利要求1或8所述的基于联邦学习的模型训练系统,其特征在于,
对所述初始模型进行训练时所使用的正则化系数的值是常规正则化系数的若干倍。
10.一种基于联邦学习的模型训练方法,其特征在于,应用于客户端,包括:
根据本地训练集对初始模型进行训练,得到模型更新值;所述初始模型的训练过程包括前期训练阶段和后期训练阶段,所述前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,所述后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的;
采用秘密分享算法对所述模型更新值进行计算得到多个秘密分享值,将所述秘密分享值分别发送至各服务器,所述秘密分享值的数量与所述服务器的数量相同;各客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同;
根据各服务器发送的聚合更新值计算模型更新的真实值,根据所述真实值对所述初始模型进行更新,得到优化模型;所述聚合更新值是服务器根据各客户端发送的秘密分享值计算得到的。
11.一种基于联邦学习的模型训练方法,其特征在于,应用于服务器,包括:
接收各客户端发送的秘密分享值,根据各客户端发送的秘密分享值计算聚合更新值,并向各客户端发送所述聚合更新值,使得所述客户端能够根据所述聚合更新值计算模型更新的真实值,并根据所述真实值对初始模型进行更新得到优化模型;所述秘密分享值是所述服务器根据本地训练集对初始模型进行训练得到模型更新值后,采用秘密分享算法对所述模型更新值进行计算得到的,其中,初始模型的训练过程包括前期训练阶段和后期训练阶段,所述前期训练阶段的学习率是在前期基础学习率的基础上扩大若干倍得到的,所述后期训练阶段的学习率是在后期基础学习率的基础上缩小若干倍得到的,各客户端计算得到的秘密分享值的数量与服务器的数量相同;不同客户端对应的本地训练集不同,得到的模型更新值和秘密分享值也不同。
12.一种计算机设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行如权利要求10或11所述的基于联邦学习的模型训练方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求10或11所述的基于联邦学习的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111020735.7A CN115758127A (zh) | 2021-09-01 | 2021-09-01 | 一种基于联邦学习的模型训练系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111020735.7A CN115758127A (zh) | 2021-09-01 | 2021-09-01 | 一种基于联邦学习的模型训练系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115758127A true CN115758127A (zh) | 2023-03-07 |
Family
ID=85332181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111020735.7A Pending CN115758127A (zh) | 2021-09-01 | 2021-09-01 | 一种基于联邦学习的模型训练系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115758127A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116415978A (zh) * | 2023-04-15 | 2023-07-11 | 广州芳禾数据有限公司 | 基于联邦学习和多方计算的文旅消费数据分析方法和装置 |
-
2021
- 2021-09-01 CN CN202111020735.7A patent/CN115758127A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116415978A (zh) * | 2023-04-15 | 2023-07-11 | 广州芳禾数据有限公司 | 基于联邦学习和多方计算的文旅消费数据分析方法和装置 |
CN116415978B (zh) * | 2023-04-15 | 2024-03-22 | 广州芳禾数据有限公司 | 基于联邦学习和多方计算的文旅消费数据分析方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021082681A1 (zh) | 多方联合训练图神经网络的方法及装置 | |
CN111600707B (zh) | 一种在隐私保护下的去中心化联邦机器学习方法 | |
US11449753B2 (en) | Method for collaborative learning of an artificial neural network without disclosing training data | |
CN112733967B (zh) | 联邦学习的模型训练方法、装置、设备及存储介质 | |
EP3616356B1 (en) | Preventing misrepresentation of input data by participants in a secure multi-party computation | |
CN116745780A (zh) | 用于去中心化联邦学习的方法和系统 | |
CN109741198B (zh) | 网络信息传播影响力度量方法、系统及影响力最大化方法 | |
CN112818374A (zh) | 一种模型的联合训练方法、设备、存储介质及程序产品 | |
Raginsky et al. | Decentralized online convex programming with local information | |
CN112818369B (zh) | 一种联合建模方法及装置 | |
US20220131707A1 (en) | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device | |
US11843587B2 (en) | Systems and methods for tree-based model inference using multi-party computation | |
JP2022095852A (ja) | デジタル署名方法、署名情報の検証方法、関連装置及び電子機器 | |
CN115758127A (zh) | 一种基于联邦学习的模型训练系统及方法 | |
CN112016698A (zh) | 因子分解机模型构建方法、设备及可读存储介质 | |
CN114116707A (zh) | 确定联合学习中参与方贡献度的方法及装置 | |
CN114116705A (zh) | 联合学习中确定参与方贡献值的方法及装置 | |
Hu et al. | An association rule-based bilateral multi-issue negotiation model | |
WO2023124219A1 (zh) | 一种联合学习模型迭代更新方法、装置、系统及存储介质 | |
CN114116740A (zh) | 用于联合学习中确定参与方贡献度的方法及装置 | |
CN114580661A (zh) | 基于联邦学习的数据处理方法、装置和计算机设备 | |
CN112668037B (zh) | 一种模型训练方法、装置和电子设备 | |
CN114298319A (zh) | 联合学习贡献值的确定方法、装置、电子设备及存储介质 | |
CN114358323A (zh) | 联邦学习环境中基于第三方高效皮尔森系数计算方法 | |
CN116050557A (zh) | 电力负荷预测方法、装置、计算机设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |