CN111967607B - 模型训练方法和装置、电子设备及机器可读存储介质 - Google Patents
模型训练方法和装置、电子设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN111967607B CN111967607B CN202010760008.3A CN202010760008A CN111967607B CN 111967607 B CN111967607 B CN 111967607B CN 202010760008 A CN202010760008 A CN 202010760008A CN 111967607 B CN111967607 B CN 111967607B
- Authority
- CN
- China
- Prior art keywords
- model
- parameters
- local
- parameter
- update
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种模型训练方法,其包括:执行以下循环过程,直至满足循环结束条件:从服务端设备接收当前全局共享模型的全局共享模型参数;根据全局共享模型参数、本地数据及当前全局共享模型得到本地更新模型;将本地更新模型的模型更新综合参数发送给服务端设备;其中,多个客户端设备的模型更新综合参数被服务端设备所使用,以更新当前全局共享模型,并且在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数。本发明还公开了一种模型训练装置、电子设备和机器可读存储介质。本发明的模型训练的方式能够提高服务端设备更新得到的模型的准确率。
Description
技术领域
本发明属于机器学习技术领域,具体地讲,涉及一种模型训练方法、模型训练装置、电子设备及机器可读存储介质。
背景技术
目前,企业中基于机器学习的方法建立起来的模型,均是由各企业根据自身所采集到的数据独立训练出来的,而这些企业所采集的数据是彼此独立而不共享的。因此,所训练得到的模型因训练数据不充足,从而在遭遇攻击(尤其是新型的攻击)时难以获得优质且可靠的结果。
联邦学习机制可以在保护数据隐私的前提下通过使用不同企业的数据作为训练数据而进行模型训练。然而,在现有的联邦学习机制下,各企业利用各自的数据训练得到本地模型,并且将本地模型的参数发送给服务端设备;服务端设备在利用各企业发送的本地模型的参数进行模型更新时,无论本地模型的优劣,各企业发送的本地模型的参数在服务端设备使用过程中均占相同的权重,这样服务端设备更新得到的模型在使用过程中模型的准确率将被大大降低。
发明内容
为了解决上述现有技术存在的技术问题,本发明提供了一种能够提高模型准确率的模型训练方法和模型训练装置。
根据本发明的实施例的一方面提供的模型训练方法由客户端设备执行,所述模型训练方法包括:执行以下循环过程,直至满足循环结束条件:
从服务端设备接收当前全局共享模型的全局共享模型参数;其中,所述当前全局共享模型由所述服务端设备产生;使用所述全局共享模型参数对上一循环过程中训练得到的本地更新模型进行更新,以得到当前本地模型;使用本地数据作为训练数据对所述当前本地模型进行训练,以得到本循环过程中的本地更新模型;根据本循环过程中的所述本地更新模型的更新模型参数、所述客户端设备的本地数据量以及所述全局共享模型参数获取到本循环过程中的所述本地更新模型的模型重要程度参数;其中,所述更新模型参数和所述模型重要程度参数组成本循环过程中的所述本地更新模型的模型更新综合参数;将获取到的所述模型更新综合参数发送给所述服务端设备;
其中,多个所述客户端设备的所述模型更新综合参数被所述服务端设备所使用,以更新所述当前全局共享模型;
其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数。
在上述一方面提供的模型训练方法的一个示例中,所述根据本循环过程中的所述本地更新模型的更新模型参数、所述客户端设备的本地数据量以及所述全局共享模型参数获取到本循环过程中的所述本地更新模型的模型重要程度参数,具体包括:利用所述更新模型参数和本循环过程中的所述全局共享模型参数计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数;根据所述相似性参数计算出用于加快模型收敛速度的注意力分数;根据所述注意力分数和所述客户端设备的本地数据量计算出所述模型重要程度参数。
在上述一方面提供的模型训练方法的一个示例中,所述当前本地模型、所述本地更新模型以及所述当前全局共享模型均为神经网络模型,并且所述当前本地模型、所述本地更新模型以及所述当前全局共享模型的层数均相同。
在上述一方面提供的模型训练方法的一个示例中,利用所述更新模型参数和本循环过程中的所述全局共享模型参数,并根据下面的式子1计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数,
[1]
在所述式子1中,wl表示本循环过程中的所述当前全局共享模型的第l层的所述全局共享模型参数,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的所述更新模型参数,/>表示本循环过程中的所述当前全局共享模型的第l层和第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的相似性参数;
和/或,根据所述相似性参数,并利用下面的式子2计算出所述注意力分数,
[2]
在所述式子2中,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的注意力分数,K表示所有的所述客户端设备的数量;
和/或,根据所述注意力分数和所述客户端设备的本地数据量,并利用下面的式子3和式子4计算出所述模型重要程度参数,
[3]
[4]
在所述式子3和式子4中,ni表示第i个所述客户端设备的本地数据量,N表示所有的所述客户端设备的本地数据量的总数据量,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的模型重要程度参数,βi表示第i个所述客户端设备的本循环过程中的所述本地更新模型的模型重要程度参数。
在上述一方面提供的模型训练方法的一个示例中,各个所述客户端设备的本地数据包括图像数据、语音数据和文本数据中的至少一种。
在上述一方面提供的模型训练方法的一个示例中,所述循环结束条件包括:达到预定循环次数;或者更新上一循环过程中的本地更新模型而得到的当前本地模型被判定为无需训练的客户端设备的数量达到指定阈值。
根据本发明的实施例的另一方面提供的模型训练方法由服务端设备执行,所述服务端设备具有全局共享模型,所述模型训练方法包括:执行以下循环过程,直至满足循环结束条件:
向多个客户端设备发送当前全局共享模型的全局共享模型参数;接收各个所述客户端设备发送的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数;根据各个所述模型更新综合参数对所述当前全局共享模型进行模型更新;
其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数;
其中,各个所述本地更新模型由各个所述客户端设备使用各自的本地数据作为训练数据对各自的当前本地模型进行训练得到,各个所述当前本地模型由各个所述客户端设备利用本循环过程中的所述全局共享模型参数更新上一循环过程中各自的本地更新模型得到;
其中,各个所述模型重要程度参数由各个所述客户端设备根据各自的所述更新模型参数、各自的本地数据量以及本循环过程中的所述全局共享模型参数获取得到。
在上述另一方面提供的模型训练方法的一个示例中,在所述接收各个所述客户端设备发送的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数之后,所述模型训练方法还包括:对接收的各个所述模型更新综合参数进行加密;
所述根据各个所述模型更新综合参数对所述当前全局共享模型进行模型更新,具体包括:根据各个加密后的所述模型更新综合参数对本循环过程中的所述当前全局共享模型进行模型更新。
在上述另一方面提供的模型训练方法的一个示例中,所述对接收的各个所述模型更新综合参数进行加密,具体包括:将方差为0且均值为σ的高斯噪声参数添加到接收的各个所述模型更新综合参数中。
根据本发明的实施例的又一方面提供的模型训练装置设置于客户端设备中,以由所述客户端设备执行,所述模型训练装置包括循环操作直至满足循环结束条件的客户端参数接收单元、客户端模型更新单元、模型训练单元、参数计算单元、客户端参数发送单元;
所述客户端参数接收单元被配置为从服务端设备接收当前全局共享模型的全局共享模型参数;其中,所述当前全局共享模型由所述服务端设备产生;所述客户端模型更新单元被配置为使用所述全局共享模型参数对上一循环过程中训练得到的本地更新模型进行更新,以得到当前本地模型;所述模型训练单元被配置为使用本地数据作为训练数据对所述当前本地模型进行训练,以得到本循环过程中的本地更新模型;所述参数计算单元被配置为根据本循环过程中的所述本地更新模型的更新模型参数、所述客户端设备的本地数据量以及所述全局共享模型参数获取到本循环过程中的所述本地更新模型的模型重要程度参数;其中,所述更新模型参数和所述模型重要程度参数组成本循环过程中的所述本地更新模型的模型更新综合参数;所述参数发送单元被配置为将获取到的所述模型更新综合参数发送给所述服务端设备;其中,多个所述客户端设备的所述模型更新综合参数被所述服务端设备所使用,以更新所述当前全局共享模型;
其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数。
在上述又一方面提供的模型训练装置的一个示例中,所述参数计算单元包括:相似性参数计算模块,被配置为利用所述更新模型参数和本循环过程中的所述全局共享模型参数计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数;注意力分数计算模块,被配置为根据所述相似性参数计算出用于加快模型收敛速度的注意力分数;模型重要程度参数计算模块,被配置为根据所述注意力分数和所述客户端设备的本地数据量计算出所述模型重要程度参数。
根据本发明的实施例的再一方面提供的模型训练装置设置于服务端设备中,以由所述服务端设备执行,所述服务端设备具有全局共享模型,所述模型训练装置包括循环操作直至满足循环结束条件的服务端参数发送单元、服务端参数接收单元、服务端模型更新单元;所述服务端参数发送单元被配置为向多个所述客户端设备发送当前全局共享模型的全局共享模型参数;所述服务端参数接收单元被配置为接收各个所述客户端设备发送的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数;所述服务端模型更新单元被配置为根据各个所述模型更新综合参数对所述当前全局共享模型进行模型更新;
其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数;
其中,各个所述本地更新模型由各个所述客户端设备使用各自的本地数据作为训练数据对各自的当前本地模型进行训练得到,各个所述当前本地模型由各个所述客户端设备利用本循环过程中的所述全局共享模型参数更新上一循环过程中各自的本地更新模型得到;
其中,各个所述模型重要程度参数由各个所述客户端设备根据各自的所述更新模型参数、各自的本地数据量以及本循环过程中的所述当前全局共享模型的全局共享模型参数获取得到。
在上述再一方面提供的模型训练装置的一个示例中,所述服务端模型更新单元包括:参数加密模块,被配置为对接收的各个所述模型更新综合参数进行加密;模型更新模块,被配置为利用各个加密后的模型更新综合参数对本循环过程中的所述当前全局共享模型进行模型更新。
根据本发明的实施例的再一方面,提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的模型训练方法。
根据本发明的实施例的再一方面,提供了一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的模型训练方法。
根据本发明的实施例的再一方面,提供了一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的模型训练方法。
根据本发明的实施例的再一方面,提供了一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的模型训练方法。
有益效果:通过对质量比较优良的本地更新模型赋予数值较大的模型重要程度参数,而对质量比较劣质本地更新模型赋予数值较小的模型重要程度参数,这样,在服务端设备进行模型更新的过程中,优良的本地更新模型的参数权重较大,而劣质的本地更新模型的参数权重较小,从而能够提高服务端设备更新得到的模型的准确率。
附图说明
通过结合附图进行的以下描述,本发明的实施例的上述和其它方面、特点和优点将变得更加清楚,附图中:
图1是示出了根据本发明的实施例的服务端设备和客户端设备通信连接的一个示例的示意图;
图2是示出了根据本发明的一实施例的模型训练方法的流程图;
图3是示出了根据本发明的一实施例的模型训练方法中客户端设备获取模型重要程度参数的一个示例性方法的流程图;
图4是示出了根据本发明的另一实施例的模型训练方法的流程图;
图5是示出了根据本发明的一实施例的模型训练装置的方框图;
图6是示出了根据本发明的另一实施例的模型训练装置的方框图;
图7是示出了根据本发明的一实施例的实现模型训练方法的电子设备的方框图;
图8是示出了根据本发明的另一实施例的实现模型训练方法的电子设备的方框图。
具体实施方式
以下,将参照附图来详细描述本发明的具体实施例。然而,可以以许多不同的形式来实施本发明,并且本发明不应该被解释为限制于这里阐述的具体实施例。相反,提供这些实施例是为了解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各种实施例和适合于特定预期应用的各种修改。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”、“根据”等表示“至少部分地基于”、“至少部分地根据”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
如上所述,在现有的联邦学习机制下,各企业利用各自的数据训练得到本地模型,并且将本地模型的参数发送给服务端设备;服务端设备在利用各企业发送的本地模型的参数进行模型更新时,无论本地模型的优劣,各企业发送的本地模型的参数在服务端设备使用过程中均占相同的权重,这样服务端设备更新得到的模型在使用过程中检测攻击的准确率将被大大降低。
以信用风险评估模型为例,信用风险评估是金融行业,尤其是银行业的重要课题之一。对于各金融企业而言,采集到的客户的数据是彼此封闭、隔离的,这样各企业运用自己采集到的数据只能训练出较为简单的模型,远不足以满足金融行业反欺诈等的要求。而为了防止采集到的数据被泄露,各金融企业之间是无法彼此交互数据的。因此,为了保护隐私,在保持各企业的数据不交互的情况下,可以通过联邦学习机制训练出满足条件的模型,但是现有的联邦学习机制中,各金融企业发送的本地模型的参数在服务端设备使用过程中均占相同的权重,这样服务端设备更新得到的模型在使用过程中检测攻击的准确率将被大大降低。
为了提高模型检测攻击的准确率,根据本发明的实施例提供了一种结合了模型重要程度参数来进行模型训练的方法和装置。该方法可以由服务端设备执行,该服务端设备执行以下循环过程,直至满足循环结束条件:将当前全局共享模型的全局共享模型参数发送给多个客户端设备,每个客户端设备使用全局共享模型参数对上一循环过程中训练得到的本地更新模型进行更新,以得到当前本地模型,每个客户端设备使用本地私有数据作为训练数据对当前本地模型进行训练,以得到本循环过程中的本地更新模型;从多个客户端设备的各个客户端设备接收本循环过程中的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数;以及根据接收的各个模型更新综合参数对当前全局共享模型进行模型更新。
因此,在该方法中,服务端设备在获取所期望的模型时结合了多个客户端设备的本地更新模型的模型重要程度参数,从而可以提高优质的本地更新模型的模型参数的权重,并降低劣质的本地更新模型的模型参数的权重,进而在使用过程中所期望的模型检测攻击的准确率被大大地提高。
以下将结合附图来详细描述根据本发明的实施例的结合了模型重要程度参数来进行模型训练的方法和装置。
根据本发明的实施例的模型训练方法可以由服务端设备执行,服务端设备可以与多个客户端设备通信连接。客户端设备可以包括智能手机、平板电脑、个人计算机等。服务端设备可以包括云服务器、服务器等。
图1是示出了根据本发明的实施例的服务端设备和客户端设备通信连接的一个示例的示意图。参照图1,服务端设备110分别与三个客户端设备120通信连接,服务端设备110与每个客户端设备120之间进行数据传输。
图2是示出了根据本发明的一实施例的模型训练方法的流程图。
参照图2,在框202,服务端设备将当前全局共享模型的全局共享模型参数发送给多个客户端设备。
在根据本发明的实施例中,全局共享模型产生并存储于服务端设备中。服务端设备可以对全局共享模型进行模型更新,对全局共享模型的模型更新是一个循环过程,每次循环过程都会对全局共享模型进行更新,生成更新后的全局共享模型。在每次模型更新过程中,服务端设备存储最新更新的全局共享模型。
在一个示例中,服务端设备可以对全局共享模型进行初始化,全局共享模型的初始模型可以是使用开源数据训练得到的。在该示例中,使用开源数据进行初始化的训练,可以在训练过程中学习到一些共性特征,这样可以加快使用私有数据的模型训练过程。
需要说明的是,图2中示出的两个客户端设备仅作为一个示例,服务端设备还可以将当前全局共享模型下发给3个、4个、5个、6个、7个、8个、9个、10个或者更多个客户端设备。
在服务端设备将当前全局共享模型的全局共享模型参数发送给多个客户端设备之后,在框204,对于每个客户端设备,利用全局共享模型参数对上一循环过程中得到的本地更新模型进行模型更新,以得到当前本地模型。也就是说,得到的当前本地模型与本循环过程中的当前全局共享模型相同。
在框206,每个客户端设备使用本地数据(即客户端设备采集的数据)作为训练数据对当前本地模型进行训练,以得到本循环过程中的本地更新模型。
这里,各个客户端设备使用本地数据训练当前本地模型而得到本循环过程中的本地更新模型,而本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数是即将反馈给服务端设备,使服务端设备用来更新当前全局共享模型的参数。
在一个示例中,各个客户端设备处的本地数据可以包括图像数据、语音数据以及文本数据等的数据类型。
对于每个客户端设备来说,可以使用训练迭代次数或者损失函数等指定训练结束条件来判断对当前本地模型的训练是否结束。不同的客户端设备可以采用不同的训练结束条件。
每个客户端设备使用本地数据作为训练数据进行训练,不同的客户端设备本地数据会不同,则每个客户端设备所使用的训练数据可以不同,这样在训练完成后各个客户端设备得到的本地更新模型可以不同,各个客户端设备的本地更新模型可以用各自对应的更新模型参数和模型重要程度参数(即模型更新综合参数)来表征。
每次得到的包括更新模型参数和模型重要程度参数的模型更新综合参数对应一次循环过程,在每次循环过程中,每个客户端设备针对当前本地模型完成一次训练,相应地,会得到针对该循环过程的模型更新综合参数。
针对更新模型参数,在这种情况下,利用训练完成后得到的更新模型参数直接替换训练之前的相应的模型参数。例如,当前本地模型的模型参数a在训练之前的数值为50,而在此次的循环过程中训练完成后,该模型参数a的数值调整为70,则针对该模型参数a的更新模型参数为70,即得到的本地更新模型中相应的模型参数a的数值为70,并且相应的更新模型参数也为70。
在另外一个示例中,更新模型参数还可以是在对应的循环过程中当前本地模型在训练之前的模型参数与训练完成后对应的模型参数之间的差异。例如,当前本地模型的模型参数a在训练之前的数值为50,而在此次的循环过程中训练完成后,该模型参数a的数值调整为70,则针对该模型参数a的更新模型参数为20,即得到的本地更新模型中相应的模型参数a的数值为70,而相应的更新模型参数为20。在这种情况下,更新模型参数可以包括正调整量和负调整量,当更新模型参数为正调整量时表示对模型参数的调整是增加方式,当更新模型参数调整量为负调整量时表示对模型参数的调整是减少方式。
每个客户端设备得到的更新模型参数可以针对多个模型参数,不同的客户端设备所得到的更新模型参数所针对的模型参数可以不同,不同的客户端设备针对相同的模型参数的更新模型参数可以不同。
例如,客户端设备A对当前本地模型进行训练后,更新针对的模型参数包括模型参数1和模型参数2,其中,模型参数1的更新模型参数为3,模型参数2的更新模型参数为4,则该客户端设备A得到的更新模型参数包括针对模型参数1和模型参数2的更新模型参数。客户端设备B对当前本地模型进行训练后,更新的模型参数包括模型参数1、模型参数2和模型参数3,其中,模型参数1的更新模型参数为8,模型参数2的更新模型参数为7,模型参数3的更新模型参数为5,则该客户端设备B得到的更新模型参数包括针对模型参数1、模型参数2和模型参数3的更新模型参数。
而针对模型重要程度参数,其指示的是本地更新模型的质量好坏。在一个示例中,如果得到的本地更新模型的质量比较优良,则相应的模型重要程度参数的数值会比较大;而如果得到的本地更新模型的质量比较劣质,则相应的模型重要程度参数的数值会比较小。这样,在服务端设备即将进行的模型更新中,优良的本地更新模型的参数权重较大,而劣质的本地更新模型的参数权重较小,从而能够提高服务端设备更新得到的模型的准确率。
在一个示例中,每个客户端设备根据本循环过程中的本地更新模型的更新模型参数、该客户端设备的本地数据量(训练模型的数据量)以及本循环过程中的当前全局共享模型的全局共享模型参数获取到本循环过程中的本地更新模型的模型重要程度参数。
图3是示出了根据本发明的一实施例的模型训练方法中客户端设备获取模型重要程度参数的一个示例性方法的流程图。
参照图3,在步骤S310中,客户端设备利用本循环过程中的更新模型参数和全局共享模型参数,并根据下面的式子1计算出本循环过程中的更新模型参数和全局共享模型参数之间的相似性参数。
[1]
在式子1中,wl表示本循环过程中的当前全局共享模型的第l层的全局共享模型参数,表示第i个所述客户端设备的本循环过程中的本地更新模型的第l层的更新模型参数,/>表示本循环过程中的当前全局共享模型的第l层和第i个所述客户端设备的本循环过程中的本地更新模型的第l层的相似性参数,即wl和/>之间差异的p-范数。
在步骤S320中,客户端设备根据步骤S310中计算得到的相似性参数,并利用下面的式子2计算出客户端设备的本循环过程中的本地更新模型的注意力分数。
[2]
在式子2中,表示第i个所述客户端设备的本循环过程中的本地更新模型的第l层的注意力分数,K表示所有的客户端设备的数量。这里,注意力机制的引入,可以加快模型的收敛速度,从而减少了整个系统的通信代价。
在步骤S330中,客户端设备根据步骤S320中计算得到的注意力分数和客户端设备的本地数据量,并利用下面的式子3和式子4计算出本循环过程中的本地更新模型的模型重要程度参数。
[3]
[4]
在式子3和式子4中,ni表示第i个客户端设备的本地数据量,N表示所有的客户端设备的本地数据量的总数据量,表示第i个客户端设备的本循环过程中的本地更新模型的第l层的模型重要程度参数,βi表示第i个客户端设备的本循环过程中的本地更新模型的模型重要程度参数。
在一个示例中,各个客户端设备处的本地数据可以包括标签数据,每个本地数据对应有一个标签。在一个示例中,标签数据的标签用来表征本地数据是否被正确识别,比如,针对图像识别,每个客户端设备的本地数据包括图像数据,客户端设备在每次采集图像数据时,可以确定所采集的图像数据是否被正确识别,如果识别错误,则该图像数据的标签表示该图像数据被错误识别,如果识别正确,则该图像数据的标签表示该图像数据被正确识别。
在框208,服务端设备从多个客户端设备中的各个客户端设备接收本循环过程中的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数。
在根据本发明的实施例中,每个客户端设备发送的模型更新综合参数包括该客户端设备得到的模型更新综合参数。
这里,作为一个示例,需要强调的是,客户端设备的模型和服务端设备的模型均可以例如是神经网络模型,诸如卷积神经网络模型;也就是说,客户端设备的当前本地模型、本地更新模型和服务端设备的全局共享模型均可以是神经网络模型。进一步地,各个模型的层数相同,也就是说客户端设备的当前本地模型、本地更新模型和服务端设备的全局共享模型的层数相同。
在框210,服务端设备根据所接收的各个模型更新综合参数来对当前全局共享模型进行更新。
服务端设备可以基于所接收到的所有模型更新综合参数来对当前全局共享模型进行模型更新,还可以基于所接收到的部分模型更新综合参数来对当前全局共享模型进行模型更新。
针对不同的循环过程,服务端设备可以采用不同方式来对各自对应的当前全局共享模型进行模型更新。例如,在第一次循环过程中可以基于所接收到的所有模型更新综合参数对当前全局共享模型进行模型更新,在第二次循环过程中可以基于所接收到的部分模型更新综合参数来对当前全局共享模型进行模型更新。
在一个示例中,服务端设备利用所接收的各个模型更新综合参数,并根据下面的式子5来对当前全局共享模型进行更新。
[5]
在式子5中,θt表示本循环过程中服务端设备的当前全局共享模型的全局共享模型参数,θt+5表示本循环过程中服务端设备的更新后的全局共享模型的全局共享模型参数,表示本循环过程中第i个客户端设备的本地更新模型的更新模型参数,βi表示本循环过程中第i个客户端设备的本地更新模型的模型重要程度参数,K表示本循环过程中客户端设备的总数量,η表示步长。
进一步地,在一个示例中,服务端设备对当前全局共享模型更新的目标由下面的式子6表示。
[6]
在式子6中,L(·,·)表示为本循环过程中服务端设备的当前全局共享模型(更新前)的全局共享模型参数和第i个客户端设备的本地更新模型的更新模型参数之间的参数距离。
在框212,服务端设备判断是否满足循环结束条件。如果是,结束训练;如果否,进入框214。
这里,循环结束条件可以是指定的。在一个示例中,循环结束条件可以包括达到预定循环次数。
在又一个示例中,循环结束条件可以包括:更新上一循环过程中的本地更新模型而得到的当前本地模型被判定为无需训练的客户端设备的数量达到指定阈值。其中,指定阈值可以是数量阈值,比如,指定阈值是20个。指定阈值还可以是百分比阈值,比如,指定阈值是90%。
在框214,服务端设备将更新后的全局共享模型的全局共享模型参数确定为下一循环过程中的当前全局共享模型的全局共享模型参数,并且返回执行框202的操作。
在根据本发明的实施例中,服务端设备可以将本次循环过程中更新后的全局共享模型存储至本地,并覆盖本次循环过程中更新前的当前全局共享模型。这样使得服务端设备本地存储的全局共享模型是最新的。
在一个示例中,服务端设备在产生全局共享模型后,可以将产生的全局共享模型下发给所述多个客户端设备,以供各个客户端设备在本地应用。在另一个示例中,服务端设备在产生全局共享模型后,可以将产生的全局共享模型的全局共享模型参数下发给所述多个客户端设备,各个客户端设备利用全局共享模型参数来对上一循环过程中的本地更新模型进行参数更新,以得到与产生的全局共享模型相同的当前本地模型,从而供服务端设备使用。
例如,全局共享模型为图像识别模型,客户端设备本地存储产生的图像识别模型。用户使用客户端设备的图像识别功能时,客户端设备本地存储的图像识别模型对用户图像进行识别,客户端设备根据识别结果来进行响应操作。
图4是示出了根据本发明的另一实施例的模型训练方法的流程图。
参照图4,根据本发明的另一实施例的模型训练方法的流程与图2所示的根据本发明的一实施例的模型训练方法的流程的不同之处在于:在框208和框210之间增加了框209。相应的,框210的具体操作过程也随之改变。
具体地,在框209,服务端设备对所接收的各个模型更新综合参数进行加密。这里,加密技术的引入,可以保护各客户端设备的参数不受其他不信任的第三方的攻击,提升整个系统的安全性能。
加密方法可以是指定的。在一个示例中,服务端设备对所接收的各个模型更新综合参数添加方差为0均值为σ的高斯噪声参数,以实现对各个模型更新综合参数的加密。
由于服务端设备在对本循环过程中的当前全局共享模型进行更新之前,在框209中服务端设备对所接收的各个模型更新综合参数进行了加密,因此相应的框210也随之改变。也就是说,在图4的框210,服务端设备根据各个加密后的模型更新综合参数来对本循环过程中的当前全局共享模型进行模型更新。
在根据本发明的另一实施例的一个示例中,服务端设备利用所接收的各个模型更新综合参数,并根据下面的式子7来对当前全局共享模型进行更新。
[7]
在式子7中,θt表示本循环过程中服务端设备的当前全局共享模型的全局共享模型参数,θt+5表示本循环过程中服务端设备的更新后的全局共享模型的全局共享模型参数,表示本循环过程中第i个客户端设备的本地更新模型的更新模型参数,βi表示本循环过程中第i个客户端设备的本地更新模型的模型重要程度参数,K表示本循环过程中客户端设备的总数量,η表示步长。
进一步地,在根据本发明的另一实施例的一个示例中,服务端设备对当前全局共享模型更新的目标可以由上面的式子6表示。也就是说,根据本发明的另一实施例的一个示例中的服务端设备对当前全局共享模型更新的目标与根据本发明的一实施例的一个示例中的服务端设备对当前全局共享模型更新的目标相同。
此外,服务端设备可以基于所有加密后的模型更新综合参数来对本循环过程中的当前全局共享模型进行模型更新,还可以基于部分加密后的模型更新综合参数来对本循环过程中的当前全局共享模型进行模型更新。
针对不同的循环过程,服务端设备可以采用不同方式来对各自对应的当前全局共享模型进行模型更新。例如,在第一次循环过程中可以基于所有加密后的模型更新综合参数对第一次循环过程中的当前全局共享模型进行模型更新,在第二次循环过程中可以基于部分加密后的模型更新综合参数来对第二次循环过程中的当前全局共享模型进行模型更新。
图5是示出了根据本发明的一实施例的模型训练装置(以下称为模型训练装置500)的方框图。
模型训练装置500应用于服务端设备中,以由服务端设备来执行。参照图5,模型训练装置500包括:服务端参数发送单元510、服务端参数接收单元520以及服务端模型更新单元530。服务端参数发送单元510、服务端参数接收单元520以及服务端模型更新单元530循环操作,直至满足循环结束条件。
服务端参数发送单元510被配置为向多个客户端设备发送当前全局共享模型的全局共享模型参数。在一个示例中,服务端参数发送单元510将产生的全局共享模型的全局共享模型参数发送给多个客户端设备,各个客户端设备根据全局共享模型参数产生供本地使用的模型。
服务端参数接收单元520被配置为从多个客户端设备的各个客户端设备接收本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数。这里,各个客户端设备根据全局共享模型参数对上一循环过程中的本地更新模型进行更新,以产生当前本地模型,并使用本地数据训练当前本地模型而得到本循环过程中的本地更新模型及其更新模型参数。在一个示例中,每个客户端设备根据本循环过程中的本地更新模型的更新模型参数、该客户端设备的本地数据量(训练模型的数据量)以及本循环过程中的当前全局共享模型的全局共享模型参数获取到本循环过程中的本地更新模型的模型重要程度参数。本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数被发送给服务端设备的服务端参数接收单元520,使服务端设备用来更新全局共享模型的参数。
服务端模型更新单元530被配置为根据接收的各个模型更新综合参数对当前全局共享模型进行模型更新;其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数;其中,所述循环结束条件包括:达到预定循环次数;或者更新上一循环过程中的本地更新模型而得到的当前本地模型被判定为无需训练的客户端设备的数量达到指定阈值。
在一个示例中,服务端模型更新单元530可以包括参数加密模块和模型更新模块。参数加密模块被配置为对接收的各个模型更新综合参数进行加密;模型更新模块被配置为利用各个加密后的模型更新综合参数对本循环过程中的当前全局共享模型进行模型更新。在一个示例中,参数加密模块具体被配置为:在接收的各个模型更新综合参数中加入方差为0均值为σ的高斯噪声参数,以对各个模型更新综合参数进行加密。
图6是示出了根据本发明的另一实施例的模型训练装置(以下称为模型训练装置600)的方框图。
模型训练装置600应用于客户端设备中,以由客户端设备来执行。参照图6,模型训练装置600包括:客户端参数接收单元610、客户端模型更新单元620、客户端模型训练单元630、客户端参数计算单元640以及客户端参数发送单元650。客户端参数接收单元610、客户端模型更新单元620、客户端模型训练单元630、客户端参数计算单元640以及客户端参数发送单元650循环操作,直至满足循环结束条件。
客户端参数接收单元610被配置为从服务端设备接收本循环过程中的当前全局共享模型的全局共享模型参数。
客户端模型更新单元620被配置为利用接收的全局共享模型参数对上一循环过程中得到的本地更新模型进行模型更新,以得到当前本地模型。
客户端模型训练单元630被配置为使用本地数据作为训练数据对当前本地模型进行训练,以得到本次循环过程中的本地更新模型。
客户端参数计算单元640被配置为根据本循环过程中的本地更新模型的更新模型参数、客户端设备的本地数据量以及本循环过程中的当前全局共享模型的全局共享模型参数获取到本循环过程中的本地更新模型的模型重要程度参数;其中,模型重要程度参数和更新模型参数构成本循环过程中的本地更新模型的模型更新综合参数。
在一个示例中,客户端参数计算单元640包括:相似性参数计算模块、注意力分数计算模块以及模型重要程度参数计算模块。相似性参数计算模块被配置为利用本循环过程中的更新模型参数和全局共享模型参数计算出本循环过程中的更新模型参数和全局共享模型参数之间的相似性参数。注意力分数计算模块被配置为根据相似性参数计算出用于加快模型收敛速度的注意力分数。模型重要程度参数计算模块被配置为根据注意力分数和客户端设备的本地数据量计算出模型重要程度参数。
客户端参数发送单元650被配置为将本循环过程中的模型更新综合参数发送给服务端设备;其中,多个客户端设备的模型更新综合参数被服务端设备所使用,以更新当前全局共享模型,并且在未满足循环结束条件时,更新后的全局共享模型的全局共享模型参数被服务端设备发送给各个所述客户端设备以充当下一循环过程中的当前全局共享模型的全局共享模型参数。
其中,循环结束条件包括:达到预定循环次数;或者更新上一循环过程中的本地更新模型而得到的当前本地模型被判定为无需训练的客户端设备的数量达到指定阈值。
以上参照图1到图6,对根据本发明的实施例的模型训练方法和模型训练装置进行了描述。
根据本发明的实施例的模型训练装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本发明的实施例中,使用进行模型训练的装置例如可以利用电子设备来实现。
图7是示出了根据本发明的一实施例的实现模型训练方法的电子设备的方框图。
参照图7,电子设备700可以包括至少一个处理器710、存储器(例如,非易失性存储器)720、内存730和通信接口740,并且至少一个处理器710、存储器720、内存730和通信接口740经由总线750连接在一起。至少一个处理器710执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个示例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器710执行以下循环过程,直至满足循环结束条件:将当前全局共享模型的全局共享模型参数发送给多个客户端设备,每个客户端设备使用全局共享模型参数对上一循环过程中训练得到的本地更新模型进行更新,以得到当前本地模型,每个客户端设备使用本地私有数据作为训练数据对当前本地模型进行训练,以得到本循环过程中的本地更新模型;从多个客户端设备的各个客户端设备接收本循环过程中的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数;以及根据接收的各个模型更新综合参数对当前全局共享模型进行模型更新;其中,在未满足循环结束条件时,更新后的全局共享模型的全局共享模型参数被服务端设备发送给各个客户端设备以充当下一循环过程中的当前全局共享模型的全局共享模型参数。
在另一个示例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器710执行以下循环过程,直至满足循环结束条件:将当前全局共享模型的全局共享模型参数发送给多个客户端设备,每个客户端设备使用全局共享模型参数对上一循环过程中训练得到的本地更新模型进行更新,以得到当前本地模型,每个客户端设备使用本地私有数据作为训练数据对当前本地模型进行训练,以得到本循环过程中的本地更新模型;从多个客户端设备的各个客户端设备接收本循环过程中的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数;对接收的各个所述模型更新综合参数进行加密;以及根据各个加密后的模型更新综合参数对当前全局共享模型进行模型更新;其中,在未满足循环结束条件时,更新后的全局共享模型的全局共享模型参数被服务端设备发送给各个客户端设备以充当下一循环过程中的当前全局共享模型的全局共享模型参数。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器710在进行根据本发明的各个实施例中结合以上图1至图6描述的各种操作和功能。
图8是示出了根据本发明的另一实施例的实现模型训练方法的电子设备的方框图。
参照图8,电子设备800可以包括至少一个处理器810、存储器(例如,非易失性存储器)820、内存830和通信接口840,并且至少一个处理器810、存储器820、内存830和通信接口840经由总线850连接在一起。至少一个处理器810执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个示例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器810执行以下循环过程,直至满足循环结束条件:从服务端设备接收当前全局共享模型的全局共享模型参数;使用全局共享模型参数对上一循环过程中的本地更新模型进行更新,以得到当前本地模型;使用客户端设备的本地数据作为训练数据对当前本地模型进行训练,以得到本循环过程中的本地更新模型;以及将本循环过程中的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数发送给服务端设备,其中,服务端设备使用来自多个客户端设备的模型更新综合参数来进行模型更新,以及在未满足循环结束条件时,更新后的全局共享模型的全局共享模型参数被发送给各个客户端设备以充当下一循环过程中的当前全局共享模型的全局共享模型参数。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器810在进行根据本发明的各个实施例中结合以上图1至图8描述的各种操作和功能。
根据一个实施例,提供了一种例如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本发明的各个实施例中的结合以上图1至图6描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的实施例的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本发明的特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”、“示例”等意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本发明的实施例的可选实施方式,但是,本发明的实施例并不限于上述实施方式中的具体细节,在本发明的实施例的技术构思范围内,可以对本发明的实施例的技术方案进行多种简单变型,这些简单变型均属于本发明的实施例的保护范围。
本说明书内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本说明书内容。对于本领域普通技术人员来说,对本说明书内容进行的各种修改是显而易见的,并且,也可以在不脱离本说明书内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本说明书内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (14)
1.一种模型训练方法,其特征在于,所述模型训练方法由客户端设备执行,所述模型训练方法包括:
执行以下循环过程,直至满足循环结束条件:
从服务端设备接收当前全局共享模型的全局共享模型参数;其中,所述当前全局共享模型由所述服务端设备产生;
使用所述全局共享模型参数对上一循环过程中训练得到的本地更新模型进行更新,以得到当前本地模型;
使用本地数据作为训练数据对所述当前本地模型进行训练,以得到本循环过程中的本地更新模型,所述本地数据包括图像数据、语音数据和文本数据中的至少一种;
根据本循环过程中的所述本地更新模型的更新模型参数、所述客户端设备的本地数据量以及所述全局共享模型参数获取到本循环过程中的所述本地更新模型的模型重要程度参数;其中,所述更新模型参数和所述模型重要程度参数组成本循环过程中的所述本地更新模型的模型更新综合参数;
将获取到的所述模型更新综合参数发送给所述服务端设备;其中,多个所述客户端设备的所述模型更新综合参数被所述服务端设备所使用,以更新所述当前全局共享模型;
其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数;
其中,所述根据本循环过程中的所述本地更新模型的更新模型参数、所述客户端设备的本地数据量以及所述全局共享模型参数获取到本循环过程中的所述本地更新模型的模型重要程度参数,具体包括:
利用所述更新模型参数和本循环过程中的所述全局共享模型参数计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数;
根据所述相似性参数计算出用于加快模型收敛速度的注意力分数;
根据所述注意力分数和所述客户端设备的本地数据量计算出所述模型重要程度参数;
其中,利用所述更新模型参数和本循环过程中的所述全局共享模型参数,并根据下面的式子1计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数,
[1]
在所述式子1中,wl表示本循环过程中的所述当前全局共享模型的第l层的所述全局共享模型参数,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的所述更新模型参数,/>表示本循环过程中的所述当前全局共享模型的第l层和第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的相似性参数;
和/或,根据所述相似性参数,并利用下面的式子2计算出所述注意力分数,
[2]
在所述式子2中,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的注意力分数,K表示所有的所述客户端设备的数量;
和/或,根据所述注意力分数和所述客户端设备的本地数据量,并利用下面的式子3和式子4计算出所述模型重要程度参数,
[3]
[4]
在所述式子3和式子4中,ni表示第i个所述客户端设备的本地数据量,N表示所有的所述客户端设备的本地数据量的总数据量,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的模型重要程度参数,βi表示第i个所述客户端设备的本循环过程中的所述本地更新模型的模型重要程度参数。
2.根据权利要求1所述的模型训练方法,其特征在于,所述当前本地模型、所述本地更新模型以及所述当前全局共享模型均为神经网络模型,并且所述当前本地模型、所述本地更新模型以及所述当前全局共享模型的层数均相同。
3.根据权利要求1所述的模型训练方法,其特征在于,所述循环结束条件包括:
达到预定循环次数;或者
更新上一循环过程中的本地更新模型而得到的当前本地模型被判定为无需训练的客户端设备的数量达到指定阈值。
4.一种模型训练方法,其特征在于,所述模型训练方法由服务端设备执行,所述服务端设备具有全局共享模型,所述模型训练方法包括:
执行以下循环过程,直至满足循环结束条件:
向多个客户端设备发送当前全局共享模型的全局共享模型参数;
接收各个所述客户端设备发送的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数;
根据各个所述模型更新综合参数对所述当前全局共享模型进行模型更新;
其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数;
其中,各个所述本地更新模型由各个所述客户端设备使用各自的本地数据作为训练数据对各自的当前本地模型进行训练得到,各个所述当前本地模型由各个所述客户端设备利用本循环过程中的所述全局共享模型参数更新上一循环过程中各自的本地更新模型得到,所述本地数据包括图像数据、语音数据和文本数据中的至少一种;
其中,各个所述模型重要程度参数由各个所述客户端设备根据各自的所述更新模型参数、各自的本地数据量以及本循环过程中的所述全局共享模型参数获取得到;
其中,利用所述更新模型参数和本循环过程中的所述全局共享模型参数,并根据下面的式子1计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数,
[1]
在所述式子1中,wl表示本循环过程中的所述当前全局共享模型的第l层的所述全局共享模型参数,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的所述更新模型参数,/>表示本循环过程中的所述当前全局共享模型的第l层和第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的相似性参数;
和/或,根据所述相似性参数,并利用下面的式子2计算出注意力分数,
[2]
在所述式子2中,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的注意力分数,K表示所有的所述客户端设备的数量;
和/或,根据所述注意力分数和所述客户端设备的本地数据量,并利用下面的式子3和式子4计算出所述模型重要程度参数,
[3]
[4]
在所述式子3和式子4中,ni表示第i个所述客户端设备的本地数据量,N表示所有的所述客户端设备的本地数据量的总数据量,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的模型重要程度参数,βi表示第i个所述客户端设备的本循环过程中的所述本地更新模型的模型重要程度参数。
5.根据权利要求4所述的模型训练方法,其特征在于,在所述接收各个所述客户端设备发送的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数之后,所述模型训练方法还包括:对接收的各个所述模型更新综合参数进行加密;
所述根据各个所述模型更新综合参数对所述当前全局共享模型进行模型更新,具体包括:根据各个加密后的所述模型更新综合参数对本循环过程中的所述当前全局共享模型进行模型更新。
6.根据权利要求5所述的模型训练方法,其特征在于,所述对接收的各个所述模型更新综合参数进行加密,具体包括:
将方差为0且均值为σ的高斯噪声参数添加到接收的各个所述模型更新综合参数中。
7.一种模型训练装置,其特征在于,所述模型训练装置设置于客户端设备中,以由所述客户端设备执行,所述模型训练装置包括循环操作直至满足循环结束条件的客户端参数接收单元、客户端模型更新单元、客户端模型训练单元、客户端参数计算单元、客户端参数发送单元;
所述客户端参数接收单元被配置为从服务端设备接收当前全局共享模型的全局共享模型参数;其中,所述当前全局共享模型由所述服务端设备产生;
所述客户端模型更新单元被配置为使用所述全局共享模型参数对上一循环过程中训练得到的本地更新模型进行更新,以得到当前本地模型;
所述客户端模型训练单元被配置为使用本地数据作为训练数据对所述当前本地模型进行训练,以得到本循环过程中的本地更新模型,所述本地数据包括图像数据、语音数据和文本数据中的至少一种;
所述客户端参数计算单元被配置为根据本循环过程中的所述本地更新模型的更新模型参数、所述客户端设备的本地数据量以及所述全局共享模型参数获取到本循环过程中的所述本地更新模型的模型重要程度参数;其中,所述更新模型参数和所述模型重要程度参数组成本循环过程中的所述本地更新模型的模型更新综合参数;
所述参数发送单元被配置为将获取到的所述模型更新综合参数发送给所述服务端设备;其中,多个所述客户端设备的所述模型更新综合参数被所述服务端设备所使用,以更新所述当前全局共享模型;
其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数;
其中,利用所述更新模型参数和本循环过程中的所述全局共享模型参数,并根据下面的式子1计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数,
[1]
在所述式子1中,wl表示本循环过程中的所述当前全局共享模型的第l层的所述全局共享模型参数,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的所述更新模型参数,/>表示本循环过程中的所述当前全局共享模型的第l层和第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的相似性参数;
和/或,根据所述相似性参数,并利用下面的式子2计算出注意力分数,
[2]
在所述式子2中,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的注意力分数,K表示所有的所述客户端设备的数量;
和/或,根据所述注意力分数和所述客户端设备的本地数据量,并利用下面的式子3和式子4计算出所述模型重要程度参数,
[3]
[4]
在所述式子3和式子4中,ni表示第i个所述客户端设备的本地数据量,N表示所有的所述客户端设备的本地数据量的总数据量,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的模型重要程度参数,βi表示第i个所述客户端设备的本循环过程中的所述本地更新模型的模型重要程度参数。
8.根据权利要求7所述的模型训练装置,其特征在于,所述参数计算单元包括:
相似性参数计算模块,被配置为利用所述更新模型参数和本循环过程中的所述全局共享模型参数计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数;
注意力分数计算模块,被配置为根据所述相似性参数计算出用于加快模型收敛速度的注意力分数;
模型重要程度参数计算模块,被配置为根据所述注意力分数和所述客户端设备的本地数据量计算出所述模型重要程度参数。
9.一种模型训练装置,其特征在于,所述模型训练装置设置于服务端设备中,以由所述服务端设备执行,所述服务端设备具有全局共享模型,所述模型训练装置包括循环操作直至满足循环结束条件的服务端参数发送单元、服务端参数接收单元、服务端模型更新单元;
所述服务端参数发送单元被配置为向多个客户端设备发送当前全局共享模型的全局共享模型参数;
所述服务端参数接收单元被配置为接收各个所述客户端设备发送的本地更新模型的包括更新模型参数和模型重要程度参数的模型更新综合参数;
所述服务端模型更新单元被配置为根据各个所述模型更新综合参数对所述当前全局共享模型进行模型更新;
其中,在未满足所述循环结束条件时,更新后的全局共享模型的全局共享模型参数充当下一循环过程中的当前全局共享模型的全局共享模型参数;
其中,各个所述本地更新模型由各个所述客户端设备使用各自的本地数据作为训练数据对各自的当前本地模型进行训练得到,各个所述当前本地模型由各个所述客户端设备利用本循环过程中的所述全局共享模型参数更新上一循环过程中各自的本地更新模型得到,所述本地数据包括图像数据、语音数据和文本数据中的至少一种;
其中,各个所述模型重要程度参数由各个所述客户端设备根据各自的所述更新模型参数、各自的本地数据量以及本循环过程中的所述当前全局共享模型的全局共享模型参数获取得到;
其中,利用所述更新模型参数和本循环过程中的所述全局共享模型参数,并根据下面的式子1计算出所述更新模型参数和本循环过程中的所述全局共享模型参数之间的相似性参数,
[1]
在所述式子1中,wl表示本循环过程中的所述当前全局共享模型的第l层的所述全局共享模型参数,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的所述更新模型参数,/>表示本循环过程中的所述当前全局共享模型的第l层和第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的相似性参数;
和/或,根据所述相似性参数,并利用下面的式子2计算出注意力分数,
[2]
在所述式子2中,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的注意力分数,K表示所有的所述客户端设备的数量;
和/或,根据所述注意力分数和所述客户端设备的本地数据量,并利用下面的式子3和式子4计算出所述模型重要程度参数,
[3]
[4]
在所述式子3和式子4中,ni表示第i个所述客户端设备的本地数据量,N表示所有的所述客户端设备的本地数据量的总数据量,表示第i个所述客户端设备的本循环过程中的所述本地更新模型的第l层的模型重要程度参数,βi表示第i个所述客户端设备的本循环过程中的所述本地更新模型的模型重要程度参数。
10.根据权利要求9所述的模型训练装置,其特征在于,所述服务端模型更新单元包括:
参数加密模块,被配置为对接收的各个所述模型更新综合参数进行加密;
模型更新模块,被配置为利用各个加密后的模型更新综合参数对本循环过程中的所述当前全局共享模型进行模型更新。
11.一种电子设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1至3中任一所述的模型训练方法。
12.一种机器可读存储介质,其存储有可执行指令,其特征在于,所述指令当被执行时使得所述机器执行如权利要求1到3中任一所述的模型训练方法。
13.一种电子设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求4至6中任一项所述的模型训练方法。
14.一种机器可读存储介质,其存储有可执行指令,其特征在于,所述指令当被执行时使得所述机器执行权利要求4至6中任一项所述的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760008.3A CN111967607B (zh) | 2020-07-31 | 2020-07-31 | 模型训练方法和装置、电子设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760008.3A CN111967607B (zh) | 2020-07-31 | 2020-07-31 | 模型训练方法和装置、电子设备及机器可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111967607A CN111967607A (zh) | 2020-11-20 |
CN111967607B true CN111967607B (zh) | 2023-09-01 |
Family
ID=73363685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010760008.3A Active CN111967607B (zh) | 2020-07-31 | 2020-07-31 | 模型训练方法和装置、电子设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111967607B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949837B (zh) * | 2021-04-13 | 2022-11-11 | 中国人民武装警察部队警官学院 | 一种基于可信网络的目标识别联邦深度学习方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968591A (zh) * | 2012-11-21 | 2013-03-13 | 中国人民解放军国防科学技术大学 | 基于行为片段共享的恶意软件特征聚类分析方法及系统 |
CN102984140A (zh) * | 2012-11-21 | 2013-03-20 | 中国人民解放军国防科学技术大学 | 基于行为片段共享的恶意软件特征融合分析方法及系统 |
CN103294791A (zh) * | 2013-05-13 | 2013-09-11 | 西安电子科技大学 | 一种可扩展标记语言模式匹配方法 |
CN110992936A (zh) * | 2019-12-06 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 使用私有数据来进行模型训练的方法及装置 |
CN111275207A (zh) * | 2020-02-10 | 2020-06-12 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111291897A (zh) * | 2020-02-10 | 2020-06-16 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111310938A (zh) * | 2020-02-10 | 2020-06-19 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
-
2020
- 2020-07-31 CN CN202010760008.3A patent/CN111967607B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968591A (zh) * | 2012-11-21 | 2013-03-13 | 中国人民解放军国防科学技术大学 | 基于行为片段共享的恶意软件特征聚类分析方法及系统 |
CN102984140A (zh) * | 2012-11-21 | 2013-03-20 | 中国人民解放军国防科学技术大学 | 基于行为片段共享的恶意软件特征融合分析方法及系统 |
CN103294791A (zh) * | 2013-05-13 | 2013-09-11 | 西安电子科技大学 | 一种可扩展标记语言模式匹配方法 |
CN110992936A (zh) * | 2019-12-06 | 2020-04-10 | 支付宝(杭州)信息技术有限公司 | 使用私有数据来进行模型训练的方法及装置 |
CN111275207A (zh) * | 2020-02-10 | 2020-06-12 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111291897A (zh) * | 2020-02-10 | 2020-06-16 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
CN111310938A (zh) * | 2020-02-10 | 2020-06-19 | 深圳前海微众银行股份有限公司 | 基于半监督的横向联邦学习优化方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111967607A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340008B (zh) | 对抗补丁生成、检测模型训练、对抗补丁防御方法及系统 | |
TWI687879B (zh) | 伺服器、客戶端、用戶核身方法及系統 | |
TW202123052A (zh) | 防止隱私資料洩漏的編碼模型訓練方法及裝置 | |
US9542550B2 (en) | Method of mutual authentication between a radio tag and a reader | |
CN110290134A (zh) | 一种身份认证方法、装置、存储介质及处理器 | |
US9292793B1 (en) | Analyzing device similarity | |
CN111130800A (zh) | 一种基于tee的可信预言机实现方法及装置 | |
Wazid et al. | BUAKA-CS: Blockchain-enabled user authentication and key agreement scheme for crowdsourcing system | |
CN111243698A (zh) | 一种数据安全共享方法、存储介质和计算设备 | |
CN111967607B (zh) | 模型训练方法和装置、电子设备及机器可读存储介质 | |
CN111581648B (zh) | 在不规则用户中保留隐私的联邦学习的方法 | |
CN110929887B (zh) | 逻辑回归模型训练方法、装置及系统 | |
CN111523134A (zh) | 基于同态加密的模型训练方法、装置及系统 | |
CN111865595B (zh) | 一种区块链的共识方法及装置 | |
CN116245669B (zh) | 一种基于同态加密及分类优化的财务审计方法和系统 | |
US11688194B2 (en) | Method of authentication of an identity document of an individual and optionally authentication of said individual | |
CN111177676B (zh) | 验证系统、验证方法以及非暂态计算机可读取记录介质 | |
CN110992936A (zh) | 使用私有数据来进行模型训练的方法及装置 | |
CN115118462B (zh) | 一种基于卷积增强链的数据隐私保护方法 | |
CN110619229A (zh) | 基于神经网络拆分的数据加密传输方法及系统 | |
CN109450878B (zh) | 生物特征识别方法、装置以及系统 | |
Xu et al. | FedG2L: a privacy-preserving federated learning scheme base on “G2L” against poisoning attack | |
CN106127666A (zh) | 一种基于随机子图表示的云环境中物体图像隐秘检测方法 | |
CN112182547A (zh) | 一种可信设备认证方法、系统、设备和存储介质 | |
US20240121080A1 (en) | Cryptographic key generation using machine learning |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |