CN113642738B - 基于层次式网络结构的多方安全协作机器学习方法及系统 - Google Patents
基于层次式网络结构的多方安全协作机器学习方法及系统 Download PDFInfo
- Publication number
- CN113642738B CN113642738B CN202110922758.0A CN202110922758A CN113642738B CN 113642738 B CN113642738 B CN 113642738B CN 202110922758 A CN202110922758 A CN 202110922758A CN 113642738 B CN113642738 B CN 113642738B
- Authority
- CN
- China
- Prior art keywords
- client
- proxy server
- noise data
- training parameters
- server
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及了一种基于层次式网络结构的多方安全协作机器学习方法及系统,本发明的方法通过对机器学习模型参数添加噪声扰动,使得机器学习模型参数传输具有更高的安全性,通过层次式网络结构缓减服务器端的负载压力,通过基于部分子秘密的噪声恢复方式,使得对掉线客户端的噪声恢复具有更高的效率,本发明不仅保证了机器学习模型参数的安全传输,而且缓减了服务器端的负载压力,提高服务器端的工作效率。
Description
技术领域
本发明涉及数据安全技术领域,特别是涉及一种基于层次式网络结构的多方安全协作机器学习方法及系统。
背景技术
基于大数据的机器学习推动了人工智能的蓬勃发展,数据的安全问题也日益凸显。将各方数据上传至服务器建立集中式的机器学习模型的方法,由于传输数据的过程会造成隐私泄露,而某些高度敏感数据的拥有者只允许数据保存在自己的手中。因此,多方参与的能够安全联合训练的机器学习模型正是解决这一问题的有效手段。尽管多方参与者不再需要将数据传输到服务器,解决了数据安全的问题,但是在模型联合训练中涉及的模型参数也会造成机器学习模型的隐私泄露。
发明内容
本发明的目的是提供一种基于层次式网络结构的多方安全协作机器学习方法及系统,以保证机器学习模型参数的安全传输,并缓减服务器端的负载压力,提高服务器端的工作效率。
为实现上述目的,本发明提供了如下方案:
本发明提供一种基于层次式网络结构的多方安全协作机器学习方法,所述方法包括如下步骤:
采用最短距离算法,构建层次式网络结构;所述层次式网络结构从下至上依次包括:参与机器学习的各个客户端、多个代理服务器和服务器;
每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器;
每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器;
所述服务器对每个代理服务器发送的第一聚合训练参数进行再次聚合,获得第二聚合训练参数,并将第二聚合训练参数进行公钥加密后发送给每个所述客户端,客户端将第二聚合训练参数作为机器学习模型初始参数,对机器学习模型进行再次训练,直到符合训练终止条件。
可选的,所述采用最短距离算法,构建层次式网络结构,具体包括:
采用最短距离算法,将参与机器学习的各个客户端中距离最近的每N个客户端组成一个簇,获得多个簇;
为每个所述簇分配一个代理服务器;每个簇的代理服务器分别与所述簇中的每个客户端连接;
使每个簇的代理服务器均连接一个服务器。
可选的,所述每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器,之前还包括:
每个所述客户端分别根据噪声数据产生多个子秘密和冗余信息,并将多个所述子秘密采用共享加密的方式分别共享给与所述客户端所属的代理服务器连接的其他客户端,并将所述冗余信息发送给所述客户端所属的代理服务器;与同一个所述代理服务器连接的所有客户端的噪声数据的和为零;
可选的,所述每个所述客户端分别根据噪声数据产生多个子秘密和冗余信息,并将多个所述子秘密采用共享加密的方式分别共享给与所述客户端所属的代理服务器连接的其他客户端,并将所述冗余信息发送给所述客户端所属的代理服务器,具体包括:
与代理服务器i连接的可信任第三方采用随机数种子生成N个噪声数据,并将N个所述噪声数据分别发送给与代理服务器i连接的N个所述客户端;N个所述噪声数据的和为零;i=1,2,……,I,I表示代理服务器的数量;
与代理服务器i连接的客户端n分别根据接收到的噪声数据生成N个子秘密,并分别将N-1个所述子秘密采用共享加密的方式发送给代理服务器i,代理服务器i分别将N-1共享加密后的子秘密发送给与代理服务器i连接的其他N-1个所述客户端;n=1,2,……,N;
与代理服务器i连接的客户端n根据校验矩阵生成冗余信息,并将所述冗余信息发送给所述代理服务器i。
可选的,所述每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器,具体包括:
每个所述代理服务器根据与所述代理服务器连接的客户端的心跳报文,判断与所述服务器连接的所有客户端是否均在线,获得判断结果;
若所述判断结果表示是,则所述代理服务器对与所述代理服务器连接每个客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器;
若所述判断结果表示否,则所述代理服务器从与所述代理服务器连接在线客户端中获取掉线客户端的部分子秘密,并根据掉线客户端的部分子秘密和冗余信息获取所述掉线客户端的噪声数据,结合掉线客户端的噪声数据对与所述代理服务器连接在线客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器。
可选的,所述每个所述代理服务器从与所述代理服务器连接在线客户端中获取掉线客户端的部分子秘密,并根据掉线客户端的部分子秘密和冗余信息获取所述掉线客户端的噪声数据,具体包括:
代理服务器i从与代理服务器i连接的在线客户端n1中获取掉线客户端n2的第n1个子秘密;
根据掉线客户端n2的第n1个子秘密与掉线客户端n2的冗余信息生成合成矩阵和恢复矩阵;
根据所述合成矩阵和所述恢复矩阵,利用公式A=(B')-1*P对掉线客户端n2的噪声数据进行恢复,获取所述掉线客户端n2的噪声数据;其中,A表示掉线客户端n2的噪声矩阵,掉线客户端n2的噪声数据为A中各个元素的和,B'表示恢复矩阵,P表示合成矩阵。
可选的,所述根据掉线客户端n2的第n1个子秘密与掉线客户端n2的冗余信息生成合成矩阵和恢复矩阵,具体包括:
根据掉线客户端n2的第1个子秘密[1]与掉线客户端n2的冗余信息生成合成矩阵/>和恢复矩阵/>
一种基于层次式网络结构的多方安全协作机器学习系统,所述系统包括:
层次式网络结构构建模块,用于采用最短距离算法,构建层次式网络结构;所述层次式网络结构从下至上依次包括:参与机器学习的各个客户端、多个代理服务器和服务器;
本地训练模块,用于通过每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器;
第一聚合模块,用于通过每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器;
第二聚合模块,用于通过所述服务器对每个代理服务器发送的第一聚合训练参数进行再次聚合,获得第二聚合训练参数,并将第二聚合训练参数进行公钥加密后发送给每个所述客户端,客户端将第二聚合训练参数作为机器学习模型初始参数,对机器学习模型进行再次训练,直到符合训练终止条件。
可选的,所述层次式网络结构构建模块,具体包括:
客户端分簇子模块,用于采用最短距离算法,将参与机器学习的各个客户端中距离最近的每N个客户端组成一个簇,获得多个簇;
代理服务器分配子模块,用于为每个所述簇分配一个代理服务器;每个簇的代理服务器分别与所述簇中的每个客户端连接;
服务器连接子模块,用于使每个簇的代理服务器均连接一个服务器。
可选的,所述系统还包括:
秘密共享模块,用于通过每个所述客户端分别根据噪声数据产生多个子秘密和冗余信息,并将多个所述子秘密采用共享加密的方式分别共享给与所述客户端所属的代理服务器连接的其他客户端,并将所述冗余信息发送给所述客户端所属的代理服务器,与同一个所述代理服务器连接的所有客户端的噪声数据的和为零。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明公开了一种基于层次式网络结构的多方安全协作机器学习方法,所述方法包括如下步骤:采用最短距离算法,构建层次式网络结构;每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器;每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器;所述服务器对每个代理服务器发送的第一聚合训练参数进行再次聚合,获得第二聚合训练参数,并将第二聚合训练参数进行公钥加密后发送给每个所述客户端,客户端将第二聚合训练参数作为机器学习模型初始参数,对机器学习模型进行再次训练,直到符合训练终止条件。本发明通过对机器学习模型参数添加噪声扰动,使得机器学习模型参数传输具有更高的安全性,通过层次式代理服务器的层次式网络结构缓减服务器端的负载压力,本发明不仅保证了机器学习模型参数的安全传输,而且缓减了服务器端的负载压力,提高服务器端的工作效率。
本发明还通过基于部分子秘密的噪声恢复方式,使得对掉线客户端的噪声恢复具有更高的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于层次式网络结构的多方安全协作机器学习方法的流程图;
图2为本发明提供的基于层次式网络结构的多方安全协作机器学习方法的原理图;
图3为本发明提供的生成1层次式代理服务器的层次式网络结构的流程图;
图4为本发明提供的层次式网络结构的结构图;
图5为本发明提供的噪声生成与分发的原理图
图6为本发明提供的秘密共享的流程图;
图7为本发明提供的代理服务器对添加噪声数据后的本地训练参数进行恢复和聚合的原理图;
图8为本发明提供的代理服务器对掉线客户端的噪声数据进行恢复的原理图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于层次式网络结构的多方安全协作机器学习方法及系统,以保证机器学习模型参数的安全传输,并缓减服务器端的负载压力,提高服务器端的工作效率。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1和2所示,本发明提供了一种基于层次式网络结构的多方安全协作机器学习方法,所述方法包括如下步骤:
步骤101,采用最短距离算法,构建层次式网络结构;所述层次式网络结构从下至上依次包括:参与机器学习的各个客户端、多个代理服务器和服务器。
本发明根据安全等级构造层级网络结构,以分散服务器的负载压力,例如,根据L个安全等级得到L个安全层。包括以下步骤:
步骤一、得到各个客户端的路由信息;
步骤二、根据路由算法和每个客户端的可信度分析,将符合条件的客户端形成一个个簇;
步骤三、代理服务器根据路由算法和簇的可信度分析将符合条件的簇形成一个个组;
步骤四、上层代理服务器根据路由算法和组的可信度分析将符合条件的组形成一个个域;
步骤五、直到将整个网络结构分成L层。
作为一个具体的实施方式,如图3和4所示,本实施方式提供了包含三个层的层次式网络结构包括以下步骤:
步骤一、得到各个客户端的路由信息;
步骤二、参照图4,第一层,根据最短距离算法,将距离较近的N个客户端形成一个簇;为每个所述簇分配一个代理服务器;每个簇的代理服务器分别与所述簇中的每个客户端连接;
步骤三、参照图4,第二层,将所有的簇组成一个组;使每个簇的代理服务器均连接一个服务器;
步骤四、参照图4,第三层,将所有的组组成一个域。
作为一种优选的实施方式,步骤102之前还包括:每个所述客户端分别根据噪声数据产生多个子秘密和冗余信息,并将多个所述子秘密采用共享加密的方式分别共享给与所述客户端所属的代理服务器连接的其他客户端,并将所述冗余信息发送给所述客户端所属的代理服务器,与同一个所述代理服务器连接的所有客户端的噪声数据的和为零。
具体包括:与代理服务器i连接的可信任第三方采用随机数种子生成N个噪声数据,并将N个所述噪声数据分别发送给与代理服务器i连接的N个所述客户端(如图5所示);N个所述噪声数据的和为零;i=1,2,……,I,I表示代理服务器的数量;与代理服务器i连接的客户端n分别根据接收到的噪声数据生成N个子秘密,并分别将N-1个所述子秘密采用共享加密的方式发送给代理服务器i,代理服务器i分别将N-1共享加密后的子秘密发送给与代理服务器i连接的其他N-1个所述客户端;n=1,2,……,N;与代理服务器i连接的客户端n根据校验矩阵生成冗余信息,并将所述冗余信息发送给所述代理服务器i。
如图6所示,具体包括如下步骤:
首先,初始化:可信任第三方为每个客户端产生公私钥对、噪声数据,并将公钥和噪声数据发送给对应的客户端。具体的,可信任第三方为每个客户端产生公私钥对(如有三个客户端,则三组公私钥对分别为(pk1,sk1),(pk2,sk2),(pk3,sk3))、噪声数据,并将公钥和噪声数据发送给对应的客户端。
其次,秘密共享:首先每个客户端对噪声数据进行秘密共享;然后每个客户端产生与其他客户端之间的共享密钥,并使用共享密钥作为对称加密的密钥,对秘密共享后的数据进行加密,将加密后的结果传递到所属的代理服务器端,代理服务器再将加密后的数据转发到其他客户端。具体的,首先每个客户端对噪声数据进行秘密共享;然后每个客户端产生与其他客户端之间的共享密钥(如DH算法,用KA.agree表示),并使用共享密钥作为对称加密的密钥,对秘密共享后的数据进行加密(如AES算法,如客户端1,想要将秘密发送给客户端2,那么密文为c=AES.enc(shareKey12,r12)),将加密后的结果传递到所属的代理服务器端,代理服务器再将加密后的数据转发到其他客户端。
然后,秘密保存:其他客户端接收代理服务器发送过来的秘密,使用对称加密对秘密进行解密并保存。具体的,其他客户端接收代理服务器发送过来的秘密,使用对称加密对秘密进行解密并保存(如接收客户端1的秘密,并解密r12=AES.dec(shareKey12,c))。
作为一个具体的实施方式,其具体包括如下步骤:
步骤一、可信任第三方使用随机数种子生成N个噪声{ri}i=1,...,N(N为与该代理服务器连接的客户端数),且N个噪声的和为零;将噪声发给各个客户端。
假设与当前代理服务器连接的客户端的数量n为3,可信任第三方使用随机数种子生成3个噪声(2,3,-5),且3个噪声的和为零;将噪声发给3个客户端。
步骤二、每个客户端将所得到的噪声,根据规则得到含有n个子秘密的矩阵An*1。
如3个客户端,就生成3个子秘密,这边加假设噪声为3(客户端2的噪声),根据的规则是简单平均得到子秘密矩阵
步骤三、每个客户端根据支持的掉线客户数m,生成校验矩阵B(N+m)*N,将校验矩阵与子秘密矩阵相乘(B(N+m)*N*AN*1)得到编码后秘密分享矩阵C(N+m)*1,其中Qm*1为编码矩阵的后m个元素。
每个客户端根据支持的掉线客户数m=2,生成校验矩阵将校验矩阵与子秘密矩阵相乘(B5*3*A3*1)得到编码后秘密分享矩阵/>并获得冗余信息为/>
步骤102,每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器。每个客户端将数据输入到本机的机器学习模型(如多层感知机,线性回归)进行训练,得到一次迭代后的模型参数,然后客户端对本机的机器训练模型参数添加噪声扰动,并将扰动后的模型参数发送给所属代理服务器。
步骤103,每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器。
如图7所示,步骤103所述每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器具体包括:每个所述代理服务器根据与所述代理服务器连接的客户端的心跳报文,判断与所述服务器连接的所有客户端是否均在线,获得判断结果;若所述判断结果表示是,则所述代理服务器对与所述代理服务器连接每个客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器;若所述判断结果表示否,则所述代理服务器从与所述代理服务器连接在线客户端中获取掉线客户端的部分子秘密,并根据掉线客户端的部分子秘密和冗余信息获取所述掉线客户端的噪声数据,结合掉线客户端的噪声数据对与所述代理服务器连接在线客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器。
即,本发明的代理服务器对客户端机器学习模型参数进行聚合,将相应的噪声相互抵消得到最终的能够代表全局信息的模型参数;当遇到客户端掉线的时候,各个客户端的噪声就不能相互抵消,代理服务器要求其中一个在线客户端发送掉线客户端的噪声子秘密,并对其进行秘密恢复,使得全部的噪声可以得到抵消。
步骤103中掉线客户端的噪声恢复的步骤包括:代理服务器i从与代理服务器i连接的在线客户端n1中获取掉线客户端n2的第n1个子秘密;根据掉线客户端n2的第n1个子秘密与掉线客户端n2的冗余信息生成合成矩阵和恢复矩阵;根据所述合成矩阵和所述恢复矩阵,利用公式A=(B')-1*P对掉线客户端n2的噪声数据进行恢复,获取所述掉线客户端n2的噪声数据;其中,A表示掉线客户端n2的噪声矩阵,掉线客户端n2的噪声数据为A中各个元素的和,B'表示恢复矩阵,P表示合成矩阵。
如图8所示,具体的包括如下步骤:
步骤一、当代理服务器端收集客户端扰动后的模型参数时,根据心跳报文去检测客户端是否在线,如果检测到t个客户端同时掉线,代理服务器端向在线客户端要求发送断线客户端的子秘密{sharei}i∈D,D为掉线客户端集合,如果检测到t=2个客户端同时掉线,则对于第2个客户端,可从第1个客户端获得子秘密[1]。
步骤二、对于每一个掉线客户端进行秘密恢复,将子秘密sharei与冗余信息Qm*n,即合成矩阵P,将校验矩阵B去掉掉线数据后得到恢复矩阵B',即,将冗余信息与[1]直接合成,那么得到秘密恢复后的子秘密矩阵A=(B')-1*P,根据子秘密之和得到原始噪声,(如要恢复噪声3,/> 那么/>
步骤104,所述服务器对每个代理服务器发送的第一聚合训练参数进行再次聚合,获得第二聚合训练参数,并将第二聚合训练参数进行公钥加密后发送给每个所述客户端,客户端将第二聚合训练参数作为机器学习模型初始参数,对机器学习模型进行再次训练,直到符合训练终止条件(模型收敛)。
代理服务器将模型聚合结果发送给服务器端,服务器端对代理服务器发送过来的机器学习模型参数进行聚合。最后使用公钥加密体制(如RSA算法)对聚合的模型参数进行加密(如要向客户端1发送聚合后的模型参数agg,密文为c=enc(pk1,agg)),防止模型参数在发送过程中被篡改,并将加密后的数据发送给客户端,客户端使用私钥对模型参数进行解密(如客户端1对加密后的聚合模型参数解密,明文为m=enc(sk1,c)),从而开始新一轮的迭代,直至模型收敛,得到最优的分类或者回归效果。
本发明还提供一种基于层次式网络结构的多方安全协作机器学习系统,所述系统包括:
层次式网络结构构建模块,用于采用最短距离算法,构建层次式网络结构;所述层次式网络结构从下至上依次包括:参与机器学习的各个客户端、多个代理服务器和服务器。
所述层次式网络结构构建模块,具体包括:客户端分簇子模块,用于采用最短距离算法,将参与机器学习的各个客户端中距离最近的每N个客户端组成一个簇,获得多个簇;代理服务器分配子模块,用于为每个所述簇分配一个代理服务器;每个簇的代理服务器分别与所述簇中的每个客户端连接;服务器连接子模块,用于使每个簇的代理服务器均连接一个服务器。
本地训练模块,用于通过每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器。
第一聚合模块,用于通过每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器。
所述第一聚合模块,具体包括:部分子秘密获取子模块,用于通过代理服务器i从与代理服务器i连接的在线客户端n1中获取掉线客户端n2的第n1个子秘密;矩阵生成子模块,用于根据掉线客户端n2的第n1个子秘密与掉线客户端n2的冗余信息生成合成矩阵和恢复矩阵;噪声数据恢复子模块,用于根据所述合成矩阵和所述恢复矩阵,利用公式A=(B')-1*P对掉线客户端n2的噪声数据进行恢复,获取所述掉线客户端n2的噪声数据;其中,A表示掉线客户端n2的噪声矩阵,掉线客户端n2的噪声数据为A中各个元素的和,B'表示恢复矩阵,P表示合成矩阵。
第二聚合模块,用于通过所述服务器对每个代理服务器发送的第一聚合训练参数进行再次聚合,获得第二聚合训练参数,并将第二聚合训练参数进行公钥加密后发送给每个所述客户端,客户端将第二聚合训练参数作为机器学习模型初始参数,对机器学习模型进行再次训练,直到符合训练终止条件。
所述系统还包括:秘密共享模块,用于通过每个所述客户端分别根据噪声数据产生多个子秘密和冗余信息,并将多个所述子秘密采用共享加密的方式分别共享给与所述客户端所属的代理服务器连接的其他客户端,并将所述冗余信息发送给所述客户端所属的代理服务器,与同一个所述代理服务器连接的所有客户端的噪声数据的和为零。
所述秘密共享模块,具体包括:噪声数据分配子模块,用于通过与代理服务器i连接的可信任第三方采用随机数种子生成N个噪声数据,并将N个所述噪声数据分别发送给与代理服务器i连接的N个所述客户端;N个所述噪声数据的和为零;i=1,2,……,I,I表示代理服务器的数量;子秘密共享子模块,用于通过与代理服务器i连接的客户端n分别根据接收到的噪声数据生成N个子秘密,并分别将N-1个所述子秘密采用共享加密的方式发送给代理服务器i,代理服务器i分别将N-1共享加密后的子秘密发送给与代理服务器i连接的其他N-1个所述客户端;n=1,2,……,N;冗余信息生成子模块,用于通过与代理服务器i连接的客户端n根据校验矩阵生成冗余信息,并将所述冗余信息发送给所述代理服务器i。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明能够保证各个机器学习参与者的模型参数能够安全传输,同时通过层次式代理服务器网络结构缓减服务器端的负载压力。通过对机器学习模型参数添加噪声扰动,使得机器学习模型参数传输具有更高的安全性。此外,通过编码方式,使得客户端掉线时对噪声恢复具有更高的效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于层次式网络结构的多方安全协作机器学习方法,其特征在于,所述方法包括如下步骤:
采用最短距离算法,构建层次式网络结构;所述层次式网络结构从下至上依次包括:参与机器学习的各个客户端、多个代理服务器和服务器;
每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器;
每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器;
所述服务器对每个代理服务器发送的第一聚合训练参数进行再次聚合,获得第二聚合训练参数,并将第二聚合训练参数进行公钥加密后发送给每个所述客户端,客户端将第二聚合训练参数作为机器学习模型初始参数,对机器学习模型进行再次训练,直到符合训练终止条件。
2.根据权利要求1所述的基于层次式网络结构的多方安全协作机器学习方法,其特征在于,所述采用最短距离算法,构建层次式网络结构,具体包括:
采用最短距离算法,将参与机器学习的各个客户端中距离最近的每N个客户端组成一个簇,获得多个簇;
为每个所述簇分配一个代理服务器;每个簇的代理服务器分别与所述簇中的每个客户端连接;
使每个簇的代理服务器均连接一个服务器。
3.根据权利要求1所述的基于层次式网络结构的多方安全协作机器学习方法,其特征在于,所述每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器,之前还包括:
每个所述客户端分别根据噪声数据产生多个子秘密和冗余信息,并将多个所述子秘密采用共享加密的方式分别共享给与所述客户端所属的代理服务器连接的其他客户端,并将所述冗余信息发送给所述客户端所属的代理服务器,与同一个所述代理服务器连接的所有客户端的噪声数据的和为零。
4.根据权利要求3所述的基于层次式网络结构的多方安全协作机器学习方法,其特征在于,所述每个所述客户端分别根据噪声数据产生多个子秘密和冗余信息,并将多个所述子秘密采用共享加密的方式分别共享给与所述客户端所属的代理服务器连接的其他客户端,并将所述冗余信息发送给所述客户端所属的代理服务器,具体包括:
与代理服务器i连接的可信任第三方采用随机数种子生成N个噪声数据,并将N个所述噪声数据分别发送给与代理服务器i连接的N个所述客户端;N个所述噪声数据的和为零;i=1,2,……,I,I表示代理服务器的数量;
与代理服务器i连接的客户端n分别根据接收到的噪声数据生成N个子秘密,并分别将N-1个所述子秘密采用共享加密的方式发送给代理服务器i,代理服务器i分别将N-1个共享加密后的子秘密发送给与代理服务器i连接的其他N-1个所述客户端;n=1,2,……,N;
与代理服务器i连接的客户端n根据校验矩阵生成冗余信息,并将所述冗余信息发送给所述代理服务器i。
5.根据权利要求1所述的基于层次式网络结构的多方安全协作机器学习方法,其特征在于,所述每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器,具体包括:
每个所述代理服务器根据与所述代理服务器连接的客户端的心跳报文,判断与所述服务器连接的所有客户端是否均在线,获得判断结果;
若所述判断结果表示是,则所述代理服务器对与所述代理服务器连接每个客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器;
若所述判断结果表示否,则所述代理服务器从与所述代理服务器连接在线客户端中获取掉线客户端的部分子秘密,并根据掉线客户端的部分子秘密和冗余信息获取所述掉线客户端的噪声数据,结合掉线客户端的噪声数据对与所述代理服务器连接在线客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器。
6.根据权利要求5所述的基于层次式网络结构的多方安全协作机器学习方法,其特征在于,所述代理服务器从与所述代理服务器连接在线客户端中获取掉线客户端的部分子秘密,并根据掉线客户端的部分子秘密和冗余信息获取所述掉线客户端的噪声数据,具体包括:
代理服务器i从与代理服务器i连接的在线客户端n1中获取掉线客户端n2的第n1个子秘密;
根据掉线客户端n2的第n1个子秘密与掉线客户端n2的冗余信息生成合成矩阵和恢复矩阵;
根据所述合成矩阵和所述恢复矩阵,利用公式A=(B')-1*P对掉线客户端n2的噪声数据进行恢复,获取所述掉线客户端n2的噪声数据;其中,A表示掉线客户端n2的噪声矩阵,掉线客户端n2的噪声数据为A中各个元素的和,B'表示恢复矩阵,P表示合成矩阵。
7.根据权利要求6所述的基于层次式网络结构的多方安全协作机器学习方法,其特征在于,所述根据掉线客户端n2的第n1个子秘密与掉线客户端n2的冗余信息生成合成矩阵和恢复矩阵,具体包括:
根据掉线客户端n2的第1个子秘密[1]与掉线客户端n2的冗余信息生成合成矩阵/>和恢复矩阵/>
8.一种基于层次式网络结构的多方安全协作机器学习系统,其特征在于,所述系统包括:
层次式网络结构构建模块,用于采用最短距离算法,构建层次式网络结构;所述层次式网络结构从下至上依次包括:参与机器学习的各个客户端、多个代理服务器和服务器;
本地训练模块,用于通过每个所述客户端分别对机器学习模型进行本地训练,获得本地训练参数,并为本地训练参数添加噪声数据,将添加噪声数据后的本地训练参数发送给所述客户端所属的代理服务器;
第一聚合模块,用于通过每个所述代理服务器分别对与所述代理服务器连接客户端发送的添加噪声数据后的本地训练参数进行恢复和聚合,获得第一聚合训练参数,并将第一聚合训练参数发送给所述服务器;
第二聚合模块,用于通过所述服务器对每个代理服务器发送的第一聚合训练参数进行再次聚合,获得第二聚合训练参数,并将第二聚合训练参数进行公钥加密后发送给每个所述客户端,客户端将第二聚合训练参数作为机器学习模型初始参数,对机器学习模型进行再次训练,直到符合训练终止条件。
9.根据权利要求8所述的基于层次式网络结构的多方安全协作机器学习系统,其特征在于,所述层次式网络结构构建模块,具体包括:
客户端分簇子模块,用于采用最短距离算法,将参与机器学习的各个客户端中距离最近的每N个客户端组成一个簇,获得多个簇;
代理服务器分配子模块,用于为每个所述簇分配一个代理服务器;每个簇的代理服务器分别与所述簇中的每个客户端连接;
服务器连接子模块,用于使每个簇的代理服务器均连接一个服务器。
10.根据权利要求8所述的基于层次式网络结构的多方安全协作机器学习系统,其特征在于,所述系统还包括:
秘密共享模块,用于通过每个所述客户端分别根据噪声数据产生多个子秘密和冗余信息,并将多个所述子秘密采用共享加密的方式分别共享给与所述客户端所属的代理服务器连接的其他客户端,并将所述冗余信息发送给所述客户端所属的代理服务器,与同一个所述代理服务器连接的所有客户端的噪声数据的和为零。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110922758.0A CN113642738B (zh) | 2021-08-12 | 2021-08-12 | 基于层次式网络结构的多方安全协作机器学习方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110922758.0A CN113642738B (zh) | 2021-08-12 | 2021-08-12 | 基于层次式网络结构的多方安全协作机器学习方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113642738A CN113642738A (zh) | 2021-11-12 |
CN113642738B true CN113642738B (zh) | 2023-09-01 |
Family
ID=78420979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110922758.0A Active CN113642738B (zh) | 2021-08-12 | 2021-08-12 | 基于层次式网络结构的多方安全协作机器学习方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113642738B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115580443A (zh) * | 2022-09-22 | 2023-01-06 | 西安交通大学 | 一种图数据的处理方法、装置、设备和介质 |
CN117250871B (zh) * | 2023-11-20 | 2024-03-08 | 暨南大学 | 基于去中心化联邦学习的人机协作安全性评估方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110719158A (zh) * | 2019-09-11 | 2020-01-21 | 南京航空航天大学 | 基于联合学习的边缘计算隐私保护系统及保护方法 |
CN112149160A (zh) * | 2020-08-28 | 2020-12-29 | 山东大学 | 基于同态伪随机数的联邦学习隐私保护方法及系统 |
CN112507219A (zh) * | 2020-12-07 | 2021-03-16 | 中国人民大学 | 一种基于联邦学习增强隐私保护的个性化搜索系统 |
CN112668726A (zh) * | 2020-12-25 | 2021-04-16 | 中山大学 | 一种高效通信且保护隐私的个性化联邦学习方法 |
CN112955874A (zh) * | 2019-02-21 | 2021-06-11 | 慧与发展有限责任合伙企业 | 在使用区块链的机器学习的去中心化模型构建中进行自修复的系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210143987A1 (en) * | 2019-11-13 | 2021-05-13 | International Business Machines Corporation | Privacy-preserving federated learning |
-
2021
- 2021-08-12 CN CN202110922758.0A patent/CN113642738B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112955874A (zh) * | 2019-02-21 | 2021-06-11 | 慧与发展有限责任合伙企业 | 在使用区块链的机器学习的去中心化模型构建中进行自修复的系统及方法 |
CN110719158A (zh) * | 2019-09-11 | 2020-01-21 | 南京航空航天大学 | 基于联合学习的边缘计算隐私保护系统及保护方法 |
CN112149160A (zh) * | 2020-08-28 | 2020-12-29 | 山东大学 | 基于同态伪随机数的联邦学习隐私保护方法及系统 |
CN112507219A (zh) * | 2020-12-07 | 2021-03-16 | 中国人民大学 | 一种基于联邦学习增强隐私保护的个性化搜索系统 |
CN112668726A (zh) * | 2020-12-25 | 2021-04-16 | 中山大学 | 一种高效通信且保护隐私的个性化联邦学习方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113642738A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113642738B (zh) | 基于层次式网络结构的多方安全协作机器学习方法及系统 | |
US9413528B2 (en) | Method for attribute based broadcast encryption with permanent revocation | |
CN101309137B (zh) | 一种基于秘密共享的单向函数树组播密钥管理方法 | |
CN108847928B (zh) | 基于群组型量子密钥卡实现信息加解密传输的通信系统和通信方法 | |
KR20200125980A (ko) | 디지털 자산의 제어를 전송하기 위한 컴퓨터 구현된 방법 및 시스템 | |
CN109640299B (zh) | 一种保证m2m通信完整及故障容错的聚合方法及系统 | |
CN115883053A (zh) | 基于联邦机器学习的模型训练方法和装置 | |
CN106169996B (zh) | 基于密钥超图和身份密码的多域光网络密钥管理方法 | |
WO2022153039A1 (en) | System and method for group key formation | |
Wang et al. | Group Authentication and Group Key Distribution for Ad Hoc Networks. | |
Dong et al. | Achieving secure and efficient data collaboration in cloud computing | |
Alagheband et al. | Advanced encryption schemes in multi-tier heterogeneous internet of things: taxonomy, capabilities, and objectives | |
Ma et al. | High-dimensional bidirectional controlled teleportation based on network coding | |
CN101588235A (zh) | 一种基于MIPv6的安全组播方法及步骤 | |
Nilesh | Simple proof of security of the multiparty prepare and measure QKD | |
Huang et al. | Secure multicast in dynamic environments | |
CN116451776A (zh) | 一种基于高可用非交互式安全聚合的联邦学习方法 | |
D’Arco et al. | Fault tolerant and distributed broadcast encryption | |
JP4523847B2 (ja) | コミュニケーション端末、フルメッシュ網において各端末が他の全端末間のコネクション接続を確実に確認する方法 | |
Zhu et al. | Three‐level quantum satellite communication framework and its applications | |
TW202312055A (zh) | 區塊鏈錢包的非互動式批核系統及其方法 | |
Koudia | The quantum internet: an efficient stabilizer states distribution scheme | |
Sakuma et al. | Link analysis for private weighted graphs | |
Lee et al. | A probability model for reconstructing secret sharing under the internet environment | |
Zheng et al. | An Effective Scheme for Revocation of User Attributes for Data Outsourcing in Cloud Storage |
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 |