CN114595835A - 基于联邦学习的模型训练方法及装置、设备、存储介质 - Google Patents
基于联邦学习的模型训练方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN114595835A CN114595835A CN202210489888.4A CN202210489888A CN114595835A CN 114595835 A CN114595835 A CN 114595835A CN 202210489888 A CN202210489888 A CN 202210489888A CN 114595835 A CN114595835 A CN 114595835A
- Authority
- CN
- China
- Prior art keywords
- network
- participant
- data
- gradient
- interaction layer
- 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.)
- Granted
Links
Images
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
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请揭示了基于联邦学习的模型训练方法及装置、设备、存储介质。联邦神经网络模型包括第一参与方对应的第一底层网络,及第二参与方对应的第二底层网络、交互层网络和顶层网络。该方法包括:在更新第一底层网络的网络参数的过程中,第二参与方计算训练损失值相对于第一底层网络的前向输出信息的第一梯度信息,并将第一梯度信息加密后发送至第一参与方;第一参与方根据接收到的加密梯度信息,计算第一底层网络对应的网络参数梯度的密文数据,并将密文数据返回至第二参与方;第二参与方对密文数据进行解密,并将解密得到的明文数据发送至第一参与方,以使第一参与方基于明文数据更新第一底层网络的网络参数。本申请能够保证模型训练的准确度。
Description
技术领域
本申请涉及机器学习技术领域,具体涉及一种基于联邦学习的模型训练方法及装置、设备、存储介质。
背景技术
联邦学习是一种新的机器学习范式,在进行机器学习的过程中,各方参与者可借助于其它方数据进行联合建模,且各方无需共享数据资源,即在数据不出本地的情况下进行联合训练。
纵向联邦学习是联邦学习的一种类型,是在两个数据集的特征重叠较多的情况下,将数据集按照纵向(即特征维度)切分,并取出双方用户相同而特征不完全相同的那部分数据进行训练。纵向联邦学习在模型训练过程中采用的是网络切分方式,参与联邦学习的双方(可称为第二参与方和第一参与方,第二参与方知晓训练样本的标签信息)各自拥有独立的底层网络,用来提取各方的特征信息,底层网络的输出在第二参与方通过交互层网络合并处理,交互层网络的输出通过第二参与方的顶层网络得到最终结果,根据最终结果与标签信息之间的差异即可确定训练损失值,从而基于训练损失值进行模型参数的更新,以达到模型训练的目的。
在基于纵向联邦学习的模型训练过程中,第一参与方对应的底层网络的前向输出通过同态加密方式发送到交互层网络,从而保护第一参与方底层网络的输出结果,但是从交互层网络返回给第一参与方的梯度信息是第一参与方可以解密的,即第一参与方可以获得梯度信息的明文,这会导致第二参与方的标签信息存在泄露风险。为了解决此问题,现有技术是第一参与方将反向传播过程中逐渐累计得到的累计噪声叠加在梯度信息上,以基于叠加有第一参与方累计噪声的梯度信息更新交互层网络中对应于第一参与方的网络参数,但是这种方式由于梯度信息中混淆了噪声信息会降低模型的训练准确度。
发明内容
为解决上述技术问题,本申请的实施例提供了一种基于联邦学习的模型训练方法及装置、电子设备、计算机可读存储介质以及计算机程序产品。
根据本申请实施例的一个方面,提供了一种基于联邦学习的模型训练方法,待训练的联邦神经网络模型包括第一参与方对应的第一底层网络,以及第二参与方对应的第二底层网络、交互层网络和顶层网络,所述第二参与方拥有训练样本对应的标签信息;所述方法包括:将所述训练样本输入至所述联邦神经网络模型中,以通过所述训练样本在所述联邦神经网络模型所包括的各层网络中进行前向计算,得到顶层网络输出数据;根据所述顶层网络输出数据和所述标签信息计算训练损失值,并基于所述训练损失值对所述联邦神经网络模型进行反向传播处理,以更新所述联邦神经网络模型所包括的各层网络中的网络参数;其中,在更新所述第一底层网络的网络参数的过程中,所述第二参与方计算所述训练损失值相对于所述第一底层网络的前向输出信息的第一梯度信息,并将所述第一梯度信息加密后发送至所述第一参与方;所述第一参与方根据接收到的加密梯度信息,计算所述第一底层网络对应的网络参数梯度的密文数据,并将所述密文数据返回至所述第二参与方;所述第二参与方对所述密文数据进行解密,并将解密得到的明文数据发送至所述第一参与方,以使所述第一参与方基于所述明文数据更新所述第一底层网络的网络参数。
根据本申请实施例的一个方面,提供了一种基于联邦学习的模型训练装置,待训练的联邦神经网络模型包括第一参与方对应的第一底层网络,以及第二参与方对应的第二底层网络、交互层网络和顶层网络,所述第二参与方拥有训练样本对应的标签信息;该装置包括:前向计算模块,配置为将所述训练样本输入至所述联邦神经网络模型中,以通过所述训练样本在所述联邦神经网络模型所包括的各层网络中进行前向计算,得到顶层网络输出数据;反向传播处理模块,配置为根据所述顶层网络输出数据和所述标签信息计算训练损失值,并基于所述训练损失值对所述联邦神经网络模型进行反向传播处理,以更新所述联邦神经网络模型所包括的各层网络中的网络参数;其中,所述反向传播处理模块包括第一底层网络更新单元,所述第一底层网络更新单元配置为执行如下步骤:在更新所述第一底层网络的网络参数的过程中,所述第二参与方计算所述训练损失值相对于所述第一底层网络的前向输出信息的第一梯度信息,并将所述第一梯度信息加密后发送至所述第一参与方;所述第一参与方根据接收到的加密梯度信息,计算所述第一底层网络对应的网络参数梯度的密文数据,并将所述密文数据返回至所述第二参与方;所述第二参与方对所述密文数据进行解密,并将解密得到的明文数据发送至所述第一参与方,以使所述第一参与方基于所述明文数据更新所述第一底层网络的网络参数。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的基于联邦学习的模型训练方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的基于联邦学习的模型训练方法。
根据本申请实施例的一个方面,还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的基于联邦学习的模型训练方法。
在本申请的实施例所提供的技术方案中,在更新第一底层网络的网络参数的过程中,由第二参与方向第一参与方反馈的梯度信息是由第二参与方加密的,第一参与方无法获知梯度明文信息,从而保护了第二参与方的标签信息不被泄露,同时由于梯度计算是在密文条件下,不需要使用第一参与方的累积噪声混淆梯度,从而使得联邦神经网络模型可以获得明文训练条件下的相同准确度。
应当理解的,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一示例性实施例示出的联邦神经网络模型的结构示意图。
图2是本申请涉及的一种实施环境的示意图。
图3是本申请的一示例性实施例示出的一种基于联邦学习的模型训练方法的流程图。
图4是本申请的一示例性实施例示出的更新交互层网络中对应于第一参与方的参数部分的流程图。
图5是本申请的一示例性实施例示出的更新第一底层网络的网络参数的流程图。
图6是本申请的一示例性实施例示出的联邦神经网络模型训练过程包括的前向计算的流程图。
图7是本申请的一示例性实施例示出的联邦神经网络模型训练过程包括的反向传播计算的流程图。
图8是本申请的一示例性实施例示出的一种加速计算框架示意图。
图9是本申请的一示例性实施例示出的一种基于联邦学习的模型训练装置的框图。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先需要说明的是,本申请涉及人工智能技术领域。人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析等多门学科。机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
本申请涉及的联邦学习是一种新的机器学习范式,其是在进行机器学习的过程中,各方参与者可借助于其它方数据进行联合建模,且各方无需共享数据资源,能够实现数据在隔离不泄露的前提下,利用两方或者多方数据实现模型无损训练。
图1是本申请的一示例性实施例示出的联邦神经网络模型的结构示意图,该示例性的联邦神经网络模型也即是需基于联邦学习的方式进行模型训练的待训练模型,并且该联邦神经网络模型是联合两方数据实现的模型训练。但需理解的是,在实际应用场景中,联邦神经网络模型可以结合实际需求联合多方参与者建模得到,本实施例不对联邦神经网络模型对应的数据参与方的数量进行限制。
如图1所示,该示例性的联邦神经网络模型包括第一底层网络11、第二底层网络12、交互层网络13和顶层网络14,其中第一底层网络11和第二底层网络12均与交互层网络13通信连接,交互层网络13还与顶层网络14通信连接。
第二参与方和第一参与方是指参与联邦学习模型训练的双方,双向各自拥有用来提取各方的特征信息的底层网络,即第一底层网络11和第二底层网络12,以实现双方特征数据的隔离,保证应用场景中数据的安全性。
第二底层网络12、交互层网络13及顶层网络14均与第二参与方对应,具体是指第二参与方均与这些网络进行通信,因此第二参与方能够获知这些网络在训练过程中的相关参数。在训练阶段,第二参与方拥有训练样本的标签信息,但第一参与方并未拥有,由此也可以看出第二参与方将在训练阶段担任主导方。在联邦学习中,第一参与方可以被称为Host方,第二参与方相应被称为Guest方。一般而言,联邦学习中Host方的数量可以有多个,但Guest方的数量为一个。
图1所示的联邦神经网络模型适用于纵向联邦学习的方式,具体来说,第一底层网络11和第二底层网络12分别用于提取第一参与方和第二参与方的特征信息,然后将得到的输出结果输入至交互层网络13中进行合并处理,交互层网络13得到的输出结果继续输入至顶层网络14中,由顶层网络14输出最终结果,并根据最终结果与标签信息之间的差异计算训练损失值,从而基于训练损失值进行模型参数的更新,以达到模型训练的目的。
需要说明的是,进行联邦学习的训练样本应当是进行样本对齐处理后的。样本对齐处理的过程通常包括:第二参与方和第一参与方分别拥有各自的训练样本对应的特征数据集D1和D2,分别获取由第二参与方提供的第一训练样本集D1,以及由第一参与方提供的第二训练样本集D2,通过筛选出双方各自拥有的训练样本集中的样本ID(IdentityDocument,身份标识)的交集部分,即求取D1和D2中相同样本ID的交集,且不能泄露非交集的部分的样本ID信息。也即,最终用于模型训练的双方训练样本是双方各自具有的相同样本ID的特征数据,因此第二参与方拥有的标签信息能够用于计算出联邦学习模式下的训练损失值。
图2是本申请涉及的一种实施环境的示意图,该实施环境具体为一种联邦神经网络模型的训练系统。如图2所示,该系统包括第一训练终端21和第二训练终端22,第一训练终端21是第一参与方部署的终端,第二训练终端22是第二参与方的终端,例如可以是手机、电脑、智能家电、车载终端、飞行器等终端设备,也可以是服务器设备,或者是终端设备与服务设备的结合,在此不进行限制。
其中,服务器设备可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,本实施例不对此进行限制。
需要理解的是,云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”,该网络中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云技术迅速发展起来。
在图2所示实施环境中,第一训练终端21中部署有构成联邦神经网络模型的第一底层网络,第二训练终端22中部署有构成联邦神经网络模型的第二底层网络、交互层网络和顶层网络,基于图2所示的模型训练架构,使得第一参与方与第二参与方之间无需共享数据资源,在数据不出本地的情况下进行数据联合训练。训练过程中第一参与方和第二参与方之间需要通过网络23进行有关数据的交互,所交互的数据通常是加密数据,由此保证数据的隔离不泄露。
需要说明的是,网络23可以是有线或者无线网络,本实施例不对此进行限制。详细的联邦神经网络模型的训练过程请参见后续实施例中的记载,在此也不进行限制。
仍请参见图1,在基于纵向联邦学习的联邦神经网络模型的训练过程中,第一底层网络11的前向输出通过同态加密方式发送到交互层网络13,同态加密是一种密码学技术,对经过同态加密的数据进行处理得到一个输出信息,将这个输出信息进行解密后,其结果与使用同一方法处理未加密的原始数据所得到的输出结果是一样的,由此保护第一参与方的底层网络的输出结果。但是,在基于训练损失值的反向传播过程中,从交互层网络13返回给第一参与方的梯度信息是第一参与方可以解密的,即第一参与方可以获得梯度信息的明文,这会导致第二参与方的标签信息存在泄露的风险。
为解决此问题,现有技术是第一参与方将反向传播过程中逐渐累计得到的累计噪声叠加在梯度信息上,以基于叠加有第一参与方累计噪声的梯度信息更新交互层网络13中对应于第一参与方的网络参数,但是这种方式由于梯度信息中混淆了噪声信息会降低模型的训练准确度。基于此,如何在训练联邦神经网络的过程中既不会造成第二参与方标签信息的泄露,又不会降低模型的训练准确度,是本领域的技术人员亟待解决的技术问题。
由此,本申请的实施例分别提出了一种基于联邦学习的模型训练方法、一种基于联邦学习的模型训练装置、一种电子设备、一种计算机可读存储介质和一种计算机程序产品。
下面将对这些实施例进行详细介绍。
请参阅图3,图3是本申请的一示例性实施例示出的一种基于联邦学习的模型训练方法的流程图。该方法适用于图2所示的实施环境,并由图2所示实施环境中的第一训练终端21和第二训练终端22联合执行。或者在其它实施环境中,该方法还可以由其它的服务器或者终端设备具体执行,在此不进行限制。另需说明的是,待训练的联邦神经网络模型的模型结构如图1所示,包括第一参与方对应的第一底层网络,以及第二参与方对应的第二底层网络、交互层网络和顶层网络。
如图3所示,在一示例性的实施例中,基于联邦学习的模型训练方法包括步骤S310至步骤S320,详细介绍如下。
步骤S310,将训练样本输入至联邦神经网络模型中,以通过训练样本在联邦神经网络模型所包括的各层模型中进行前向计算,得到顶层网络输出数据。
本实施例输入至联邦神经网络模型中的训练样本实质为训练样本对应的特征数据,该特征数据包括两部分,一部分是由第二参与方提供的特征数据,另一部分是由第一参与方提供的特征数据,两部分特征数据由于预先经过样本对齐处理而对应于相同的训练样本集。联邦学习中进行样本对齐处理的过程请参见前述记载,本处不再赘述。还需说明的是,第二参与方拥有各训练样本对应的标签信息。
通过训练样本在联邦神经网络模型所包括的各层网络中进行前向计算的过程包括:先将第一参与方提供的训练样本对应的特征数据输入第一底层网络中,得到第一底层网络输出的前向输出信息,以及将第二参与方提供的训练样本对应的特征数据输入至第二底层网络中,得到第二底层网络输出的前向输出信息;接下来,第一底层网络的前向输出信息和第二底层网络的前向输出信息分别输入至交互层网络中,获得相应的交互层网络输出数据;接下来,再将交互层网络输出数据输入至顶层网络中,从而得到相应的顶层网络输出数据。
在将第一底层网络的前向输出信息和第二底层网络的前向输出信息分别输入至交互层网络的过程中,第二参与方据第一底层网络的前向输出信息和交互层网络针对第一参与方所初始化的交互层参数计算第一交互层输入数据,以及根据第二底层网络的前向输出信息和交互层网络针对第二参与方所初始化的交互层参数计算第二交互层输入数据,然后将第一交互层输入数据和第二交互层输入数据输入至交互层网络中,以得到交互层网络输出数据。
便于理解的,训练样本在联邦神经网络模型所包括的各层网络中进行前向计算的过程也即是联邦神经网络模型基于训练样本对应的特征数据所执行的正向计算过程。
另需说明的是,为保证第一底层网络的前向输出信息的私密性,输入至交互层网络中的第一底层网络的前向输出信息为加密信息,该加密信息需通过第一参与方解密才能够得到相应的明文。加密信息基于同态加密方式得到,例如可采用RIAC(RandomizedIterative Affine Cipher,随机迭代仿射密码)加密方式或Paillier(是由Paillier基于复合剩余类的困难问题所发明的概率公钥加密系统)加密方式得到,在此不一一举例。
因此对于第二参与方来说,在计算得到第一交互层输入数据之后,第二参与方生成第三噪声数据,并将第三噪声数据与第一交互层输入数据进行叠加,以将得到的待解密数据发送至第一参与方进行解密。第二参与方接收第一参与方解密该待解密数据所得到的中间输入数据,并对中间输入数据进行噪声消除,得到明文结果数据,并将明文结果数据替换第一交互层输入数据输入至交互层网络中。通过这种方式,第二参与方即能够获得第一交互层输入数据对应的真实明文信息,但由于待解密信息中叠加了噪声使得第一参与方不会知晓真实的第一交互层输入数据,从而保证了主从双方之间的信息私密性。
步骤S320,根据顶层网络输出数据和标签信息计算训练损失值,并基于训练损失值对联邦神经网络模型进行反向传播处理,以更新联邦神经网络模型所包括的各层网络中的网络参数。
模型训练过程除包括上述的前向计算流程以外,还包括很重要的一环,即基于损失的反向传播流程。具体来说,在基于顶层网络输出数据和第二参与方提供的标签信息计算出训练损失值之后,需要基于该训练损失值进行反向传播处理,以更新联邦神经网络模型包括的各层网络中的网络参数,反向传播处理的顺序一般为前向计算的逆顺序,反向传播处理的方式一般为基于梯度下降所实现的反向计算。
示例性的,第一参与方首先根据训练损失值进行反向传播计算,以更新顶层网络的网络参数。
接下来则需更新交互层网络的网络参数,需说明的是,交互层网络包含的网络参数对应两个部分,其中一个部分为对应于第一参与方的参数部分,另外一个部分为对应于第二参与方的参数部分。
如图4所示,更新交互层网络中对应于第一参与方的参数部分包括如下的步骤S321至步骤S323,详细介绍如下:
步骤S321,第二参与方根据训练损失值和对应于第一参与方的交互层前向信息,计算对应于第一参与方的第一交互层参数梯度;
步骤S322,将第一交互层参数梯度叠加第二噪声数据,得到交互层加密梯度数据,并将交互层加密梯度数据发送至第一参与方,以使第一参与方使用自身密钥对交互层加密梯度数据进行解密,得到中间梯度数据;
步骤S323,接收到第一参与方返回的中间梯度数据之后,对中间梯度数据进行噪声消除,得到对应于第一参与方的交互层参数的目标梯度,以基于目标梯度更新交互层网络中对应于第一参与方的网络参数。
在如上过程中,对应于第一参与方的交互层前向信息包括交互层网络中对应于第一参与方的前向输出数据,通过计算训练损失值相对于此前向输出数据的第二梯度信息,并计算所得第二梯度信息与第一底层网络对应的前向加密数据之积,以得到第一交互层参数梯度。应理解,第一底层网络对应的前向加密数据是第一参与方使用自身私钥对第一底层网络的前向输出信息进行加密得到,并发送至第二参与方的,由此也对应了前述的前向计算过程中,为保证第一底层网络的前向输出信息的私密性,输入至交互层网络中的第一底层网络的前向输出信息为加密信息。
通过如上过程即可完成交互层网络中对应第一参与方的参数部分的更新,也即完成了交互层网络中的其中一部分反向传播计算。
另外同理,第二参与方还可根据训练损失值和对应于第二参与方的交互层前向信息,计算对应于第二参与方的第二交互层参数梯度,以基于第二交互层参数梯度更新交互层网络中对应于第二参与方的网络参数,由此完成了交互层网络中的另一部分反向传播计算。
由上可以看出,本实施例在更新交互层网络的网络参数的过程中,也无需叠加累计噪声在梯度信息上,因此能够避免出现由于梯度信息中混淆了噪声信息会降低模型的训练准确度的问题。
接下来继续更新第一底层网络的网络参数和第二底层网络的网络参数。其中,第二参与方根据训练损失值和第二底层网络的前向信息计算第二底层网络对应的网络参数梯度,并根据第二底层网络对应的网络参数梯度进行第二底层网络的网络参数的更新,由此完成第一底层网络的反向传播计算。
另外需要重点提及的是,更新第一底层网络的网络参数的过程包括如图5所示的步骤S324至步骤S326,详细介绍如下:
步骤S324,第二参与方计算训练损失值相对于第一底层网络的前向输出信息的第一梯度信息,并将第一梯度信息加密后发送至第一参与方;
步骤S325,第一参与方根据接收到的加密梯度信息,计算第一底层网络对应的网络参数梯度的密文数据,并将密文数据返回至第二参与方;
步骤S326,第二参与方对密文数据进行解密,并将解密得到的明文数据发送至第一参与方,以使第一参与方基于明文数据更新第一底层网络的网络参数。
在如上过程中,第二参与方使用自身密钥对第一梯度信息进行加密后所得到的加密梯度信息需使用第二参与方自身的密钥才能够成功解密,因此第一参与方在接收到该加密梯度信息之后,仍是基于密文状态下的计算,所得到的第一底层网络对应的网络参数梯度仍然为密文数据。第一参与方将计算得到的密文数据发送至第二参与方,以使第二参与方使用自身密钥对密文数据进行解密,并将解密得到的明文数据发送给第一参与方,由此使得第一参与方即可基于接收到的明文数据更新第一底层网络的网络参数,即完成第一底层网络的反向传播处理。需要说明的是,第二参与方对第一梯度信息进行加密所采用的密钥可以是基于非对称加密算法所生成的密钥对中的私钥,在此不进行限制。
由上可以看出,在本实施例提出的基于联邦学习方式的模型训练方法中,在更新第一底层网络的网络参数的过程中,由第二参与方向第一参与方反馈的梯度信息是由第二参与方加密的,第一参与方无法获知梯度明文信息,从而保护了第二参与方的标签信息不被泄露,同时由于梯度计算是在密文条件下,不需要使用第一参与方的累积噪声混淆梯度,从而使得联邦神经网络模型可以获得明文训练条件下的相同准确度。
还需要说明的是,在机器学习领域,任何神经网络模型的训练通常都不是一次训练就可完成的,往往需要迭代地进行多次训练才能使得神经网络模型达到预想的模型效果,如直至某次训练得到的训练损失值小于预设的阈值,或直至训练得到的模型效果评价指标达标,在此不对训练停止条件进行限制,因此本实施例所描述的模型训练过程并不限制联邦神经网络模型的训练只这一次,而应理解为是迭代进行至少一次训练,以最终得到满足训练需求的联邦神经网络模型。
在一示例性的实施例中,如上步骤S325具体包括如下步骤:
步骤S3251,第一参与方根据第一底层网络的前向输出信息计算雅可比矩阵,并计算雅可比矩阵与加密梯度信息之积,得到第一底层网络对应的网络参数梯度的初始密文;
步骤S3252,生成第一噪声数据,并将第一噪声数据与初始密文进行叠加,以得到第一底层网络对应的网络参数梯度的密文数据,其中,第一参与方在接收到密文数据所对应的明文数据后,还对明文数据进行噪声消除,以基于噪声消除后的明文数据更新第一底层网络的网络参数。
在如上过程中,第一参与方接收到的加密梯度信息反映的是训练损失值相对于第一底层网络的前向输出信息的梯度,还需继续计算第一底层网络对应的网络参数梯度,以基于网络参数梯度实现对于第一底层网络的网络参数的更新。雅可比矩阵是指一阶偏导数以一定方式排列形成的矩阵,通过计算雅可比矩阵与加密梯度信息之积,即可得到第一底层网络对应的网络参数梯度的初始密文。
第一参与方生成第一噪声数据并与初始密文进行叠加,得到第一底层网络对应的网络参数梯度的密文数据。然后,第一参与方将此密文数据发送至第二参与方,使得第二参与方使用自身密钥对密文数据进行解密,所得到的明文数据中是叠加了第一参与方噪声的数据,因此第二参与方即使能获得密文数据对应的铭文,但仍无法获得第一底层网络真实的网络参数梯度,由此保证第一底层网络的有关信息不被泄露。第一参与方接收到第二参与方返回的明文数据后,通过对此明文数据进行噪声消除,也即针对明文数据消除所叠加的第一噪声数据,由此得到的才是第一底层网络真实的网络参数梯度,第一参与方基于此网络参数梯度即可对第一底层网络的网络参数进行更新。
由此,本实施例通过在密文数据上进行噪声叠加,使得密文数据在通过第二参与方进行解密的过程中,不会造成第一参与方有关第一底层网络的信息被第二参与方知晓,从而可避免第一参与方的私密信不发生泄露,在不影响模型训练准确度的情况下进一步保证了模型训练过程中的信息安全性。
在另外的示例性实施例中,第一参与方在生成第一噪声数据之前,还计算初始密文在批量的训练样本上的加和结果,也即是计算初始密文在一个mini-batch上的加和,然后将得到的加和结果替换初始密文与第一噪声数据进行叠加,从而得到密文数据。密文数据仍发送至第二参与方解密得到对应的明文数据,第一参与方在接收到明文数据后,先对明文数据进行噪声消除,再基于噪声消除后的明文数据计算平均梯度信息,从而基于得到的平均梯度信息更新第一底层网络的网络参数。可见,本实施例所得到的第底层网络的网络参数梯度是基于批量的训练样本所得到的平均梯度信息,能够更加准确地反应第一底层网络的网络参数对于训练损失的影响,使得基于平均梯度信息针对第一底层网络的网络参数进行的更新也更加准确,能够在一定程度上提升联邦神经网络模型的训练效果和准确度。
为了便于理解如上的联邦神经网络模型的训练过程,下面将通过更加具体的应用场景和附图来对此训练过程进行详细介绍。
由前述记载可知,本申请提出的联邦神经网络模型的训练过程包括前向计算和反向传播计算两个部分,其中前向计算的过程对应的图6所示流程,反向传播计算的过程对应于图7所示流程。
首先参见图6,第一参与方生成公钥pk1和私钥sk1,并将公钥pk1发送给第二参与方。需要说明的是,当采用RIAC加密算法时,第一参与方不需要发送自身公钥给第二参与方,而是可通过RIAC密钥加密某一个随机数或者常数,并将加密结果发送给第二参与方。
第一参与方使用自身公钥pk1加密第一底层网络的前向输出信息,得到前向加密数据,由此保护第一参与方的特征信息,并发送给第二参与方。第二参与方计算第一参与方对应的第一交互层输入数据,以及计算第二参与方对应的第二交互层输入数据。
第一参与方使用自身私钥sk1对待解密数据解密,以得到明文状态下的中间输入数据,并将中间输入数据发送给第二参与方。由于数据解密过程中叠加了第二参与方的噪声,第一参与方所解密得到的明文数据也并非是真实的第一交互层输入数据,从而保护了第二参与方的特征信息。
第二参与方针对中间输入数据进行噪声消除,得到第一交互层输入数据对应的明文结果数据。基于此,第二参与方则可针对第一交互层输入数据对应的明文结果数据和第二交互层输入数据进行计算,相应得到交互层网络输出数据。
需说明的是,在图6所示的前向计算流程中,对于广告场景下的双塔模型(这是推荐场景下经常使用到的一种联邦神经网络模型),交互层网络输出数据一般为第一底层网络计算输出前向输出信息与第二底层网络计算输出前向输出信息的乘积。另外对于每个训练样本,每次前向传输可以使用不同的密钥对第一底层网络的前向输出信息进行加密,例如每次通过RIAC密钥加密不同的随机数或者常数,以增强安全性。
继续参见图7,在反向传播计算流程中,第二参与方基于顶层网络输出数据和标签信息计算损失函数,得到训练损失值L,并反向传播更新顶层网络的网络参数。
以及,第二参与方计算训练损失值L相对于交互层网络中对应于第二参与方的前向输出数据的梯度信息,并计算该梯度信息与第二底层网络对应的前向输出数据之积,得到对应于第二参与方的第二交互层参数梯度。由于第二交互层参数梯度为明文数据,第二参与方可直接根据第二交互层参数梯度更新交互层网络中对应的第二参与方的网络参数,也即是对交互层参数进行更新。
基于如上流程则可完成交互层网络的网络参数更新。可以看出,整个更新过程中不需要在梯度信息上叠加累计噪声,因此交互层网络的网络参数更新过程不会降低准确度。另外,本实施例通过在第一交互层参数梯度上叠加第二参与方的噪声,其目的同前向计算流程,也是在于保护第二参与方的特征信息,保证模型训练的信息安全性。
接下来则需更新第一底层网络和第二底层网络所包含的网络参数。
第二参与方需要生成公钥pk2和私钥sk2,并将公钥pk2发送给第一参与方。仍需说明的是,当采用RIAC加密算法时,第二参与方不需要发送自身公钥给第一参与方,而是可通过RIAC密钥加密某一个随机数或者常数,并将加密结果发送给第一参与方。
第一参与方继续计算该初始密文在一个mini-batch上的加和,得到加和结果
第二底层网络的网络参数则由第二参与方进行更新,具体来说,第二参与方根据训练损失值L和第二底层网络的前向输出信息计算第二底层网络对应的网络参数梯度,然后使用该网络参数梯度则可进行第二底层网络的网络参数的更新。
基于如上过程则实现了联邦神经网络模型的一次模型训练,由上可以看出,在更新第一底层网络的网络参数的过程中,由第二参与方向第一参与方反馈的梯度信息是由第二参与方加密的,第一参与方无法获知梯度明文信息,从而保护了第二参与方的标签信息不被泄露,同时由于梯度计算是在密文条件下,不需要使用第一参与方的累积噪声混淆梯度,从而使得联邦神经网络模型可以获得明文训练条件下的相同准确度。
因此,本实施例提供的模型训练方法能够有效保护第二参与方的标签信息,且训练结果与明文条件下保持一致,能适用于数据隐私性要求较高的应用场景,例如金融场景和医疗场景等,在此不进行限制。在这些不同的应用场景下,联邦神经网络模型的具体结构可基于实际需求进行设置,但其模型框架仍可参见图1所示架构。
另外可以前述实施例记载的内容可知,在更新第一底层网络的网络参数的过程中,由于第一参与方需要在密文条件下进行计算,增加了较多计算量,因此可针对交互层网络分别面向第二参与方和第一参与方的网络参数进行切分调整。
示例性的,考虑到本实施例中的第一参与方需要在密文条件下进行计算,相比于现有技术计算量具有较大增长,因此可在交互层网络切分时将更少的参数部分划分给第一参与方,以使得第一参与方的反向传播计算量减少。可以理解的,交互层网络划分给第一参与方的参数部分通常包括一些向量和矩阵参数,降低这些参数部分可相应理解为是减小这些向量和矩阵。
或者还可以根据第二参与方对应的反向传播计算量和第一参与方对应的反向传播计算量,自适应调整交互层网络中分别对应于第二参与方和第一参与方的网络切分比例。例如若将第二参与方对应的反向传播计算量表示为,将第一参与方对应的反向传播计算量表示为,则可根据与的比例大小来自适应地调整交互层网络的切分大小,从而确保第二参与方和第一参与方参与的训练进度保持同步,提升整体的训练效率。
需要说明的是,以上提供的多种对交互层网络进行网络切分的方式,在实际应用场景下可根据实际需求进行选择,以保证联邦神经网络模型的训练效率和准确性。
另外,考虑到实际应用场景中第二参与方或者第一参与方可能分配在多个节点设备(可简称为节点)上执行计算,并且考虑到计算环境的异构特性,不同节点设备中配置的计算模块类型可能不同,例如有些节点设备可能包含GPU(Graphics Processing Unit,图形处理器),有的节点设备可能包含FPGA(Field Programmable Gate Array,现场可编程门阵列),有的节点设备可能包含ASIC(Application Specific Integrated Circuit,专用集成电路),有的节点设备可能包含NPU(Neural-network Processing Units,嵌入式神经网络处理器),有些节点设备可能仅包含CPU(Central Processing Unit,中央处理器),在此不一一列举,为了充分使用节点设备的本地计算资源加速第二参与方和/或第一参与方的计算,本申请的一示例性实施例还提出了如图8所示的计算框架。
如图8所示,第一参与方部署的节点包括GPU计算节点、CPU计算节点和FPGA计算节点,但节点不能通过所有类型的计算芯片参与联邦神经网络模型的训练,例如图8所示架构中依赖GPU和FPGA的计算能力和来实现模型训练,CPU则无法参与训练计算,为充分使用节点的本地计算资源加速第一参与方的计算,特设置了异构计算服务,例如图8所示的GPU计算节点和FPGA计算节点使用本地GPU或FPGA进行训练计算,而CPU计算节点则可以通过网络连接的方式使用异构计算服务来加速第一参与方的计算。
以上的这种加速方式也可同样应用于第二参与方,由此提升模型训练的性能。但还需要说明的是,以上提及的GPU、CPU、PFGA、ASIC、NPU均为示例性的计算芯片,在实际应用场景中,第二参与方和第一参与方可部署具有其它类型的计算芯片的节点设备,本实施例不对此进行限制。
图9是本申请的一示例性实施例示出的一种基于联邦学习的模型训练装置的框图。其中,待训练的联邦神经网络模型包括第一参与方对应的第一底层网络,以及第二参与方对应的第二底层网络、交互层网络和顶层网络,所述第二参与方拥有训练样本对应的标签信息。该装置包括:
前向计算模块910,配置为将训练样本输入至联邦神经网络模型中,以通过训练样本在联邦神经网络模型所包括的各层网络中进行前向计算,得到顶层网络输出数据;
反向传播处理模块920,配置为根据顶层网络输出数据和标签信息计算训练损失值,并基于训练损失值对联邦神经网络模型进行反向传播处理,以更新联邦神经网络模型所包括的各层网络中的网络参数;
其中,反向传播处理模块920包括第一底层网络更新单元,第一底层网络更新单元配置为执行如下步骤:
在更新第一底层网络的网络参数的过程中,第二参与方计算训练损失值相对于第一底层网络的前向输出信息的第一梯度信息,并将第一梯度信息加密后发送至第一参与方;
第一参与方根据接收到的加密梯度信息,计算第一底层网络对应的网络参数梯度的密文数据,并将密文数据返回至第二参与方;
第二参与方对密文数据进行解密,并将解密得到的明文数据发送至第一参与方,以使第一参与方基于明文数据更新第一底层网络的网络参数。
该装置在更新第一底层网络的网络参数的过程中,由第二参与方向第一参与方反馈的梯度信息是由第二参与方加密的,第一参与方无法获知梯度明文信息,从而保护了第二参与方的标签信息不被泄露,同时由于梯度计算是在密文条件下,不需要使用第一参与方的累积噪声混淆梯度,从而使得联邦神经网络模型可以获得明文训练条件下的相同准确度。
在另一示例性实施例中,第一底层网络更新单元还配置为执行如下步骤:
第一参与方根据第一底层网络的前向输出信息计算雅可比矩阵,并计算雅可比矩阵与加密梯度信息之积,得到第一底层网络对应的网络参数梯度的初始密文;
生成第一噪声数据,并将第一噪声数据与初始密文进行叠加,以得到第一底层网络对应的网络参数梯度的密文数据,其中,第一参与方在接收到密文数据所对应的明文数据后,还对明文数据进行噪声消除,以基于噪声消除后的明文数据更新第一底层网络的网络参数。
在另一示例性实施例中,第一底层网络更新单元还配置为执行如下步骤:
计算初始密文在批量的训练样本上的加和结果,以将加和结果替换初始密文与第一噪声数据进行叠加,得到密文数据,其中,第一参与方在接收到密文数据所对应的明文数据后,对明文数据进行噪声消除,并基于噪声消除后的明文数据计算平均梯度信息,以基于平均梯度信息更新第一底层网络的网络参数。
在另一示例性实施例中,该装置还包括:
网络切分调整模块,配置为在更新第一底层网络的网络参数的过程中,根据第二参与方对应的反向传播计算量和第一参与方对应的反向传播计算量,自适应调整交互层网络中分别对应于第二参与方和第一参与方的网络切分比例。
在另一示例性实施例中,该装置还包括:
计算性能扩增模块,配置为在进行联邦神经网络模型的训练过程中,第二参与方部署的主节点或者第一参与方部署的从节点通过调用预设的异构计算服务,以扩增第二参与方或者第一参与方的计算性能。
在另一示例性实施例中,反向传播处理模块包括第二底层网络更新单元,第二底层网络更新单元被配置为执行如下步骤:
在更新第二底层网络的网络参数的过程中,第二参与方根据训练损失值和第二底层网络的前向输出信息计算第二底层网络对应的网络参数梯度;
根据第二底层网络对应的网络参数梯度进行第二底层网络的网络参数的更新。
在另一示例性实施例中,反向传播处理模块包括第三底层网络更新单元,第三底层网络更新单元被配置为执行如下步骤:
在更新交互层网络的网络参数的过程中,第二参与方根据训练损失值和对应于第一参与方的交互层前向信息,计算对应于第一参与方的第一交互层参数梯度;
将第一交互层参数梯度叠加第二噪声数据,得到交互层加密梯度数据,并将交互层加密梯度数据发送至第一参与方,以使第一参与方对交互层加密梯度数据进行解密,得到中间梯度数据;
接收第一参与方返回的中间梯度数据,并对中间梯度数据进行噪声消除,得到对应于第一参与方的交互层参数的目标梯度,以基于目标梯度更新交互层网络中对应于第一参与方的网络参数。
在另一示例性实施例中,第三底层网络更新单元还配置为执行如下步骤:
第二参与方根据训练损失值和对应于第二参与方的交互层前向信息,计算对应于第二参与方的第二交互层参数梯度,以基于第二交互层参数梯度更新交互层网络中对应于第二参与方的网络参数。
在另一示例性实施例中,第三底层网络更新单元还配置为执行如下步骤:
计算训练损失值相对于交互层网络中对应于第一参与方的前向输出数据的第二梯度信息;
计算第二梯度信息与前向加密数据之积,得到第一交互层参数梯度,其中,前向加密数据是第一参与方使用自身私钥对第一底层网络的前向输出信息进行加密得到,并发送至第二参与方的。
在另一示例性实施例中,前向计算模块910配置为执行如下步骤:
第二参与方分别获取第一底层网络和第二底层网络的前向输出信息;
根据第一底层网络的前向输出信息和交互层网络针对第一参与方所初始化的交互层参数计算第一交互层输入数据,以及根据第二底层网络的前向输出信息和交互层网络针对第二参与方所初始化的交互层参数计算第二交互层输入数据;
将第一交互层输入数据和第二交互层输入数据输入至交互层网络中,以及将得到的交互层网络输出数据输入至顶层网络中,以得到顶层网络输出数据。
在另一示例性实施例中,前向计算模块910还配置为执行如下步骤:
在计算得到第一交互层输入数据之后,第二参与方生成第三噪声数据,并将第三噪声数据与第一交互层输入数据进行叠加,以将得到的待解密数据发送至第一参与方;
接收第一参与方解密待解密数据所得到的中间输入数据,并对中间输入数据进行噪声消除,得到明文结果数据,以将明文结果数据替换第一交互层输入数据输入至交互层网络中。
在另一示例性实施例中,该装置还包括样本对齐模块,该样本对齐模块被配置为执行如下步骤:
获取由第二参与方提供的第一训练样本集,以及获取由第一参与方提供的第二训练样本集;
对第一训练样本集和第二训练样本集进行样本对齐处理,得到用于训练联邦神经网络模型的训练样本。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的基于联邦学习的模型训练方法。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图10示出的电子设备的计算机系统仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统包括中央处理单元(Central Processing Unit,CPU)1001,其可以根据存储在只读存储器(Read-Only Memory,ROM)1002中的程序或者从储存部分1008加载到随机访问存储器(Random Access Memory,RAM)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(Input /Output,I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的储存部分1008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入储存部分1008。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的基于联邦学习的模型训练方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的基于联邦学习的模型训练方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (16)
1.一种基于联邦学习的模型训练方法,其特征在于,待训练的联邦神经网络模型包括第一参与方对应的第一底层网络,以及第二参与方对应的第二底层网络、交互层网络和顶层网络,所述第二参与方拥有训练样本对应的标签信息;所述方法包括:
将所述训练样本输入至所述联邦神经网络模型中,以通过所述训练样本在所述联邦神经网络模型所包括的各层网络中进行前向计算,得到顶层网络输出数据;
根据所述顶层网络输出数据和所述标签信息计算训练损失值,并基于所述训练损失值对所述联邦神经网络模型进行反向传播处理,以更新所述联邦神经网络模型所包括的各层网络中的网络参数;
其中,在更新所述第一底层网络的网络参数的过程中,所述第二参与方计算所述训练损失值相对于所述第一底层网络的前向输出信息的第一梯度信息,并将所述第一梯度信息加密后发送至所述第一参与方;
所述第一参与方根据接收到的加密梯度信息,计算所述第一底层网络对应的网络参数梯度的密文数据,并将所述密文数据返回至所述第二参与方;
所述第二参与方对所述密文数据进行解密,并将解密得到的明文数据发送至所述第一参与方,以使所述第一参与方基于所述明文数据更新所述第一底层网络的网络参数。
2.根据权利要求1所述的方法,其特征在于,所述第一参与方根据接收到的加密梯度信息,计算所述第一底层网络对应的网络参数梯度的密文数据,包括:
所述第一参与方根据所述第一底层网络的前向输出信息计算雅可比矩阵,并计算所述雅可比矩阵与所述加密梯度信息之积,得到所述第一底层网络对应的网络参数梯度的初始密文;
生成第一噪声数据,并将所述第一噪声数据与所述初始密文进行叠加,以得到所述第一底层网络对应的网络参数梯度的密文数据,其中,所述第一参与方在接收到所述密文数据所对应的明文数据后,还对所述明文数据进行噪声消除,以基于噪声消除后的明文数据更新所述第一底层网络的网络参数。
3.根据权利要求2所述的方法,其特征在于,在生成第一噪声数据之前,所述方法还包括:
计算所述初始密文在批量的训练样本上的加和结果,以将所述加和结果替换所述初始密文与所述第一噪声数据进行叠加,得到所述密文数据,其中,所述第一参与方在接收到所述密文数据所对应的明文数据后,对所述明文数据进行噪声消除,并基于噪声消除后的明文数据计算平均梯度信息,以基于所述平均梯度信息更新所述第一底层网络的网络参数。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在更新所述第一底层网络的网络参数的过程中,根据所述第二参与方对应的反向传播计算量和所述第一参与方对应的反向传播计算量,自适应调整所述交互层网络中分别对应于所述第二参与方和所述第一参与方的网络切分比例。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在进行所述联邦神经网络模型的训练过程中,所述第二参与方部署的主节点或者所述第一参与方部署的从节点通过调用预设的异构计算服务,以扩增所述第二参与方或者所述第一参与方的计算性能。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在更新所述第二底层网络的网络参数的过程中,所述第二参与方根据所述训练损失值和第二底层网络的前向输出信息计算所述第二底层网络对应的网络参数梯度;
根据所述第二底层网络对应的网络参数梯度进行所述第二底层网络的网络参数的更新。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在更新所述交互层网络的网络参数的过程中,所述第二参与方根据所述训练损失值和对应于所述第一参与方的交互层前向信息,计算对应于所述第一参与方的第一交互层参数梯度;
将第一交互层参数梯度叠加第二噪声数据,得到交互层加密梯度数据,并将所述交互层加密梯度数据发送至所述第一参与方,以使所述第一参与方对所述交互层加密梯度数据进行解密,得到中间梯度数据;
接收所述第一参与方返回的所述中间梯度数据,并对所述中间梯度数据进行噪声消除,得到对应于所述第一参与方的交互层参数的目标梯度,以基于所述目标梯度更新交互层网络中对应于所述第一参与方的网络参数。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第二参与方根据所述训练损失值和对应于所述第二参与方的交互层前向信息,计算对应于所述第二参与方的第二交互层参数梯度,以基于所述第二交互层参数梯度更新交互层网络中对应于所述第二参与方的网络参数。
9.根据权利要求7所述的方法,其特征在于,所述第二参与方根据所述训练损失值和对应于所述第一参与方的第一交互层前向信息,计算对应于所述第一参与方的第一交互层参数梯度,包括:
计算所述训练损失值相对于所述交互层网络中对应于所述第一参与方的前向输出数据的第二梯度信息;
计算所述第二梯度信息与前向加密数据之积,得到所述第一交互层参数梯度,其中,所述前向加密数据是所述第一参与方使用自身私钥对所述第一底层网络的前向输出信息进行加密得到,并发送至所述第二参与方的。
10.根据权利要求1所述的方法,其特征在于,所述将所述训练样本输入至所述联邦神经网络模型中,以通过所述训练样本在所述联邦神经网络模型所包括的各层网络中进行前向计算,得到顶层网络输出数据,包括:
所述第二参与方分别获取所述第一底层网络和所述第二底层网络的前向输出信息;
根据所述第一底层网络的前向输出信息和所述交互层网络针对所述第一参与方所初始化的交互层参数计算第一交互层输入数据,以及根据所述第二底层网络的前向输出信息和所述交互层网络针对所述第二参与方所初始化的交互层参数计算第二交互层输入数据;
将所述第一交互层输入数据和所述第二交互层输入数据输入至所述交互层网络中,以及将得到的交互层网络输出数据输入至所述顶层网络中,以得到所述顶层网络输出数据。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在计算得到所述第一交互层输入数据之后,所述第二参与方生成第三噪声数据,并将所述第三噪声数据与所述第一交互层输入数据进行叠加,以将得到的待解密数据发送至所述第一参与方;
接收所述第一参与方解密所述待解密数据所得到的中间输入数据,并对所述中间输入数据进行噪声消除,得到明文结果数据,以将所述明文结果数据替换所述第一交互层输入数据输入至所述交互层网络中。
12.根据权利要求1-11中任一项所述的方法,其特征在于,所述方法还包括:
获取由所述第二参与方提供的第一训练样本集,以及获取由所述第一参与方提供的第二训练样本集;
对所述第一训练样本集和所述第二训练样本集进行样本对齐处理,得到用于训练所述联邦神经网络模型的训练样本。
13.一种基于联邦学习的模型训练装置,其特征在于,待训练的联邦神经网络模型包括第一参与方对应的第一底层网络,以及第二参与方对应的第二底层网络、交互层网络和顶层网络,所述第二参与方拥有训练样本对应的标签信息;所述装置包括:
前向计算模块,配置为将所述训练样本输入至所述联邦神经网络模型中,以通过所述训练样本在所述联邦神经网络模型所包括的各层网络中进行前向计算,得到顶层网络输出数据;
反向传播处理模块,配置为根据所述顶层网络输出数据和所述标签信息计算训练损失值,并基于所述训练损失值对所述联邦神经网络模型进行反向传播处理,以更新所述联邦神经网络模型所包括的各层网络中的网络参数;
其中,所述反向传播处理模块包括第一底层网络更新单元,所述第一底层网络更新单元配置为执行如下步骤:
在更新所述第一底层网络的网络参数的过程中,所述第二参与方计算所述训练损失值相对于所述第一底层网络的前向输出信息的第一梯度信息,并将所述第一梯度信息加密后发送至所述第一参与方;
所述第一参与方根据接收到的加密梯度信息,计算所述第一底层网络对应的网络参数梯度的密文数据,并将所述密文数据返回至所述第二参与方;
所述第二参与方对所述密文数据进行解密,并将解密得到的明文数据发送至所述第一参与方,以使所述第一参与方基于所述明文数据更新所述第一底层网络的网络参数。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1-12中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-12中任一项所述的方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-12中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210489888.4A CN114595835B (zh) | 2022-05-07 | 2022-05-07 | 基于联邦学习的模型训练方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210489888.4A CN114595835B (zh) | 2022-05-07 | 2022-05-07 | 基于联邦学习的模型训练方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114595835A true CN114595835A (zh) | 2022-06-07 |
CN114595835B CN114595835B (zh) | 2022-07-22 |
Family
ID=81821288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210489888.4A Active CN114595835B (zh) | 2022-05-07 | 2022-05-07 | 基于联邦学习的模型训练方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114595835B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034836A (zh) * | 2022-08-12 | 2022-09-09 | 腾讯科技(深圳)有限公司 | 一种模型训练方法及相关装置 |
CN115952550A (zh) * | 2023-03-14 | 2023-04-11 | 深圳市洞见智慧科技有限公司 | 基于分离学习的纵向图联邦信息推荐方法及相关装置 |
CN116032431A (zh) * | 2023-02-06 | 2023-04-28 | 哈尔滨工业大学(深圳) | 针对分布式学习的通信压缩方法以及相关设备 |
CN117454185A (zh) * | 2023-12-22 | 2024-01-26 | 深圳市移卡科技有限公司 | 联邦模型训练方法、装置、计算机设备和存储介质 |
CN117852627A (zh) * | 2024-03-05 | 2024-04-09 | 湘江实验室 | 一种预训练模型微调方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020029585A1 (zh) * | 2018-08-10 | 2020-02-13 | 深圳前海微众银行股份有限公司 | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 |
CN112383396A (zh) * | 2021-01-08 | 2021-02-19 | 索信达(北京)数据技术有限公司 | 一种联邦学习模型训练方法及系统 |
US20210209515A1 (en) * | 2020-09-25 | 2021-07-08 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Joint training method and apparatus for models, device and storage medium |
CN113505894A (zh) * | 2021-06-02 | 2021-10-15 | 北京航空航天大学 | 纵向联邦学习线性回归和逻辑回归模型训练方法及装置 |
WO2022016964A1 (zh) * | 2020-07-23 | 2022-01-27 | 深圳前海微众银行股份有限公司 | 纵向联邦建模优化方法、设备及可读存储介质 |
CN114239820A (zh) * | 2021-11-15 | 2022-03-25 | 北京百度网讯科技有限公司 | 纵向联邦学习模型的训练方法、装置和计算机设备 |
-
2022
- 2022-05-07 CN CN202210489888.4A patent/CN114595835B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020029585A1 (zh) * | 2018-08-10 | 2020-02-13 | 深圳前海微众银行股份有限公司 | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 |
WO2022016964A1 (zh) * | 2020-07-23 | 2022-01-27 | 深圳前海微众银行股份有限公司 | 纵向联邦建模优化方法、设备及可读存储介质 |
US20210209515A1 (en) * | 2020-09-25 | 2021-07-08 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Joint training method and apparatus for models, device and storage medium |
CN112383396A (zh) * | 2021-01-08 | 2021-02-19 | 索信达(北京)数据技术有限公司 | 一种联邦学习模型训练方法及系统 |
CN113505894A (zh) * | 2021-06-02 | 2021-10-15 | 北京航空航天大学 | 纵向联邦学习线性回归和逻辑回归模型训练方法及装置 |
CN114239820A (zh) * | 2021-11-15 | 2022-03-25 | 北京百度网讯科技有限公司 | 纵向联邦学习模型的训练方法、装置和计算机设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115034836A (zh) * | 2022-08-12 | 2022-09-09 | 腾讯科技(深圳)有限公司 | 一种模型训练方法及相关装置 |
CN115034836B (zh) * | 2022-08-12 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 一种模型训练方法及相关装置 |
CN116032431A (zh) * | 2023-02-06 | 2023-04-28 | 哈尔滨工业大学(深圳) | 针对分布式学习的通信压缩方法以及相关设备 |
CN116032431B (zh) * | 2023-02-06 | 2023-09-12 | 哈尔滨工业大学(深圳) | 针对分布式学习的通信压缩方法以及相关设备 |
CN115952550A (zh) * | 2023-03-14 | 2023-04-11 | 深圳市洞见智慧科技有限公司 | 基于分离学习的纵向图联邦信息推荐方法及相关装置 |
CN115952550B (zh) * | 2023-03-14 | 2023-06-06 | 深圳市洞见智慧科技有限公司 | 基于分离学习的纵向图联邦信息推荐方法及相关装置 |
CN117454185A (zh) * | 2023-12-22 | 2024-01-26 | 深圳市移卡科技有限公司 | 联邦模型训练方法、装置、计算机设备和存储介质 |
CN117454185B (zh) * | 2023-12-22 | 2024-03-12 | 深圳市移卡科技有限公司 | 联邦模型训练方法、装置、计算机设备和存储介质 |
CN117852627A (zh) * | 2024-03-05 | 2024-04-09 | 湘江实验室 | 一种预训练模型微调方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114595835B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114595835B (zh) | 基于联邦学习的模型训练方法及装置、设备、存储介质 | |
CN112183730B (zh) | 一种基于共享学习的神经网络模型的训练方法 | |
EP3075098B1 (en) | Server-aided private set intersection (psi) with data transfer | |
WO2022247576A1 (zh) | 一种数据处理方法、装置、设备及计算机可读存储介质 | |
WO2022068575A1 (zh) | 纵向联邦学习中的计算方法、装置、设备及介质 | |
CN111210003B (zh) | 纵向联邦学习系统优化方法、装置、设备及可读存储介质 | |
CN110061829A (zh) | 基于区块链网络的安全多方计算方法、装置及存储介质 | |
CN113162752B (zh) | 基于混合同态加密的数据处理方法和装置 | |
CN113609508A (zh) | 一种基于区块链的联邦学习方法、装置、设备及存储介质 | |
CN114401079A (zh) | 多方联合信息价值计算方法、相关设备及存储介质 | |
CN114584294A (zh) | 不经意分散排列方法及装置 | |
US11991156B2 (en) | Systems and methods for secure averaging of models for federated learning and blind learning using secure multi-party computation | |
CN114282257A (zh) | 联邦学习代码生成方法、装置、电子设备及存储介质 | |
CN111767411A (zh) | 知识图谱表示学习优化方法、设备及可读存储介质 | |
CN113591097A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN114386071A (zh) | 去中心的联邦聚类方法、装置、电子设备及存储介质 | |
CN113722753A (zh) | 基于区块链的隐私数据处理方法、装置及系统 | |
JP7297131B2 (ja) | 分散型機械学習モデルのトレーニング方法、装置、機器および媒体 | |
Zhu et al. | Outsourcing set intersection computation based on bloom filter for privacy preservation in multimedia processing | |
CN114462626B (zh) | 联邦模型训练方法、装置、终端设备以及存储介质 | |
CN115130568A (zh) | 支持多参与方的纵向联邦Softmax回归方法及系统 | |
Shah et al. | Secure featurization and applications to secure phishing detection | |
CN114004363B (zh) | 联合更新模型的方法、装置及系统 | |
CN115345307B (zh) | 一种密文图像上的安全卷积神经网络推理方法及系统 | |
RU2774815C2 (ru) | Способ безопасной передачи частей данных, описывающих единый объект и хранящихся в разных базах данных |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40072245 Country of ref document: HK |