CN111507481B - 一种联邦学习*** - Google Patents
一种联邦学习*** Download PDFInfo
- Publication number
- CN111507481B CN111507481B CN202010305077.5A CN202010305077A CN111507481B CN 111507481 B CN111507481 B CN 111507481B CN 202010305077 A CN202010305077 A CN 202010305077A CN 111507481 B CN111507481 B CN 111507481B
- Authority
- CN
- China
- Prior art keywords
- computing node
- network
- federal learning
- gradient value
- learning
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种联邦学习***,涉及人工智能技术领域,包括多个计算节点,各计算节点通过专用网络通信,每个计算节点运行在各自的专用子网络中,每个专用子网络中存储有联邦学习配置文件,各计算节点经过至少一次迭代训练过程联合训练联邦学习模型,直至迭代终止条件到达时,得到已联合训练完成的联邦学习模型,其中每次迭代训练过程,包括:各计算节点分别从自各自的专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包;各计算节点根据各自需要的联邦学习依赖包进行联合训练。由于各计算节点是从专用子网络存储的联邦学习配置文件中,获取联邦学习依赖包的,所以不会受到网络安全、网络速度、网络服务范围的限制。
Description
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及一种联邦学习***。
背景技术
近年来,由于机器学习的广泛应用,基于机器学习或者深度学习的方法应用于各个技术领域并且取得了巨大的成功。联邦学习(Federated machine learning/FederatedLearning),是指一种机器学习框架,能有效帮助多个节点(可以代表个人或机构)在满足数据隐私保护的要求下,联合训练机器学习或者深度学习模型。
目前,通过联邦学习联合训练机器学习或者深度学习模型过程中,会依赖于网络环境,若网络环境安全性差,或者网络传输速度不佳,则会影响到各联邦学习参与方的各自训练过程,进而影响机器学习或者深度学习模型的训练效果。
申请内容
本申请实施例提供一种联邦学习***,用以在通过联邦学习联合训练机器学习或者深度学习模型过程中解除对网络环境的依赖,进而提高影响机器学习或者深度学习模型的训练效果。
一方面,本申请实施例提供一种联邦学习***,包括多个计算节点,各计算节点通过专用网络通信,每个计算节点运行在各自的专用子网络中,每个专用子网络中存储有联邦学习配置文件,各计算节点经过至少一次迭代训练过程联合训练联邦学习模型,直至迭代终止条件到达时,得到已联合训练完成的联邦学习模型,其中每次迭代训练过程,包括:
各计算节点分别从自各自的专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包;
各计算节点根据各自需要的联邦学习依赖包进行联合训练。
一方面,本申请实施例提供一种联邦学习方法,包括:
各计算节点分别从自各自的专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包;
各计算节点根据各自需要的联邦学习依赖包进行联合训练。
一方面,本申请实施例还提供一种联邦学习装置,应用于各计算节点,包括:
获取单元,用于从自各自的专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包;
训练单元,用于根据各自需要的联邦学习依赖包进行联合训练。
一方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述联邦学习方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述联邦学习方法的步骤。
本申请实施例提供的联邦学习***中,存在多个计算节点,即存在多个联邦学习参与方。多个计算节点通过专用网络实现互相通信,且每个计算节点运行在各自的专用子网络中,并且每个专用子网络中存储有联邦学习配置文件。也就是说,在本申请实施例中,各计算节点在自己的专用子网络中存储了在联邦学习训练过程中需要使用的联邦学习配置文件,这些联邦学习配置文件不需要各个计算节点通过网络安全不稳定的公用网络获取,而是存储在了各专用子网络中,可以适用于各种计算节点所处的环境,例如各专用子网络是运行在受限或者保密网络中,这些计算节点仍可以进行联邦学习训练。
具体的,在本申请实施例中,各计算节点分别从自各自的专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包;各计算节点根据各自需要的联邦学习依赖包进行联合训练。
也就是说,在现有技术中,由于各计算节点需要从公用网络中获取训练过程中需要的联邦学习依赖包,所以会受到网络安全、网络速度、网络服务范围的限制,进而影响各计算节点的训练效率以及训练效果。通过本申请实施例中的联邦训练***,由于各计算节点是从各自专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包的,所以不会受到网络安全、网络速度、网络服务范围的限制,可以适用于更多的联邦学习训练的场景,扩展了联邦学习训练的适用范围,进一步提高了各计算节点的训练效率以及训练效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种联邦学习***的架构示意图;
图2为本申请实施例提供的一种联邦学习***的架构示意图;
图3为本申请实施例提供的一种联邦学习***的架构示意图;
图4为本申请实施例提供的一种联邦学习***的架构示意图;
图5为本申请实施例提供的一种联邦学习***的架构示意图;
图6为本申请实施例提供的一种各医院联合进行联邦学习训练的示意图;
图7为本申请实施例提供的一种联邦学习方法的流程示意图;
图8为本申请实施例提供的一种联邦学习装置的结构示意图;
图9为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
机器学习(ML,Machine Learning):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径。机器学习的核心是“使用算法解析数据,第二中学习,然后对世界上的某件事情做出决定或预测”。这意味着,与其显式地编写程序来执行某些任务,不如教计算机如何开发一个算法来完成任务。
深度学习(DL,Deep Learning):是机器学习领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI,Artificial Intelligence)。
联邦学习(Federated Learning):是一种新兴的人工智能基础技术,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。
安全多方求和协议:是一种基于安全多方计算的求和协议,安全多方计算的是一种求解全局问题的技术,解决的是在一个互不相信的多用户网络中,两个或多个用户能够在***漏各自私有输入信息时,协同合作执行某项计算任务的问题,是联邦机器学习的核心技术。具体的,安全求和协议是安全多方计算的基础协议之一,解决的问题是当n个参与方分别拥有秘密s1,…,sn时,怎样在不互相泄露秘密的前提下,求得S=∑ksk的问题。
同态加密:是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。也就是说,其他人可以对加密数据进行处理,但是处理过程不会泄露任何原始内容。同时,拥有密钥的用户对处理过的数据进行解密后,得到的正好是处理后的结果。
差分隐私(differential privacy):是密码学中的一种手段,旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会。机器学***衡这两者之间的关系-保护个人隐私不被泄露的同时抓取到有效信息,从而训练得到一个表现较好的算法。所以一个比较常见的方法就是当我们从数据中抓取信息的时候,尽可能的去抓取整个训练样本或者数据集合中比较通用的特征,同时保证不透露任何独立特征的隐私信息。上述过程称为差分隐私处理过程。
镜像(Mirroring):是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。所谓镜像文件和ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用,例如一个测试版的操作***、游戏等。
Docker:是一个开源的应用容器引擎,Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的操作***Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。在容器中,包括Docker镜像(Image),Docker镜像是一个特殊的文件***,提供容器运行时所需的程序、库、资源、配置等文件,另外还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像是一个静态的概念,不包含任何动态数据,其内容在构建之后也不会被改变。
依赖包:在联邦训练过程中,各计算节点在调用不同的类,或者不同的函数的时候,还需要其他某个更底层的插件、文件或者其他应用程序来支持,这些插件、文件或者应用程序为依赖包。同时,在执行联邦学习过程中,需要使用的插件、文件或者其他应用程序,这些插件、文件或者其他应用程序称为联邦学习依赖包。
在具体实践过程中,本申请的发明人发现,现有技术中各计算节点在通过联邦学习***联合训练模型的过程中,需要从公用网络中获取训练过程中需要的联邦学习依赖包,所以会受到网络安全、网络速度、网络服务范围的限制,进而影响各计算节点的训练效率以及训练效果。例如,各计算节点位于各自受限的专用子网络中,各计算节点不能通过公用网络获取需要的联邦学习依赖包,所以不能进行联合训练。
基于上述问题,本申请的发明人提出一种联邦学习***,存在多个计算节点,即存在多个联邦学习参与方。多个计算节点通过专用网络实现互相通信,且每个计算节点运行在各自的专用子网络中,并且每个专用子网络中存储有联邦学习配置文件。也就是说,在本申请实施例中,各计算节点在自己的专用子网络中存储了在联邦学习训练过程中需要使用的联邦学习配置文件,这些联邦学习配置文件不需要各个计算节点通过网络安全不稳定的公用网络获取,而是存储在了各专用子网络中,可以适用于各种计算节点所处的环境,例如各专用子网络是运行在受限或者保密网络中,这些计算节点仍可以进行联邦学习训练。
通过本申请实施例中的联邦训练***,由于各计算节点是从各自专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包的,所以不会受到网络安全、网络速度、网络服务范围的限制,可以适用于更多的联邦学习训练的场景,扩展了联邦学习训练的适用范围,进一步提高了各计算节点的训练效率以及训练效果。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
参考图1,其为本申请实施例提供的联邦学习***的架构图。该***至少包括多个计算节点101,多个计算节点101通过专用网络102实现通信,并且每个计算节点101运行在各自的专用子网络10201中。
在本申请实施例中,每个专用子网络10201中可以运行至少一个计算节点101,且每个专用子网络10201中存储了联邦学习配置文件。可选的,在本申请实施例中,每个专用子网络10201若运行了多个计算节点101,则每个专用子网络10201中保存了每个计算节点101对应的联邦学习配置文件。
在本申请实施例中,专用子网络10201可以是受限网络,即不能连接公用网络的网络性质,同样的,专用网络102也可以是首先的局域网,不能连接公用网络。
在本申请实施例中,各计算节点101在进行联邦学习训练过程时,会从对应的专用子网络10201中获取对应的联邦学习依赖包,并根据联邦学习依赖包进行迭代训练,得到训练后的联邦学习模型。
应理解,本申请实施例中的计算节点101包括但不限于具有数据处理能力的终端,包括但不限于桌面计算机、移动电脑、平板电脑等电子设备,还可以包括服务器,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
示例性的,云服务器可以是运行在私有云网络中,可以在私用云网络进行数据处理的过程,并提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。
在本申请实施例中的联邦学习***中,各计算节点101需要经过多次迭代过程,训练得到联邦学习模型。
在一次迭代计算过程中,各计算节点101根据本地的训练样本输入模型进行一次训练,本次训练结束后,每个计算节点101会基于本次训练结果计算得到的梯度损失值,并根据梯度损失值更新各计算节点101的模型参数。
在上述联邦学习的迭代计算过程中,各计算节点101从各自的专用子网络10201存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包,所以一种可选的实施例中,在本申请实施例中的联邦学习***中,还包括编译节点103,用于获取各计算节点101在所有迭代训练过程中需要的联邦学习依赖包,并根据各计算节点101在所有迭代训练过程中需要的联邦学习依赖包编译各计算节点的联邦学习配置文件,以及通过专用网络102分别将各计算节点101的联邦学习配置文件存储到各计算节点的专用子网络10201中。
也就是说,在本申请实施例中,可以通过编译节点103将联邦学习配置文件编译在各专用子网络10201中。
一种可选的实施例中,在本申请实施例中,编译节点103可以通过公共网络获取各计算节点101在所有迭代训练过程中需要的联邦学习依赖包,也就是说,在本申请实施例中,编译节点103可以连接公共网络,并获取各计算节点101在所有迭代训练过程中需要的联邦学习依赖包,而在本申请实施例中,各计算节点101可以不需要连接公共网络,保证了各计算节点101的数据安全,也适用于处于受限网络中的各计算节点101。
示例性的,如图2所示的一种联邦学习***,包括各计算节点101以及编译节点103,编译节点103既连接了公共网络,也连接了专用网络102,编译节点103从公共网络中获取了各计算节点101在联邦学习过程中需要的联邦学习依赖包,并将各计算节点101在联邦学习过程中需要的联邦学习依赖包编译为联邦学习配置文件,并将联邦学习配置文件通过专用网络102,发送给对应的计算节点101运行的专用子网络10201中。
在各计算节点101迭代训练过程中,从各自专用子网络1021中获取保存的联邦学习配置文件,并从联邦学习配置文件中获取在训练过程中需要的联邦学习依赖包。
可选的,在本申请实施例中,联邦学习依赖包可以是联邦学习训练过程中需要的深度学习库,例如Theano、TensorFlow、Keras等库深度学习库。
一种可选的实施例中,各计算节点101在训练过程中使用的训练方法也保存在联邦学习配置文件中,各计算节点101在每次迭代训练过程,从各自的专用子网络10201存储的联邦学习配置文件中获取在训练过程中需要的联合训练方法,并根据各自需要的联邦学习依赖包以及联合训练方法进行联合训练。
也就是说,还可以通过编译节点103编译各计算节点101的训练方法,各计算节点101获取了联邦学习配置文件中的训练方法后,执行该训练方法。
可选的,在本申请实施例中,各计算节点101各自具有各自的训练样本,各计算节点101具有的训练样本中,特征重叠相同,而特征对应的特征持有者重叠较少,例如,特征为身份证特征,则各计算节点101具有的训练样本中,都是各个用户的身份证特征,但是为不同用户的身份证特征,各计算节点101根据具有相同特征的训练样本进行训练,这种训练方法称为横向联邦学习训练方法。
另一种可选的实施例中,各计算节点101中训练样本具有不完全相同的特征,而各计算节点101中各训练样本对应的特征持有者相同,这种训练方式称为纵向联邦学习训练方法。
在本申请实施例中,在联邦学习配置文件中配置了横向联邦学习训练方法或者纵向联邦学习训练方法,各计算节点101根据配置的训练方法进行联合训练。
一种可选的实施例中,在本申请实施例中,各计算节点101通常可以使用加密的方式进行互相通信,例如,各计算节点101在进行各自的训练过程中,会传递梯度损失值,在传递梯度损失值时,通过加密的方式进行传递。
在本申请实施例中,加密的方式可以是同态加密的方式,也可以是其它加密方式。
示例性的,若使用同态加密的方式进行加密,则需要初始化加密***,在本申请实施例中,可以通过可信服务节点104初始化同态加密***,如图3所示,在图3中,可信服务节点104初始化同态加密***,将同态加密公钥通过各计算节点101运行的专用子网络10201发送给各计算节点101,各计算节点101根据各自的训练样本、各计算节点101的初始模型参数以及同态加密公钥确定加密梯度损失值,并将加密梯度损失值发送给可信服务节点104的,可信服务节点104根据各加密梯度损失值,以及同态加密***,确定本次迭代过程的各计算节点101的梯度损失值,并将各计算节点101的梯度损失值通过各计算节点101运行的专用子网络10201发送给各计算节点101,各计算节点101根据该梯度损失值更新各计算节点101的初始模型参数。
另一种可选的实施例中,如图4所示,各计算节点101中可以划分为第一计算节点10101以及多个第二计算节点10102,第一计算节点10101可以初始化同态加密***,通过第一计算节点10101管理同态加密***,可以不引入第三方,就可以实现上述加密过程。
具体的,在本申请实施例中,第一计算节点10101具有第一待确定模型参数以及第一样本数据,第二计算节点10102具有第二待确定模型参数以及第二样本数据。
第一计算节点10101基于第一待确定模型参数获得每个第一样本数据的第一模型输出结果,第二计算节点10102基于第二待确定模型参数获得每个第二样本数据的第二模型输出结果,第一计算节点10101根据第一模型数据结果、第二模型输出结果以及安全多方求和协议,确定模型总输出结果。
第一计算节点10101根据各样本数据的样本标签以及模型总输出结果确定损失值,基于损失值确定该次迭代训练过程的更新梯度值以及加密损失值,并将加密损失值发送给各第二计算节点10102。
第一计算节点10101基于更新梯度值更新该迭代过程中第一计算节点10101的第一待确定模型参数,并对各第二计算节点10102的各加密梯度值进行解密,得到各解密梯度值,将各解密梯度值发送给对应的各第二计算节点10102,各解密梯度值用于更新该迭代过程中各第二计算节点10102的第二待确定模型参数,各加密梯度值是各第二计算节点10101基于加密损失值以及各第二计算节点10101对应的加密随机向量的哈达玛积确定的。
也就是说,各计算节点101中包括第一计算节点10101以及多个第二计算节点10102,各第二计算节点10102确定自身的迭代梯度值,并通过专用网络102将各自确定的迭代梯度值发送给第一计算节点10101;第一计算节点10101根据各迭代梯度值确定整合梯度值,并将整合梯度值通过专用网络102分别发送给各第二计算节点10102。各第二计算节点10102分别根据整合梯度值更新自身的联邦学习模型参数。
在本申请实施例中,考虑到各计算节点的差分隐私,可以在***露个体信息的前提下对一个各第二计算节点10102的迭代梯度值进行加密,所以各第二计算节点10102根据获取的联合训练方法确定差分隐私算法,根据差分隐私算法以及各加密迭代梯度值确定加密隐私梯度值,将各加密迭代梯度值通过专用网络102发送给第一计算节点10101,第一计算节点10101根据各加密隐私梯度值确定加密隐私整合梯度值,并将加密隐私整合梯度值通过专用网络发送给各第二计算节点10102,各第二计算节点10102根据差分隐私算法以及加密隐私整合梯度值得到解密整合梯度值。
可选的,在本申请实施例中,差分隐私算法可以是基于拉普拉斯机制的算法,也可以是基于指数机制的算法。
在本申请实施例中,联邦学习配置文件中除了包括上述加密算法、训练算法等内容以为,还可以包括针对各第二计算节点10102的管理指令脚本,第一计算节点10101在接收到针对任一第二计算节点10102的管理指令后,根据获取的联合训练方法确定管理指令对应的管理指令脚本,根据管理指令脚本文对该第二计算节点10102进行管理。
具体的,在本申请实施例中,管理指令脚本可以是启动脚本,第一计算节点10101在接收到针对任一第二计算节点10102的启动管理指令后,根据获取的联合训练方法确定启动管理指令对应的启动管理指令脚本,根据启动管理指令脚本文对该第二计算节点10102进行启动管理。
另一种可选的实施例中,管理指令脚本可以是停止脚本,第一计算节点10101在接收到针对任一第二计算节点10102的停止管理指令后,根据获取的联合训练方法确定停止管理指令对应的停止管理指令脚本,根据停止管理指令脚本文对该第二计算节点10102进行停止管理。
或者另一种可选的实施例中,管理指令脚本可以是删除脚本,第一计算节点10101在接收到针对任一第二计算节点10102的删除管理指令后,根据获取的联合训练方法确定删除管理指令对应的删除管理指令脚本,根据删除管理指令脚本文对该第二计算节点10102进行删除管理。
示例性的,当管理指令脚本是启动脚本时,各第二计算节点10102的联邦学习配置文件中还包括联邦学习端口信息,第一计算节点10101具体用于接收针对任一第二计算节点10102的启动管理指令,获取联邦学习配置文件中针对该第二计算节点10102的启动指令脚本,向该第二计算节点10102发送启动指令。第二计算节点10102接收第一计算节点10101的启动指令,解析联邦学习配置文件中联邦学习端口信息,将联邦学习端口信息映射到第二计算节点10102的物理端口,通过物理端口接入专用网络102,与其他计算节点进行通信。其他计算节点可以为第一计算节点10101,也可以是其他第二计算节点10102。
在本申请实施例中,第一计算节点10101的联邦学习配置文件中还包括联邦学习端口信息,同样的,第一计算节点10101解析联邦学习配置文件中联邦学习端口信息,将联邦学习端口信息映射到第一计算节点10101的物理端口,通过物理端口接入专用网络102,与其他计算节点进行通信。其他计算节点可以为第一计算节点10101,也可以是其他第二计算节点10102。
一种可选的实施例中,为了能够使得各计算节点101与现有技术中从公用网络中获取联邦学习配置文件的各计算节点101具有相同的数据处理能力,在本申请实施例中,引入容器的概念,即编译节点103根据各个计算节点101在所有迭代训练过程中需要的联邦学习依赖包编译各计算节点的联邦学习配置文件,并将联邦学习配置文件镜像存储到各个计算节点所在专用子网络10201的容器中。
在本申请实施例中,容器封装了各个计算节点101在所有迭代训练过程中需要的联邦学习依赖包编译各计算节点101的联邦学习配置文件,这就使得各个计算节点101能够镜像的获取公用网络中的各联邦学习配置文件,与现有技术中的各计算节点101具有相同的数据处理能力,并执行联邦学习的迭代训练过程。
示例性的,在本申请实施例中,如图5所示的联邦学习***中,包括客户端501与服务端502,客户端501既可以是可信服务节点104,也可以是第一计算节点10101,在此统一称为服务端502;服务端502可以是各计算节点101,也可以是第二计算节点10102,在本申请实施例中称为客户端501。
在编译节点103首先编译客户端501以及服务端502的联邦学习运行代码,并在本地环境上调试运行通过。
编译节点103获取客户端501以及服务端502的深度学习依赖包,并根据深度学习依赖包以及联邦学习运行代码,编写容器文件Dockerfile。
编译节点103在公共网络环境中,从Dockerfile编译容器镜像Docker image,将客户端501的Docker image通过VPN发送给各个客户端501,将服务端502的Docker image通过VPN发送给服务端502。
服务端502和客户端501上安装加载相应的Docker image,同时,编译节点103编写从服务端502上远程管理的客户端501的容器docker的shell脚本,并从服务端502上运行客户端501远程管理的shell脚本,启动各个客户端501。启动客户端501的过程中,需要将docker中所用到的联邦学习通信端口映射到物理机端口,同样的,需要启动服务端502的过程中,需要将docker中所用到的联邦学习通信端口映射到服务端502的物理机端口。
服务端502和客户端501的Docker image将通过指定的映射端口相互通信,完成联邦学习训练过程。
为了更好的解释本申请实施例,下面结合一种具体的实施场景描述本申请实施例提供的联邦学习***,如图6所示,联邦学习***中包括多家医院601,多家医院601通过横向或者纵向联邦学习的方式联合训练联邦学习模型。
具体的,在本申请实施例中,多家医院601使用某地区的医疗数据集作为训练样本,模拟多家医院数据分离的场景,建立基于逻辑回归的某疾病发病概率预测模型。
在利用联邦学习进行模型训练的过程中,可以避免各个医院601分享原始数据,从而保护了各家医院601的隐私。而由于各家医院601的网络环境严格受限,不能连接国际互联网,而且只能通过VPN连接专用网络,所以可以基于容器的方法部署,能够一次性将整个运行环境以及联邦学习训练方法、联邦学习依赖包发送到各家医院601部署运行,一次性解决机器学习环境的众多依赖包问题。
具体的,如图6所示,联邦学习***中还包括联邦学习编译节点602,联邦学习编译节点602能够从互联网中获取各家医院601在联邦学习过程中需要的深度学习依赖包,并根据深度学习依赖包,编译为Dockerfile。
联邦学习编译节点602在互联网环境中,从Dockerfile编译容器镜像Dockerimage,将各医院601的Docker image通过VPN发送给各医院601。各医院601通过对应的Docker imag完成联邦学习训练过程。
基于相同的技术构思,本申请实施例提供一种联邦学习方法,如图7所示,包括:
步骤701,各计算节点分别从自各自的专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包;
步骤702,各计算节点根据各自需要的联邦学习依赖包进行联合训练。
基于相同的技术构思,本申请实施例还提供一种联邦学习装置800,应用于各计算节点,如图8所示,包括:
获取单元801,用于从自各自的专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包;
训练单元802,用于根据各自需要的联邦学习依赖包进行联合训练。
基于相同的技术构思,本申请实施例提供了一种计算机设备,如图9所示,包括至少一个处理器901,以及与至少一个处理器连接的存储器902,本申请实施例中不限定处理器901与存储器902之间的具体连接介质,图9中处理器901和存储器902之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器902存储有可被至少一个处理器901执行的指令,至少一个处理器901通过执行存储器902存储的指令,可以执行前述的联邦学习方法中所包括的步骤。
其中,处理器901是计算机设备的控制中心,可以利用各种接口和线路连接终端设备的各个部分,通过运行或执行存储在存储器902内的指令以及调用存储在存储器902内的数据,从而获得客户端地址。待选的,处理器901可包括一个或多个处理单元,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。在一些实施例中,处理器901和存储器902可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器902可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行联邦学习方法的步骤。
上述计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种联邦学习***,其特征在于,包括:
编译节点,所述编译节点通过专用网络分别通信连接各个专用子网络,所述编译节点用于获取各计算节点在所有迭代训练过程中需要的联邦学习依赖包,并根据各计算节点在所有迭代训练过程中需要的联邦学习依赖包编译各计算节点的联邦学习配置文件,以及通过所述专用网络分别将各计算节点的联邦学习配置文件存储到各计算节点的专用子网络中;
多个计算节点,各计算节点通过所述专用网络通信,每个计算节点运行在各自的专用子网络中,每个专用子网络中存储有联邦学习配置文件,各计算节点经过至少一次迭代训练过程联合训练联邦学习模型,直至迭代终止条件到达时,得到已联合训练完成的联邦学习模型,其中每次迭代训练过程,包括:
各计算节点分别从自各自的专用子网络存储的联邦学习配置文件中,获取训练过程中需要的联邦学习依赖包;
各计算节点根据各自需要的联邦学习依赖包进行联合训练。
2.根据权利要求1所述的***,其特征在于,所述编译节点还用于从所述专用网络中获取各计算节点在迭代训练过程中需要的联合训练方法,所述各计算节点的联邦学习配置文件中,还包括各计算节点在迭代训练过程中需要的联合训练方法;
各计算节点在每次迭代训练过程,从各自的专用子网络存储的联邦学习配置文件中获取在训练过程中需要的联合训练方法;并根据各自需要的联邦学习依赖包以及联合训练方法进行联合训练。
3.根据权利要求2所述的***,其特征在于,各计算节点中包括第一计算节点以及多个第二计算节点;
其中每次迭代训练过程,各计算节点根据各自需要的联邦学习依赖包以及联合训练方法进行联合训练,包括:
各计算节点解析对应的联合训练方法,并执行如下过程:
各第二计算节点确定自身的迭代梯度值,并通过所述专用网络将各自确定的迭代梯度值发送给所述第一计算节点;
所述第一计算节点根据各迭代梯度值确定整合梯度值,并将所述整合梯度值通过所述专用网络分别发送给各第二计算节点;
各第二计算节点分别根据所述整合梯度值更新自身的联邦学习模型参数。
4.根据权利要求3所述的***,其特征在于,各第二计算节点确定自身的迭代梯度值后,各第二计算节点还分别用于:
根据获取的联合训练方法确定梯度加密算法;
根据梯度加密算法以及各迭代梯度值确定各加密迭代梯度值;
将各加密迭代梯度值通过所述专用网络发送给所述第一计算节点;
所述第一计算节点还用于:
根据各加密迭代梯度值确定加密整合梯度值,并将所述加密整合梯度值通过专用网络发送给各第二计算节点;
各第二计算节点还用于:
根据获取的联合训练方法确定梯度解密算法;
根据梯度解密算法以及加密整合梯度值得到解密整合梯度值;
根据所述解密整合梯度值更新各第二计算节点的联邦学习模型参数。
5.根据权利要求4所述的***,其特征在于,所述根据梯度加密算法以及各迭代梯度值确定各加密迭代梯度值后,各第二计算节点还用于:
根据获取的联合训练方法确定差分隐私算法;
根据差分隐私算法以及各加密迭代梯度值确定加密隐私梯度值;
将各加密迭代梯度值通过专用网络发送给所述第一计算节点;
所述第一计算节点还用于:
根据各加密隐私梯度值确定加密隐私整合梯度值,并将所述加密隐私整合梯度值通过专用网络发送给各第二计算节点;
各第二计算节点还用于:
根据差分隐私算法以及加密隐私整合梯度值得到解密整合梯度值。
6.根据权利要求3所述的***,其特征在于,所述第一计算节点的联邦学习配置文件中还包括针对各第二计算节点的管理指令脚本,所述第一计算节点还用于:
在接收到针对任一第二计算节点的管理指令后,根据获取的联合训练方法确定管理指令对应的管理指令脚本;
根据所述管理指令脚本对该第二计算节点进行管理。
7.根据权利要求6所述的***,其特征在于,各第二计算节点的联邦学习配置文件中还包括联邦学习端口信息,针对各第二所述第一计算节点的具体用于:
接收针对任一第二计算节点的启动管理指令,获取联邦学习配置文件中针对该第二计算节点的启动指令脚本;
向该第二计算节点发送启动指令;
所述第二计算节点具体用于:
接收所述第一计算节点的启动指令,解析联邦学习配置文件中联邦学习端口信息;
将所述联邦学习端口信息映射到第二计算节点的物理端口,通过所述物理端口接入专用网络,与其他计算节点进行通信。
8.根据权利要求1所述的***,其特征在于,所述编译节点根据各个计算节点在所有迭代训练过程中需要的联邦学习依赖包编译各计算节点的联邦学习配置文件,并将联邦学习配置文件镜像存储到各个计算节点所在专用子网络的容器中。
9.根据权利要求1~8任一所述的***,其特征在于,所述编译节点具体用于:
通过互联网获取各计算节点在所有迭代训练过程中需要的联邦学习依赖包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010305077.5A CN111507481B (zh) | 2020-04-17 | 2020-04-17 | 一种联邦学习*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010305077.5A CN111507481B (zh) | 2020-04-17 | 2020-04-17 | 一种联邦学习*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111507481A CN111507481A (zh) | 2020-08-07 |
CN111507481B true CN111507481B (zh) | 2023-03-03 |
Family
ID=71876222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010305077.5A Active CN111507481B (zh) | 2020-04-17 | 2020-04-17 | 一种联邦学习*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507481B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001500B (zh) * | 2020-08-13 | 2021-08-03 | 星环信息科技(上海)股份有限公司 | 基于纵向联邦学习***的模型训练方法、设备及存储介质 |
CN114079902A (zh) * | 2020-08-13 | 2022-02-22 | Oppo广东移动通信有限公司 | 联邦学习的方法和装置 |
CN112084391B (zh) * | 2020-09-08 | 2024-02-09 | 中国平安人寿保险股份有限公司 | 依赖包信息的获取方法、装置、设备及计算机介质 |
CN112308157B (zh) * | 2020-11-05 | 2022-07-22 | 浙江大学 | 一种面向决策树的横向联邦学习方法 |
CN112381000A (zh) * | 2020-11-16 | 2021-02-19 | 深圳前海微众银行股份有限公司 | 基于联邦学习的人脸识别方法、装置、设备及存储介质 |
CN113923225A (zh) * | 2020-11-16 | 2022-01-11 | 京东科技控股股份有限公司 | 基于分布式架构的联邦学习平台、方法、设备和存储介质 |
CN112700014B (zh) * | 2020-11-18 | 2023-09-29 | 脸萌有限公司 | 部署联邦学习应用的方法、装置、***和电子设备 |
CN112435747A (zh) * | 2020-11-26 | 2021-03-02 | 新智数字科技有限公司 | 疾病风险预测方法、装置、设备和计算机可读介质 |
CN112435748A (zh) * | 2020-11-26 | 2021-03-02 | 新智数字科技有限公司 | 风险预测方法、装置、设备和计算机可读介质 |
CN113807157B (zh) * | 2020-11-27 | 2024-07-19 | 京东科技控股股份有限公司 | 基于联邦学习训练神经网络模型的方法、装置和*** |
CN112508075B (zh) * | 2020-12-01 | 2024-07-05 | 平安科技(深圳)有限公司 | 基于横向联邦的dbscan聚类方法、及其相关设备 |
CN112598127B (zh) * | 2020-12-16 | 2023-07-25 | 百度在线网络技术(北京)有限公司 | 联邦学习模型训练方法和装置、电子设备、介质和产品 |
CN113806759B (zh) * | 2020-12-28 | 2024-07-16 | 京东科技控股股份有限公司 | 联邦学习模型的训练方法、装置、电子设备和存储介质 |
CN112686385B (zh) * | 2021-01-07 | 2023-03-07 | 中国人民解放军国防科技大学 | 面向多站点三维影像的联邦深度学习方法及*** |
CN112905187B (zh) * | 2021-02-20 | 2024-02-23 | 深圳前海微众银行股份有限公司 | 编译方法、装置、电子设备及存储介质 |
CN112866415B (zh) * | 2021-02-24 | 2023-07-28 | 上海泰宇信息技术股份有限公司 | 一种数据备份私有云存储与下载方法 |
CN115085858A (zh) * | 2021-03-11 | 2022-09-20 | 华为技术有限公司 | 一种通信方法及装置 |
CN113112029B (zh) * | 2021-04-22 | 2022-09-16 | 中国科学院计算技术研究所 | 一种应用于异构计算设备的联邦学习***和方法 |
CN113240524B (zh) * | 2021-05-10 | 2024-05-14 | 深圳前海微众银行股份有限公司 | 联邦学习***中账户的异常检测方法、装置及电子设备 |
CN113542228B (zh) * | 2021-06-18 | 2022-08-12 | 腾讯科技(深圳)有限公司 | 基于联邦学习的数据传输方法、装置以及可读存储介质 |
CN113487042B (zh) * | 2021-06-28 | 2023-10-10 | 海光信息技术股份有限公司 | 一种联邦学习方法、装置及联邦学习*** |
CN113468060B (zh) * | 2021-07-12 | 2022-09-16 | 建信金融科技有限责任公司 | 一种基于复现思想的程序异常检测方法和装置 |
CN113704777A (zh) * | 2021-07-15 | 2021-11-26 | 杭州医康慧联科技股份有限公司 | 基于同构机器学习框架的数据处理方法 |
CN113704776A (zh) * | 2021-07-15 | 2021-11-26 | 杭州医康慧联科技股份有限公司 | 基于联邦学习的机器学习方法 |
CN113704779A (zh) * | 2021-07-16 | 2021-11-26 | 杭州医康慧联科技股份有限公司 | 加密的分布式机器学习训练方法 |
CN113435544B (zh) * | 2021-07-23 | 2022-05-17 | 支付宝(杭州)信息技术有限公司 | 一种联邦学习***,方法与装置 |
CN113408668A (zh) * | 2021-07-30 | 2021-09-17 | 深圳前海微众银行股份有限公司 | 基于联邦学习***的决策树构建方法、装置及电子设备 |
CN114565105B (zh) * | 2022-03-02 | 2023-05-16 | 北京百度网讯科技有限公司 | 处理数据的方法和深度学习模型的训练方法、装置 |
CN115278709B (zh) * | 2022-07-29 | 2024-04-26 | 南京理工大学 | 一种基于联邦学习的通信优化方法 |
CN118101343A (zh) * | 2024-04-24 | 2024-05-28 | 天津医康互联科技有限公司 | 一种用于医院内网环境的联邦学习*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190012592A1 (en) * | 2017-07-07 | 2019-01-10 | Pointr Data Inc. | Secure federated neural networks |
US11244242B2 (en) * | 2018-09-07 | 2022-02-08 | Intel Corporation | Technologies for distributing gradient descent computation in a heterogeneous multi-access edge computing (MEC) networks |
CN109413087B (zh) * | 2018-11-16 | 2019-12-31 | 京东城市(南京)科技有限公司 | 数据共享方法、装置、数字网关及计算机可读存储介质 |
CN109492420B (zh) * | 2018-12-28 | 2021-07-20 | 深圳前海微众银行股份有限公司 | 基于联邦学习的模型参数训练方法、终端、***及介质 |
CN110399742B (zh) * | 2019-07-29 | 2020-12-18 | 深圳前海微众银行股份有限公司 | 一种联邦迁移学习模型的训练、预测方法及装置 |
CN110874484A (zh) * | 2019-10-16 | 2020-03-10 | 众安信息技术服务有限公司 | 基于神经网络和联邦学习的数据处理方法和*** |
CN110929880A (zh) * | 2019-11-12 | 2020-03-27 | 深圳前海微众银行股份有限公司 | 一种联邦学习方法、装置及计算机可读存储介质 |
-
2020
- 2020-04-17 CN CN202010305077.5A patent/CN111507481B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111507481A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111507481B (zh) | 一种联邦学习*** | |
US11196541B2 (en) | Secure machine learning analytics using homomorphic encryption | |
US11568257B2 (en) | Secure cloud-based machine learning without sending original data to the cloud | |
CN111428887B (zh) | 一种基于多个计算节点的模型训练控制方法、装置及*** | |
Ryan | Mathematical models of computer security | |
CN102611692B (zh) | 多承租人数据中心中的安全计算方法 | |
TW201835784A (zh) | 物聯網 | |
CN111816252A (zh) | 一种药物筛选方法、装置及电子设备 | |
CN113505882B (zh) | 基于联邦神经网络模型的数据处理方法、相关设备及介质 | |
CN113260993B (zh) | 虚拟平台***的***署和操作 | |
Kuznetsov et al. | Securefl: Privacy preserving federated learning with sgx and trustzone | |
Choi et al. | A hybrid approach to secure function evaluation using SGX | |
Wu et al. | Exploring dynamic task loading in SGX-based distributed computing | |
Fung et al. | Dancing in the dark: Private multi-party machine learning in an untrusted setting | |
Kumar et al. | Secure transfer of robust healthcare data using blockchain-based privacy | |
US20230344634A1 (en) | Gesture-based authentication tokens for information security within a metaverse | |
Lovrenčić et al. | Multi-cloud applications: data and code fragmentation for improved security | |
US20230036165A1 (en) | Security broker with post-provisioned states of the tee-protected services | |
US20230034725A1 (en) | Security broker with consumer proxying for tee-protected services | |
Lau et al. | JAVM: Internet-based Parallel Computing Using Java | |
Le Vinh | Security and trust in mobile cloud computing | |
Udbhav et al. | 1 Internet of Everything and Blockchain | |
KR102648612B1 (ko) | 개인정보 파편화 방법 및 장치 | |
Gunasekaran et al. | Double layer secure secret images sharing scheme for biometrics | |
US20230342760A1 (en) | Resource transfer validation within a metaverse |
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 |