CN112686370A - 网络结构搜索方法、装置、设备、存储介质及程序产品 - Google Patents
网络结构搜索方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN112686370A CN112686370A CN202011564640.7A CN202011564640A CN112686370A CN 112686370 A CN112686370 A CN 112686370A CN 202011564640 A CN202011564640 A CN 202011564640A CN 112686370 A CN112686370 A CN 112686370A
- Authority
- CN
- China
- Prior art keywords
- local
- network
- parameters
- updating
- round
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种网络结构搜索方法、装置、设备、存储介质及程序产品,所述方法包括:检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数。本发明提供了一种参与方异步训练的纵向联邦学习方法,从而避免了因为其他参与方网络不佳等原因而未发送中间结果时训练暂停或延迟的情况发生,也限制了各轮联合参数更新所花费的时长,从而提高了自动纵向联邦学习的效率和成功率。
Description
技术领域
本发明涉及机器学习技术领域,尤其涉及一种网络结构搜索方法、装置、设备、存储介质及程序产品。
背景技术
随着人工智能的发展,人们为解决数据孤岛的问题,提出了“联邦学习”的概念,使得联邦双方在不用给出己方数据的情况下,也可进行模型训练得到模型参数,并且可以避免数据隐私泄露的问题。纵向联邦学习是在参与者的数据特征重叠较小,而用户重叠较多的情况下,取出参与者用户相同而用户数据特征不同的那部分用户及数据进行联合训练机器学习模型。为解决参与方需要设计复杂网络的问题,目前还提出了自动纵向联邦学习框架。自动纵向联邦学习框架,在不暴露本地数据的同时,各参与方可以本地学习各自独有的网络框架和网络参数,但是在该框架中,参与方完成各自负责的计算并传递给对应的参与方后,才能进行下一步的计算,若计算过程中,某一个参与方由于某些原因,比如网络不佳,导致无法及时传递其计算结果,就会导致整个训练过程暂停甚至终止,从而导致纵向联邦学习效率低,甚至无法完成。
发明内容
本发明的主要目的在于提供一种网络结构搜索方法、装置、设备、存储介质及程序产品,旨在目前的自动纵向联邦学习框架中,参与方无法及时传递其计算结果,而导致的纵向联邦学习效率低,甚至无法完成的问题。
为实现上述目的,本发明提供一种网络结构搜索方法,所述方法应用于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自数据特征构建的搜索网络,所述方法包括以下步骤:
检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数。
可选地,所述检测其他参与方中的目标参与方是否在本轮联合参数更新的等待时长内发送本轮中间结果的步骤之后,还包括:
若已发送,则根据所述本轮中间结果更新所述本端搜索网络中的所述参数。
可选地,当所述一方参与方为拥有标签数据的参与方时,所述若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果的步骤之后,还包括:
检测所述目标参与方历轮联合参数更新中连续未发送中间结果的轮次是否达到预设轮次;
若达到所述预设轮次,则将所述目标参与方加入预设参与方排除名单。
可选地,所述各方参与方分别部署有基于各自数据特征构建的数据集,当所述一方参与方为拥有标签数据的参与方时,所述上一轮中间结果为所述目标参与方在上一轮联合参数更新中将他端数据集输入他端搜索网络得到的他端上一轮网络输出,所述基于所述上一轮中间结果更新本端搜索网络中的参数的步骤包括:
将他端本轮网络输出和所述他端上一轮网络输出作为本轮联合参数更新中的他端网络输出,其中,所述他端本轮网络输出为所述其他参与方中除所述目标参与方外的参与方,在本轮联合参数更新中将他端数据集输入他端搜索网络得到并发送的;
基于所述他端网络输出对本端搜索网络中的参数进行本地迭代更新。
可选地,所述基于所述他端网络输出对本端搜索网络中的参数进行本地迭代更新的步骤包括:
将本端数据集输入本端搜索网络进行处理得到本端网络输出;
将所述本端网络输出和所述他端网络输出进行融合得到总网络输出;
根据所述总网络输出和所述本端数据集对应的标签数据计算损失函数;
根据所述损失函数对所述本端搜索网络中的参数进行一次本地更新,并基于更新后的本端搜索网络再返回执行所述将本端数据集输入本端搜索网络进行处理得到本端网络输出的步骤,循环进行本地迭代更新直到迭代次数达到第一预设次数时结束。
可选地,所述基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数的步骤包括:
基于所述上一轮中间结果对本端搜索网络中的模型参数进行第二预设次数的本地迭代更新;或,
基于所述上一轮中间结果对本端搜索网络中的结构参数进行第三预设次数的本地迭代更新;或,
基于所述上一轮中间结果对本端搜索网络中的模型参数和结构参数进行第四预设次数的本地迭代更新。
为实现上述目的,本发明提供一种用户风险预测方法,所述方法应用于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自的用户数据特征构建的搜索网络,所述方法包括以下步骤:
采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数;
基于更新参数后的本端搜索网络构建本端风险预测模型;
采用所述本端风险预测模型预测得到待预测用户的风险值。
可选地,所述采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数的步骤包括:
检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
基于所述上一轮中间结果更新本端搜索网络中的参数。
可选地,当所述一方参与方为拥有标签数据的参与方时,所述采用所述本端风险预测模型预测得到待预测用户的风险值的步骤包括:
接收其他参与方发送的他端模型输出,其中,所述他端模型输出由所述其他参与方将待预测用户对应的他端用户数据输入到他端风险预测模型得到;
将所述待预测用户对应的本端用户数据输入到所述本端风险预测模型得到本端模型输出;
融合所述他端模型输出和所述本端模型输出得到所述待预测用户的风险值。
为实现上述目的,本发明提供一种网络结构搜索装置,所述装置部署于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自数据特征构建的搜索网络,所述装置包括:
检测模块,用于检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
获取模块,用于若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
更新模块,用于基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数。
为实现上述目的,本发明提供一种用户风险预测装置,所述装置部署于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自的用户数据特征构建的搜索网络,所述装置包括:
更新模块,用于采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数;
构建模块,用于基于更新参数后的本端搜索网络构建本端风险预测模型;
预测模块,用于采用所述本端风险预测模型预测得到待预测用户的风险值。
为实现上述目的,本发明还提供一种网络结构搜索设备,所述网络结构搜索设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络结构搜索程序,所述网络结构搜索程序被所述处理器执行时实现如上所述的网络结构搜索方法的步骤。
为实现上述目的,本发明还提供一种用户风险预测设备,所述用户风险预测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的用户风险预测程序,所述用户风险预测程序被所述处理器执行时实现如上所述的用户风险预测方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有网络结构搜索程序,所述网络结构搜索程序被处理器执行时实现如上所述的网络结构搜索方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有用户风险预测程序,所述用户风险预测程序被处理器执行时实现如上所述的用户风险预测方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的网络结构搜索方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的用户风险预测方法的步骤。
本发明中,通过在参与纵向联邦学习的各个参与方部署基于各自数据特征构建的搜索网络,在一轮联合参数更新时,一方参与方检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;若未发送,则获取目标参与方在上一轮联合参数更新时发送的上一轮中间结果;基于上一轮中间结果更新本端搜索网络中的参数,其中,参数包括模型参数和/或结构参数。也即,在本发明中,参与纵向联邦学习的各个参与方不一定要在接收到其他参与方发送的中间结果后才能够进行本端搜索网络的更新,而是通过在其他参与方在等待时长内未接收到中间结果时,基于其他参与方在上一轮联合参数更新时发送中间结果来完成本轮参数更新,提供了一种参与方异步训练的纵向联邦学习方法,从而避免了因为其他参与方网络不佳等原因而未发送中间结果时训练暂停或延迟的情况发生,也限制了各轮联合参数更新所花费的时长,从而提高了自动纵向联邦学习的效率和成功率;并且,通过在异常情况使用上一轮有效数据作为该轮计算输入,保证训练连续性,可应对异常情况导致的信息丢失。此外,各个参与方采用各自的数据集与其他参与方计算并交互用于更新各自搜索网络中模型参数和结构参数的中间结果,基于各自接收到的中间结果更新各自的搜索网络,基于更新后的搜索网络得到各自的目标模型。相比于现有纵向联邦学习中各参与方需要人工花费大量人力物力预先设计模型结构的方式,本发明实现了在纵向联邦建模过程中,各参与方只需要设置各自的搜索网络即可,搜索网络中各个网络单元之间的连接;也即模型结构是在纵向联邦建模过程中通过优化更新结构参数的方式自动确定的,实现了自动纵向联邦学习,不需要花费大量人力物力预先设置模型结构,降低了参与纵向联邦学习的门槛,使得纵向联邦学习能够被应用于更广泛的具体任务领域中去实现具体的任务,提高了纵向联邦学习的应用范围。并且,在纵向联邦建模过程中,各个参与方之间并不会直接交互数据集和模型本身,而是交互用于更新模型参数和结构参数的中间结果,从而保障了各个参与方的数据安全和模型信息安全。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明网络结构搜索方法第一实施例的流程示意图;
图3为本发明实施例涉及的一种参与纵向联邦学习的参与方硬件架构图;
图4为本发明实施例涉及的一种结构参数更新过程示意图;
图5为本发明实施例涉及的一种模型参数更新过程示意图;
图6为本发明网络结构搜索装置较佳实施例的功能示意图模块图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例网络结构搜索设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制,结构搜索设备可以是参与纵向联邦学习的参与方,各参与方设置有相同结构的搜索网络。
如图1所示,该网络结构搜索设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对网络结构搜索设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及网络结构搜索程序。其中,操作***是管理和控制设备硬件和软件资源的程序,支持网络结构搜索程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与参与纵向联邦学习的其他参与方建立通信连接;处理器1001可以用于调用存储器1005中存储的网络结构搜索程序,并执行以下操作:
检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数。
进一步地,所述检测其他参与方中的目标参与方是否在本轮联合参数更新的等待时长内发送本轮中间结果的步骤之后,还包括:
若已发送,则根据所述本轮中间结果更新所述本端搜索网络中的所述参数。
进一步地,当所述一方参与方为拥有标签数据的参与方时,所述若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果的步骤之后,还包括:
检测所述目标参与方历轮联合参数更新中连续未发送中间结果的轮次是否达到预设轮次;
若达到所述预设轮次,则将所述目标参与方加入预设参与方排除名单。
进一步地,所述各方参与方分别部署有基于各自数据特征构建的数据集,当所述一方参与方为拥有标签数据的参与方时,所述上一轮中间结果为所述目标参与方在上一轮联合参数更新中将他端数据集输入他端搜索网络得到的他端上一轮网络输出,所述基于所述上一轮中间结果更新本端搜索网络中的参数的步骤包括:
将他端本轮网络输出和所述他端上一轮网络输出作为本轮联合参数更新中的他端网络输出,其中,所述他端本轮网络输出为所述其他参与方中除所述目标参与方外的参与方,在本轮联合参数更新中将他端数据集输入他端搜索网络得到并发送的;
基于所述他端网络输出对本端搜索网络中的参数进行本地迭代更新。
进一步地,所述基于所述他端网络输出对本端搜索网络中的参数进行本地迭代更新的步骤包括:
将本端数据集输入本端搜索网络进行处理得到本端网络输出;
将所述本端网络输出和所述他端网络输出进行融合得到总网络输出;
根据所述总网络输出和所述本端数据集对应的标签数据计算损失函数;
根据所述损失函数对所述本端搜索网络中的参数进行一次本地更新,并基于更新后的本端搜索网络再返回执行所述将本端数据集输入本端搜索网络进行处理得到本端网络输出的步骤,循环进行本地迭代更新直到迭代次数达到第一预设次数时结束。
进一步地,所述基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数的步骤包括:
基于所述上一轮中间结果对本端搜索网络中的模型参数进行第二预设次数的本地迭代更新;或,
基于所述上一轮中间结果对本端搜索网络中的结构参数进行第三预设次数的本地迭代更新;或,
基于所述上一轮中间结果对本端搜索网络中的模型参数和结构参数进行第四预设次数的本地迭代更新。
本发明实施例还提出一种用户风险预测设备,所述用户风险预测设备是参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自的用户数据特征构建的搜索网络,所述用户风险预测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的用户风险预测程序,所述用户风险预测程序被所述处理器执行时实现如下步骤:
采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数;
基于更新参数后的本端搜索网络构建本端风险预测模型;
采用所述本端风险预测模型预测得到待预测用户的风险值。
进一步地,所述采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数的步骤包括:
检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
基于所述上一轮中间结果更新本端搜索网络中的参数。
进一步地,当所述一方参与方为拥有标签数据的参与方时,所述采用所述本端风险预测模型预测得到待预测用户的风险值的步骤包括:
接收其他参与方发送的他端模型输出,其中,所述他端模型输出由所述其他参与方将待预测用户对应的他端用户数据输入到他端风险预测模型得到;
将所述待预测用户对应的本端用户数据输入到所述本端风险预测模型得到本端模型输出;
融合所述他端模型输出和所述本端模型输出得到所述待预测用户的风险值。
基于上述的结构,提出网络结构搜索方法的各实施例。
参照图2,图2为本发明网络结构搜索方法第一实施例的流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明网络结构搜索方法应用于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自数据特征构建的搜索网络,各个参与方可以是智能手机、个人计算机和服务器等设备。在本实施例中,网络结构搜索方法包括:
步骤S10,检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
在本实施例中,纵向联邦学习中的参与方分为两类,一类是拥有标签数据的数据应用参与方,一类是没有标签数据的数据提供参与方,一般情况下,数据应用参与方有一个,数据提供参与方有一个或多个。各个参与方分别部署有基于各自数据特征构建的数据集和搜索网络。其中,各个参与方的数据集的样本维度是对齐的,也即,各个数据集的样本ID是相同的,但是各个参与方的数据特征可各不相同。各个参与方预先可采用加密样本对齐的方式来构建样本维度对齐的数据集,在此不进行详细赘述。搜索网络是指用于进行网络结构搜索(NAS)的网络,在本实施例中,各个参与方的搜索网络可以是各自预先根据DARTS(Differentiable Architecture Search,可微结构搜索)方法设计的网络。
搜索网络中包括多个单元,每个单元对应一个网络层,其中部分单元之间设置有连接操作,以其中两个单元为例,这两个单元之前的连接操作可以是预先设置的N种连接操作,并定义了每种连接操作对应的权重,该权重即搜索网络的结构参数,单元内的网络层参数即搜索网络的模型参数。在模型训练过程中,需要进行网络结构搜索以优化更新结构参数和模型参数,基于最终更新的结构参数即可确定最终的网络结构,即确定保留哪个或哪些连接操作。由于该网络的结构是经过网络搜索之后才确定的,各个参与方不需要像设计传统纵向联邦学习的模型一样去设置模型的网络结构,从而降低了设计模型的难度。
进一步地,数据应用参与方还可以部署基于具体的模型预测任务设置的后接网络,后接网络被设置于连接在各个参与方的搜索网络之后,也即,以各个搜索网络的输出数据作为输入数据。后接网络可以采用全连接层,或者其他复杂的神经网络结构,具体可根据模型预测任务不同而不同。
在本实施例中,执行主体可以是数据应用参与方,也可以是数据提供参与方。为区分执行主体这一方与其他参与方,以下将执行主体这一方称为本端。
在各方联合训练之前,各参与方的搜索网络中的模型参数和结构参数经过初始化,本端需要与其他参与方进行多轮联合参数更新,以更新各自搜索网络中的结构参数和模型参数,完成网络搜索。各轮联合参数更新时所更新的参数可以是结构参数和/或模型参数。具体地,在本实施例中,并不限制对结构参数和模型参数的更新顺序。例如,可以在前几轮联合参数更新时对结构参数进行更新,后几轮联合参数更新时对模型参数进行更新。又如,可以每一轮联合参数更新时都是对结构参数和模型参数一起更新。
在一轮联合更新参数的过程中,本端需要与其他参与方交互用于更新各自搜索网络中参数的中间结果,以根据中间结果来更新本端的参数。各个参与方交互的并不是各自的数据集,而是用于更新各自搜索网络中模型参数和结构参数的中间结果,也即,每个参与方在更新自己的参数时,需要其他参与方的数据,因此,各个参与方可以计算其他参与方更新参数时所需的中间结果,传递给其他参数方,进而帮助其他参与方更新它的参数。其中,中间结果可以是参数的梯度,也可以是搜索网络的输出数据。具体地,当参与方是数据提供参与方时,发送给对方的中间结果可以是该端搜索网络的输出数据;当参与方是数据应用参与方时,发送给对方的中间结果可以是计算得到的数据提供方所发送输出数据对应的梯度。由于传递的是中间结果而不是数据集中的原始数据,使得各个参与方互相之间并没有泄露各自的数据隐私,保护了各个参与方的数据安全。
如图3所示为一实施方式中参与纵向联邦学习的参与方硬件架构图,如图4所示为各个参与方进行一轮联合更新结构参数的过程。数据应用参与方用A表示,数据提供参与方用B表示(图4中示出了N个数据提供参与方并将B替换为了参与方序号),NetA和NetB分别表示A方和B方的搜索网络,WA和WB分别表示NetA和NetB的模型参数,αA和αB分别表示NetA和NetB的搜索结构参数。Xtrain A和Xval A表示A方的数据集,其中Xtrain A用于更新模型参数,Xval A用于更新结构参数;Xtrain B和Xval B表示B方的数据集,其中Xtrain B用于更新模型参数,Xval B用于更新结构参数。Ytrain A表示Xtrn A对应的标签数据,Yval表示Xval A对应的标签数据。
1、B方将Xtrain B输入NetB得到网络输出Otrain B,并传输至A方。
2、A方将Xtrain A输入NetA得到网络输出Otrain A,拼接Otrain B和Otrain A后输入后接网络Netout中,得到Ytrain out;A方基于Ytrain A和Ytrain out计算损失函数相对于αA的梯度以及Otrain B的梯度并根据更新αA,计算其中,θ是学习率;
如图5所示为各个参与方进行一轮联合更新模型参数的过程(图5中示出了N个数据提供参与方并将B替换为了参与方序号)。
1、B方将Xval B输入NetB得到网络输出Oval B,并传输至A方。
2、A方将Xval A输入NetA得到网络输出Oval A,拼接Oval B和Oval A后输入后接网络Netout中,得到Yval out;A方基于Yval A和Yval outt计算损失函数相对于WA的梯度以及Oval B的梯度并根据更新WA,计算其中,θ是学习率;
在一轮联合更新参数的过程中,本端可以设置一个本轮联合参数更新的等待时长,并检测其他参与方中的目标参与方是否已在该等待时长内发送本轮中间结果。其中,目标参与方可以是本端预先设定的参与方;当本端是数据应用参与方时,所有的其他参与方都可以被作为目标参与方;当本端是数据提供参与方时,可以仅将数据应用参与方作为目标参与方。当目标参与方有多个时,本端对各个目标参与方分别进行检测,对各个目标参与方的检测结果也分别进行对应的处理。等待时长可以根据需要进行设置,各轮联合参数更新时的等待时长可以相同也可以不同。等待时长可以根据上一轮联合参数更新时各个参与方发送中间结果的时间来确定,例如,分别统计各个参与方在上一轮联合参数更新时从该轮联合参数更新开始时间点到发送中间结果的时间点之间的时长,将各个参与方对应的时长进行平均作为本轮联合参数更新时的等待时长。或者,等待时长也可以是根据各个参与方的平均网络通信带宽来确定。在结束一轮联合更新参数后,一般由数据应用参与方向各个数据提供参与方发起下一轮联合更新参数的请求;当本端是数据应用参与方时,本端可在向各个数据提供参与方发送请求后开始计时;当本端是数据提供参与方时,本端可在接收到数据应用参与方发送的请求后开始计时。进一步地,本端可以在下一轮联合参数更新的请求中携带该轮联合参数更新的等待时长,以供各个数据提供参与方可以根据等待时长来确定是否发送本轮中间结果;也即,若数据提供参与方在超过等待时长后还未发送本轮中间结果时,可以选择不发生本轮中间结果。
需要说明的是,参与方可在各轮联合更新参数中采用不同的数据集。具体地,参与方可将总的数据集划分为多个小的训练集(也可称为数据批),每轮采用一个小数据集参与联合更新参数,或者,参与方也可以是每轮联合参数更新前,从总的数据集中进行有放回的采样一批数据来参与该轮的联合参数更新。
步骤S20,若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
若本端检测到目标参与方未在等待时长内发送本轮中间结果,则可获取该目标参与方在上一轮联合参数更新时发送的中间结果(也即上一轮中间结果)。也即,在上一轮联合参数更新时,目标参与方向本端发送了一次中间结果,本端将该中间结果进行保存。需要说明的是,在第一轮联合参数更新时,本端可以不设置等待时长,或者将等待时长设置得较长,以使得本端可以接收到目标参与方在第一轮联合参数更新时发送的中间结果;或者,本端可以设置一个默认值,在第一轮联合参数更新时,若目标参与方未在等待时长内发送中间结果,则本端可以将该默认值作为该目标参与方的上一轮中间结果。若目标参与方在上一轮联合参数更新时也未在等待时长内发送中间结果,则本端可以获取目标参与方在上上轮联合参数更新时发送的中间结果,若上上轮也未发送,则依次类推。
进一步地需要说明的是,若各轮联合参数更新所针对的参数种类不一定相同,则本端将与本轮参数更新针对相同种类参数的上一次联合参数更新作为上一轮联合参数更新,也即,本端获取目标参与方在与本轮参数更新针对相同种类参数的上一次联合参数更新时发送的上一轮中间结果。举个例子说明:本轮是第i轮,本轮联合参数更新所针对的参数是结构参数,本端需要目标参与方发送用于更新模型参数的中间结果;在第i-1轮联合更新参数时针对的参数是模型参数,第i-2轮联合更新参数时针对的参数是结构参数;若目标参与方未在等待时长内发送,则本端获取第i-2轮联合参数更新时目标参与方发送的中间结果作为上一轮中间结果,而不是获取目标参与方在第i-1轮联合参数更新时发送的中间结果。
步骤S30,基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数。
本端在获取到上一轮中间结果后,基于上一轮中间结果更新搜索网络中的参数。具体地,本端可以结合目标参与方发送的该上一轮中间结果、在等待时长内其他参与方中的参与方发送的本轮中间结果和本端的计算结果来更新本端搜索网络中的参数。其中,根据本轮联合参数更新所针对的参数种类不同,所更新的参数可以是包括本端搜索网络中的模型参数和/或结构参数。
进一步地,本端与其他参与方在进行多轮联合参数更新后,若满足一定的停止条件,则可结束参数更新,基于最终更新参数后的本端搜索网络,得到本端目标模型。在一种实施方式中,可以是将本端搜索网络直接作为本端目标模型,其中的结构参数也作为本端目标模型的模型参数。在另一种实施方式中,本端可根据最终更新参数后的本端搜索网络中的结构参数,从各个连接操作中选取保留操作。具体地,对于每两个存在连接操作的网络单元,其之间有多条连接操作,可从多条连接操作中选出权重大的一个或多个连接操作作为保留操作;在确定保留操作后,将各保留操作以及各个保留操作连接的网络单元所构成的模型,作为本端目标模型。需要说明的是,若本端是数据应用参与方,并部署有后接网络,则本端目标模型还包括后接网络。
进一步地,所述步骤S10之后,还包括:
步骤S40,若已发送,则根据所述本轮中间结果更新所述本端搜索网络中的所述参数。
在一实施方式中,若本端检测到目标参与方在等待时长内已发送本轮中间结果,则基于本轮中间结果更新本端搜索网络中的参数。具体地,本端可以结合目标参与方发送的该本轮中间结果、在等待时长内未发送中间结果的其他目标参与方对应的上一轮中间结果和本端的计算结果来更新本端搜索网络中的参数。也即,对于目标参与方,若该参与方在等待时长内发送了本轮中间结果,则采用本轮中间结果来进行后续的参数更新,若在等待时长内未发送本轮中间结果,则采用上一轮中间结果进行后续的参数更新。通过在异常情况使用上一轮有效数据作为该轮计算输入,保证训练连续性,可应对异常情况导致的信息丢失。
在本实施例中,通过在参与纵向联邦学习的各个参与方部署基于各自数据特征构建的搜索网络,在一轮联合参数更新时,一方参与方检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;若未发送,则获取目标参与方在上一轮联合参数更新时发送的上一轮中间结果;基于上一轮中间结果更新本端搜索网络中的参数,其中,参数包括模型参数和/或结构参数。也即,在本实施例中,参与纵向联邦学习的各个参与方不一定要在接收到其他参与方发送的中间结果后才能够进行本端搜索网络的更新,而是通过在其他参与方在等待时长内未接收到中间结果时,基于其他参与方在上一轮联合参数更新时发送中间结果来完成本轮参数更新,提供了一种参与方异步训练的纵向联邦学习方法,从而避免了因为其他参与方网络不佳等原因而未发送中间结果时训练暂停或延迟的情况发生,也限制了各轮联合参数更新所花费的时长,从而提高了自动纵向联邦学习的效率和成功率;并且,通过在异常情况使用上一轮有效数据作为该轮计算输入,保证训练连续性,可应对异常情况导致的信息丢失。此外,各个参与方采用各自的数据集与其他参与方计算并交互用于更新各自搜索网络中模型参数和结构参数的中间结果,基于各自接收到的中间结果更新各自的搜索网络,基于更新后的搜索网络得到各自的目标模型。相比于现有纵向联邦学习中各参与方需要人工花费大量人力物力预先设计模型结构的方式,本发明实施例实现了在纵向联邦建模过程中,各参与方只需要设置各自的搜索网络即可,搜索网络中各个网络单元之间的连接;也即模型结构是在纵向联邦建模过程中通过优化更新结构参数的方式自动确定的,实现了自动纵向联邦学习,不需要花费大量人力物力预先设置模型结构,降低了参与纵向联邦学习的门槛,使得纵向联邦学习能够被应用于更广泛的具体任务领域中去实现具体的任务,提高了纵向联邦学习的应用范围。并且,在本实施例纵向联邦建模过程中,各个参与方之间并不会直接交互数据集和模型本身,而是交互用于更新模型参数和结构参数的中间结果,从而保障了各个参与方的数据安全和模型信息安全。
进一步地,基于上述第一实施例,提出本发明网络结构搜索方法第二实施例,在本实施例中,当所述一方参与方为拥有标签数据的参与方时,所述步骤S20之后,还包括:
步骤S50,检测所述目标参与方历轮联合参数更新中连续未发送中间结果的轮次是否达到预设轮次;
在本实施例中,当本端是拥有标签数据的参与方时,本端在检测到目标参与方未在本轮联合参数更新的预设时长内发送本轮中间结果后,可检测该目标参与方在历轮联合参数更新中连续未发送中间结果的轮次是否达到预设轮次。需要说明的是,目标参与方未发送中间结果指的是未在各轮联合参数更新所对应的预设时长内发送中间结果。本端可在每一次检测到目标参与方未发送本轮中间结果时,将计数器加1,而若中断,也即目标参与方在一轮联合参数更新中发送的中间结果,则将计数器重置为0;本端可检测计数器的数值是否大于预设轮次。其中,预设轮次可预先根据需要进行设置,当连续未发送中间结果的轮次大于该预设轮次时,表示该目标参与方可能出现了异常情况而无法正常发送中间结果。
步骤S60,若达到所述预设轮次,则将所述目标参与方加入预设参与方排除名单。
若目标参与方连续未发送中间结果的轮次达到预设轮次,则本端可将该目标参与方加入预设参与方排除名单。由于本端是数据应用参与方,接收其他各个数据提供参与方发送的中间结果,本端可预先设置一个参与方排除名单,在联合进行网络搜索之前,参与方排除名单为空;在联合进行网络搜索过程中,本端将目标参与方加入参与方排除名单后,在后续的各轮联合参数更新中,不再接收该名单内的参与方发送的中间结果,而是采用该参与方最后一次发送的中间结果参与计算。
在本实施例中,通过在数据应用参与方中设置排除策略,当其他参与方连续多轮联合参数更新中未在规定时长内发送中间结果时,不再与该参与方联合建模,通过添加排除策略并使用该方的最新数据作为后续计算输入,可应对某参与方异常退出的情况,避免纵向联邦学习因参与方故障而中断的情况发生,提高自动纵向联邦学习的成功率。
进一步地,所述各方参与方分别部署有基于各自数据特征构建的数据集,当所述一方参与方为拥有标签数据的参与方时,所述上一轮中间结果为所述目标参与方在上一轮联合参数更新中将他端数据集输入他端搜索网络得到的他端上一轮网络输出,所述步骤S30包括:
步骤S301,将他端本轮网络输出和所述他端上一轮网络输出作为本轮联合参数更新中的他端网络输出,其中,所述他端本轮网络输出为所述其他参与方中除所述目标参与方外的参与方,在本轮联合参数更新中将他端数据集输入他端搜索网络得到并发送的;
步骤S302,基于所述他端网络输出对本端搜索网络中的参数进行本地迭代更新。
在本实施例中,各方参与方分别部署有基于各自数据特征构建的数据集,用于进行网络搜索。当本端是拥有标签数据的数据应用参与方时,可将其他的参与方都作为目标参与方进行是否发送本轮中间结果的检测。对于未在预设时长内发送本轮中间结果的目标参与方发送,本端获取该目标参与方在上一轮联合参数更新中发送的上一轮中间结果,而该上一轮中间结果是由该目标参与方在上一轮联合参数更新中将他端数据集输入他端搜索网络得到的他端上一轮网络输出;其中“他端上一轮网络输出”中的“他端”指的是在本轮联合参数更新中未在预设时长内发送本轮中间结果的目标参与方。
而其他参与方中除该未发送本轮中间结果的目标参与方外的参与方,则是在预设时长内发送了本轮中间结果的参与方,其发送的本轮中间结果是其在本轮联合参数更新中将他端数据集输入他端搜索网络得到并发送的他端本轮网络输出;其中,“他端本轮网络输出”中的“他端”则是指发送该本轮中间结果的参与方。
本端将他端本轮网络输出和他端上一轮网络输出都作为本轮联合参数更新中的他端网络输出。本端采用各个他端网络输出对本端搜索网络中的参数进行本地迭代更新。在进行本地迭代更新后,再开始下一轮联合参数更新。
具体地,在一实施方式中,本端可根据根据各个他端网络输出融合得到总网络输出,也即预测结果或分类结果;融合的方式可以是对各个他端网络输出平均或加权平均;或者若本端部署有后接网络,则融合方式可以是本端将各个他端网络输出进行拼接后输入后接网络,经过后接网络的处理得到总网络输出;本端根据总网络输出和本端的标签数据计算损失函数,该损失函数可以是回归问题的均方误差或分类问题的交叉熵损失等,并计算损失函数相对于本端模型参数和/或结构参数的梯度,以及,计算损失函数相对于各个他端网络输出的梯度,本端将各个他端网络输出对应的梯度发送给各个数据提供参与方;数据提供参与方接收他端网络输出的梯度,并根据链式法则和梯度下降算法,根据他端网络输出的梯度计算得到损失函数相对于他端模型参数和结构参数的梯度,并根据梯度更新他端的模型参数和结构参数;本端也根据计算得到的本端模型参数和/或结构参数的梯度,对应更新本端的模型参数和/或结构参数,至此完成一轮联合更新参数。其中,数据提供参与方发送给数据应用参与方的中间结果是第一网络输出,数据应用参与方发送给数据提供参与方的中间结果是第一网络输出对应的梯度。
进一步地,在一实施方式中,所述步骤S302包括:
步骤S3021,将本端数据集输入本端搜索网络进行处理得到本端网络输出;
步骤S3022,将所述本端网络输出和所述他端网络输出进行融合得到总网络输出;
本端可将本端数据集输入本端搜索网络进行处理得到本端网络输出,再将本端网络输出和他端网络输出进行融合得到总网络输出。具体地,融合的方式可以是对本端网络输出和各个他端网络输出进行平均或加权平均;或者若本端部署有后接网络,则融合方式可以是本端将本端网络输出和各个他端网络输出进行拼接后输入后接网络,经过后接网络的处理得到总网络输出。
步骤S3023,根据所述总网络输出和所述本端数据集对应的标签数据计算损失函数;
本端根据总网络输出和本端数据集对应的标签数据计算损失函数,该损失函数可以是回归问题的均方误差或分类问题的交叉熵损失等。
步骤S3024,根据所述损失函数对所述本端搜索网络中的参数进行一次本地更新,并基于更新后的本端搜索网络再返回执行所述将本端数据集输入本端搜索网络进行处理得到本端网络输出的步骤,循环进行本地迭代更新直到迭代次数达到第一预设次数时结束。
本端根据损失函数对本端搜索网络中的参数进行一次本地更新。具体地,本端可计算损失函数相对于本端模型参数和/或结构参数的梯度,根据本端模型参数和/或结构参数的梯度,对应更新本端的模型参数和/或结构参数,至此完成一轮联合更新参数。本端在对本端搜索网络进行一次本地更新后,在更新后的本端搜索网络的基础上,再返回至步骤S3021,以循环进行本地迭代更新,直到迭代次数达到第一预设次数时结束。其中,第一预设次数可以根据需要进行设置。也即,在本地进行的多次迭代更新中,本端不接收其他参与方发送的中间结果,而是采用其他参与方最近一次发送的他端网络输出来参与本地更新。
需要说明的是,若本端在本地进行多次本地迭代更新,则可以只在第一次本地更新时向各个数据提供参与方发送他端网络输出对应的梯度。
在本实施例中,数据应用参与方通过增加本地训练次数,减少各方信息传递次数,从而降低对网络性能的要求,提高自动纵向联邦学习的效率和成功率。
进一步地,当本端是数据提供参与方时,本端可以将数据应用参与方作为目标参与方,若数据应用参与方未在本轮联合参数更新对应的预设时长内发送本轮中间结果,则本端获取该数据应用参与方在上一轮联合参数更新时发送的上一轮中间结果;该上一轮中间结果是该数据应用参与方在上一轮联合参数更新时计算得到的损失函数相对于本端网络输出的梯度;本端基于该梯度对本端搜索网络中的模型参数和/或结构参数进行更新;在更新后的本端搜索网络的基础上,再执行基于该梯度对本端搜索网络中的模型参数和/或结构参数进行更新的步骤;循环进行本地迭代更新,直到检测到迭代次数达到一预设的次数时结束。也即,在本地进行的多次迭代更新中,本端不接收数据应用参与方发送的中间结果,而是采用数据应用参与方最近一次发送的梯度来参与本地更新。数据提供参与方通过增加本地训练次数,减少各方信息传递次数,从而降低对网络性能的要求,提高自动纵向联邦学习的效率和成功率。
进一步地,在一实施方式中,当联合参数更新所针对的参数类型不同时,本地迭代更新的次数也可以不同。当待更新的参数是模型参数时,本地迭代次数可设置为第二预设次数,当待更新的参数是结构参数时,本地迭代次数可设置为第三预设次数,当待更新的参数是模型参数和结构参数时,本地迭代次数可设置为第四预设次数。其中,第二预设次数、第三预设次数和第四预设次数可以相同也可以不同。具体地,所述步骤S30包括:
步骤a,基于所述上一轮中间结果对本端搜索网络中的模型参数进行第二预设次数的本地迭代更新;或,
本端可基于获取到的上一轮中间结果对本端搜索网络中的模型参数进行第二预设次数的本地迭代更新。
具体地,当本端是数据应用参与方时,本端可将他端本轮网络输出和他端上一轮网络输出作为本轮联合参数更新中的他端网络输出;将本端网络输出和他端网络输出进行融合得到总网络输出;根据总网络输出和本端数据集对应的标签数据计算损失函数;计算损失函数相对于本端搜索网络中模型参数的梯度,根据梯度更新模型参数,以完成对模型参数的一次本地更新;在更新模型参数后的本端搜索网络基础上,再循环进行下一次本地更新;迭代次数达到第二预设次数时结束本地迭代更新。
当本端是数据提供参与方时,本端获取到了数据应用参与方在上一轮联合参数更新时计算得到的损失函数相对于本端网络输出的梯度后,基于该梯度对本端搜索网络中的模型参数进行更新;在更新后的本端搜索网络的基础上,再执行基于该梯度对本端搜索网络中的模型参数进行更新的步骤;循环进行本地迭代更新,直到检测到迭代次数达到第二预设次数时结束。
步骤b,基于所述上一轮中间结果对本端搜索网络中的结构参数进行第三预设次数的本地迭代更新;或,
本端可基于获取到的上一轮中间结果对本端搜索网络中的结构参数进行第三预设次数的本地迭代更新。
具体地,当本端是数据应用参与方时,本端可将他端本轮网络输出和他端上一轮网络输出作为本轮联合参数更新中的他端网络输出;将本端网络输出和他端网络输出进行融合得到总网络输出;根据总网络输出和本端数据集对应的标签数据计算损失函数;计算损失函数相对于本端搜索网络中结构参数的梯度,根据梯度更新结构参数,以完成对结构参数的一次本地更新;在更新结构参数后的本端搜索网络基础上,再循环进行下一次本地更新;迭代次数达到第三预设次数时结束本地迭代更新。
当本端是数据提供参与方时,本端获取到了数据应用参与方在上一轮联合参数更新时计算得到的损失函数相对于本端网络输出的梯度后,基于该梯度对本端搜索网络中的结构参数进行更新;在更新后的本端搜索网络的基础上,再执行基于该梯度对本端搜索网络中的结构参数进行更新的步骤;循环进行本地迭代更新,直到检测到迭代次数达到第三预设次数时结束。
步骤c,基于所述上一轮中间结果对本端搜索网络中的模型参数和结构参数进行第四预设次数的本地迭代更新。
本端可基于获取到的上一轮中间结果对本端搜索网络中的模型参数和结构参数进行第四预设次数的本地迭代更新。
具体地,当本端是数据应用参与方时,本端可将他端本轮网络输出和他端上一轮网络输出作为本轮联合参数更新中的他端网络输出;将本端网络输出和他端网络输出进行融合得到总网络输出;根据总网络输出和本端数据集对应的标签数据计算损失函数;计算损失函数相对于本端搜索网络中模型参数和结构参数的梯度,根据梯度更新模型参数和结构参数,以完成对模型参数和结构参数的一次本地更新;在更新模型参数和结构参数后的本端搜索网络基础上,再循环进行下一次本地更新;迭代次数达到第四预设次数时结束本地迭代更新。
当本端是数据提供参与方时,本端获取到了数据应用参与方在上一轮联合参数更新时计算得到的损失函数相对于本端网络输出的梯度后,基于该梯度对本端搜索网络中的模型参数和结构参数进行更新;在更新后的本端搜索网络的基础上,再执行基于该梯度对本端搜索网络中的模型参数和结构参数进行更新的步骤;循环进行本地迭代更新,直到检测到迭代次数达到第四预设次数时结束。
进一步地,基于上述第一和第二实施例,提出本发明用户风险预测方法第三实施例,在本实施例中,所述方法应用于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自的用户数据特征构建的搜索网络,所述方法包括以下步骤:
步骤A10,采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数;
在本实施例中,各方参与方中部署有用户数据,用户数据可以是与预测用户风险相关的数据。其中,风险可以是指用户信贷风险或其他类型的用户风险,风险类型不同时用户数据的特征维度不同,例如当需要预测用户信贷风险时,用户数据的特征维度可以是用户年龄、收入、历史贷款次数等等。各方参与方的用户数据的特征维度是不一定相同的。各方参与方可联合进行纵向联邦学习,结合各自不同特征维度的用户数据来训练用于预测用户风险的风险预测模型。
具体地,各个参与方中分别部署有依据各自的用户数据特征构建的搜索网络。以一方参与方为例进行阐述。本端可与其他参与方联合进行多轮联合参数更新,各轮联合参数更新设置等待时长;本端根据本轮联合参数更新的等待时长来选取其他参与方的中间结果;基于所选取的中间结果来完成本轮联合参数更新。具体地,当其他参与方是在本轮联合参数更新的等待时长内发送的本轮中间结果时,本端采用该本轮中间结果来参与本端搜索网络的参数更新;当其他参与方未在本轮联合参数更新的等待时长内发送本轮中间结果时,本端可采用该参与方在历史轮次的联合参数更新中发送的中间结果来进行参与本端搜索网络的参数更新。
进一步地,所述步骤A10包括:
步骤A101,检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
步骤A102,若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
步骤A103,基于所述上一轮中间结果更新本端搜索网络中的参数。
具体地,各个参与方可按照上述第一实施例或第二实施例中的方式来进行纵向联邦学习,更新各自搜索网络中的参数。
步骤A20,基于更新参数后的本端搜索网络构建本端风险预测模型;
在对本端搜索网络的参数进行更新后,可基于更新参数后的本端搜索网络构建本端风险预测模型。具体地,本端可以在进行多轮联合更新参数后,根据最后一轮更新得到的本端搜索网络,得到本端风险预测模型。在一种实施方式中,可以是将最后一轮更新得到的本端搜索网络直接作为本端风险预测模型,其中的结构参数也作为本端目标模型的模型参数。在另一实施方式中,本端可根据最后一轮更新后的本端搜索网络中的结构参数,从各个连接操作中选取保留操作。具体地,对于每两个存在连接操作的网络单元,其之间有多条连接操作,可从多条连接操作中选出权重大的一个或多个连接操作作为保留操作。在确定保留操作后,将各保留操作以及各个保留操作连接的网络单元所构成的模型,作为本端风险预测模型。需要说明的是,若本端是数据应用参与方,并部署有后接网络,则本端风险预测模型还包括后接网络。
步骤A30,采用所述本端风险预测模型预测得到待预测用户的风险值。
在构建得到本端风险预测模型后,对于需要预测风险值的待预测用户,该用户的数据分布在各个参与方中。本端可采用本地风险预测模型联合其他参与方的他端风险预测模型预测待预测用户的风险值。其中,他端风险预测模型即其他参与方中构建的风险预测模型。具体地,当本端是数据提供参与方时,本端可将本端中存储的待预测用户的用户数据输入到本端风险预测模型得到本端模型输出,再将本端模型输出发送给数据应用参与方;数据应用参与方将他端中存储的该待预测用户的用户数据输入到他端风险预测模型得到他端模型输出,再融合他端模型输出和本端模型输出得到待预测用户的风险值;数据应用参与方将风险值返回给本端。其中,数据应用参与方将他端模型输出和本端模型输出进行融合具体可以是将两个输出进行加权平均得到风险值;也可以是将他端模型输出和本端模型输出按照向量拼接的方式进行拼接,将拼接结果输入数据应用参与方中的后接网络,经过后接网络的处理,输出得到待预测用户的风险值。
进一步地,当所述一方参与方为拥有标签数据的参与方时,所述步骤A30包括:
步骤A301,接收其他参与方发送的他端模型输出,其中,所述他端模型输出由所述其他参与方将待预测用户对应的他端用户数据输入到他端风险预测模型得到;
当本端是拥有标签数据的数据应用参与方时,本端接收其他参与方发送的他端模型输出。其中,其他数据提供参与方将他端存储的待预测用户的用户数据(也即他端用户数据)输入到他端风险预测模型,得到他端模型输出,并发送给本端。
步骤A302,将所述待预测用户对应的本端用户数据输入到所述本端风险预测模型得到本端模型输出;
本端将本端存储的待预测用户的用户数据(也即本端用户数据)输入到本端风险预存模型得到本端模型输出。
步骤A303,融合所述他端模型输出和所述本端模型输出得到所述待预测用户的风险值。
本端融合他端模型输出和本端模型输出得到待预测用户的风险值。其中,本端将他端模型输出和本端模型输出进行融合具体可以是将两个输出进行加权平均得到风险值;也可以是将他端模型输出和本端模型输出按照向量拼接的方式进行拼接,将拼接结果输入本端中的后接网络,经过后接网络的处理,输出得到待预测用户的风险值。
在本实施例中,通过参与方在与其他参与方进行搜索网络的联合参数更新的过程中,按照联合参数更新对应的预设时长来选取其他参与方的中间结果,使得参与方能够在等待时长内完成联合参数更新,从而避免了因为其他参与方网络不佳等原因而未发送中间结果时训练暂停或延迟的情况发生,也限制了各轮联合参数更新所花费的时长,从而提高了通过自动纵向联邦学习来构建用户风险预测模型的效率和成功率,从而提高了用户风险预测的效率和成功率。此外,各个参与方采用各自的用户数据集与其他参与方计算并交互用于更新各自搜索网络中模型参数和结构参数的中间结果,基于各自接收到的中间结果更新各自的搜索网络,基于更新后的搜索网络得到各自的风险预测模型。相比于现有纵向联邦学习中各参与方需要人工花费大量人力物力预先设计模型结构的方式,本发明实施例实现了在纵向联邦构建风险预测模型的过程中,各参与方只需要设置各自的搜索网络即可,搜索网络中各个网络单元之间的连接;也即模型结构是在纵向联邦建模过程中通过优化更新结构参数的方式自动确定的,实现了自动纵向联邦学习,不需要花费大量人力物力预先设置模型结构,降低了各个参与方联合进行用户风险预测的门槛。并且,在纵向联邦建模过程中,各个参与方之间并不会直接交互数据集和模型本身,而是交互用于更新模型参数和结构参数的中间结果,从而保障了各个参与方的用户数据安全和模型信息安全。
此外本发明实施例还提出一种网络结构搜索装置,参照图6,所述装置部署于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自数据特征构建的搜索网络,所述装置包括:
检测模块10,用于检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
获取模块20,用于若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
更新模块30,用于基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数。
进一步地,所述更新模块30还用于:
若已发送,则根据所述本轮中间结果更新所述本端搜索网络中的所述参数。
进一步地,当所述一方参与方为拥有标签数据的参与方时,所述检测模块10还用于检测所述目标参与方历轮联合参数更新中连续未发送中间结果的轮次是否达到预设轮次;
所述装置还包括:
添加模块,用于若达到所述预设轮次,则将所述目标参与方加入预设参与方排除名单。
进一步地,所述各方参与方分别部署有基于各自数据特征构建的数据集,当所述一方参与方为拥有标签数据的参与方时,所述上一轮中间结果为所述目标参与方在上一轮联合参数更新中将他端数据集输入他端搜索网络得到的他端上一轮网络输出,所述更新模块30包括:
确定单元,用于将他端本轮网络输出和所述他端上一轮网络输出作为本轮联合参数更新中的他端网络输出,其中,所述他端本轮网络输出为所述其他参与方中除所述目标参与方外的参与方,在本轮联合参数更新中将他端数据集输入他端搜索网络得到并发送的;
更新单元,用于基于所述他端网络输出对本端搜索网络中的参数进行本地迭代更新。
进一步地,所述更新单元包括:
输入子单元,用于将本端数据集输入本端搜索网络进行处理得到本端网络输出;
融合子单元,用于将所述本端网络输出和所述他端网络输出进行融合得到总网络输出;
计算子单元,用于根据所述总网络输出和所述本端数据集对应的标签数据计算损失函数;
更新子单元,用于根据所述损失函数对所述本端搜索网络中的参数进行一次本地更新,并基于更新后的本端搜索网络再返回执行所述将本端数据集输入本端搜索网络进行处理得到本端网络输出的步骤,循环进行本地迭代更新直到迭代次数达到第一预设次数时结束。
进一步地,所述更新单元还用于:
基于所述上一轮中间结果对本端搜索网络中的模型参数进行第二预设次数的本地迭代更新;或,
基于所述上一轮中间结果对本端搜索网络中的结构参数进行第三预设次数的本地迭代更新;或,
基于所述上一轮中间结果对本端搜索网络中的模型参数和结构参数进行第四预设次数的本地迭代更新。
本发明网络结构搜索装置的具体实施方式的拓展内容与上述网络结构搜索方法各实施例基本相同,在此不做赘述。
此外本发明实施例还提出一种用户风险预测装置,所述装置部署于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自的用户数据特征构建的搜索网络,所述装置包括:
更新模块,用于采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数;
构建模块,用于基于更新参数后的本端搜索网络构建本端风险预测模型;
预测模块,用于采用所述本端风险预测模型预测得到待预测用户的风险值。
进一步地,所述更新模块包括:
检测单元,用于检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
获取单元,用于若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
更新单元,用于基于所述上一轮中间结果更新本端搜索网络中的参数。
进一步地,当所述一方参与方为拥有标签数据的参与方时,所述采预测模块包括:
接收单元,用于接收其他参与方发送的他端模型输出,其中,所述他端模型输出由所述其他参与方将待预测用户对应的他端用户数据输入到他端风险预测模型得到;
输入单元,用于将所述待预测用户对应的本端用户数据输入到所述本端风险预测模型得到本端模型输出;
融合单元,用于融合所述他端模型输出和所述本端模型输出得到所述待预测用户的风险值。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有网络结构搜索程序,所述网络结构搜索程序被处理器执行时实现如上所述的网络结构搜索方法的步骤。本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的网络结构搜索方法的步骤。本发明网络结构搜索设备、计算机可读存储介质和计算机产品的各实施例,均可参照本发明网络结构搜索方法各实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有用户风险预测程序,所述用户风险预测程序被处理器执行时实现如上所述的用户风险预测方法的步骤。本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的用户风险预测方法的步骤。本发明用户风险预测设备、计算机可读存储介质和计算机产品的各实施例,均可参照本发明用户风险预测方法各实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (13)
1.一种网络结构搜索方法,其特征在于,所述方法应用于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自数据特征构建的搜索网络,所述方法包括以下步骤:
检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数。
2.如权利要求1所述的网络结构搜索方法,其特征在于,所述检测其他参与方中的目标参与方是否在本轮联合参数更新的等待时长内发送本轮中间结果的步骤之后,还包括:
若已发送,则根据所述本轮中间结果更新所述本端搜索网络中的所述参数。
3.如权利要求1所述的网络结构搜索方法,其特征在于,当所述一方参与方为拥有标签数据的参与方时,所述若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果的步骤之后,还包括:
检测所述目标参与方历轮联合参数更新中连续未发送中间结果的轮次是否达到预设轮次;
若达到所述预设轮次,则将所述目标参与方加入预设参与方排除名单。
4.如权利要求1所述的网络结构搜索方法,其特征在于,所述各方参与方分别部署有基于各自数据特征构建的数据集,当所述一方参与方为拥有标签数据的参与方时,所述上一轮中间结果为所述目标参与方在上一轮联合参数更新中将他端数据集输入他端搜索网络得到的他端上一轮网络输出,所述基于所述上一轮中间结果更新本端搜索网络中的参数的步骤包括:
将他端本轮网络输出和所述他端上一轮网络输出作为本轮联合参数更新中的他端网络输出,其中,所述他端本轮网络输出为所述其他参与方中除所述目标参与方外的参与方,在本轮联合参数更新中将他端数据集输入他端搜索网络得到并发送的;
基于所述他端网络输出对本端搜索网络中的参数进行本地迭代更新。
5.如权利要求4所述的网络结构搜索方法,其特征在于,所述基于所述他端网络输出对本端搜索网络中的参数进行本地迭代更新的步骤包括:
将本端数据集输入本端搜索网络进行处理得到本端网络输出;
将所述本端网络输出和所述他端网络输出进行融合得到总网络输出;
根据所述总网络输出和所述本端数据集对应的标签数据计算损失函数;
根据所述损失函数对所述本端搜索网络中的参数进行一次本地更新,并基于更新后的本端搜索网络再返回执行所述将本端数据集输入本端搜索网络进行处理得到本端网络输出的步骤,循环进行本地迭代更新直到迭代次数达到第一预设次数时结束。
6.如权利要求1所述的网络结构搜索方法,其特征在于,所述基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数的步骤包括:
基于所述上一轮中间结果对本端搜索网络中的模型参数进行第二预设次数的本地迭代更新;或,
基于所述上一轮中间结果对本端搜索网络中的结构参数进行第三预设次数的本地迭代更新;或,
基于所述上一轮中间结果对本端搜索网络中的模型参数和结构参数进行第四预设次数的本地迭代更新。
7.一种用户风险预测方法,其特征在于,所述方法应用于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自的用户数据特征构建的搜索网络,所述方法包括以下步骤:
采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数;
基于更新参数后的本端搜索网络构建本端风险预测模型;
采用所述本端风险预测模型预测得到待预测用户的风险值。
8.如权利要求7所述的用户风险预测方法,其特征在于,所述采用基于联合参数更新对应的等待时长所选取的其他参与方中间结果更新本端搜索网络中的参数的步骤包括:
检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
基于所述上一轮中间结果更新本端搜索网络中的参数。
9.如权利要求7至8任一项所述的用户风险预测方法,其特征在于,当所述一方参与方为拥有标签数据的参与方时,所述采用所述本端风险预测模型预测得到待预测用户的风险值的步骤包括:
接收其他参与方发送的他端模型输出,其中,所述他端模型输出由所述其他参与方将待预测用户对应的他端用户数据输入到他端风险预测模型得到;
将所述待预测用户对应的本端用户数据输入到所述本端风险预测模型得到本端模型输出;
融合所述他端模型输出和所述本端模型输出得到所述待预测用户的风险值。
10.一种网络结构搜索装置,其特征在于,所述装置部署于参与纵向联邦学习的一方参与方,参与纵向联邦学习的各方参与方分别部署有基于各自数据特征构建的搜索网络,所述装置包括:
检测模块,用于检测其他参与方中的目标参与方是否已在本轮联合参数更新的等待时长内发送本轮中间结果;
获取模块,用于若未发送,则获取所述目标参与方在上一轮联合参数更新时发送的上一轮中间结果;
更新模块,用于基于所述上一轮中间结果更新本端搜索网络中的参数,其中,所述参数包括模型参数和/或结构参数。
11.一种网络结构搜索设备,其特征在于,所述网络结构搜索设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络结构搜索程序,所述网络结构搜索程序被所述处理器执行时实现如权利要求1至7中任一项所述的网络结构搜索方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有网络结构搜索程序,所述网络结构搜索程序被处理器执行时实现如权利要求1至7中任一项所述的网络结构搜索方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的网络结构搜索方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011564640.7A CN112686370A (zh) | 2020-12-25 | 2020-12-25 | 网络结构搜索方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011564640.7A CN112686370A (zh) | 2020-12-25 | 2020-12-25 | 网络结构搜索方法、装置、设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112686370A true CN112686370A (zh) | 2021-04-20 |
Family
ID=75451744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011564640.7A Pending CN112686370A (zh) | 2020-12-25 | 2020-12-25 | 网络结构搜索方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112686370A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326939A (zh) * | 2021-06-21 | 2021-08-31 | 商汤国际私人有限公司 | 网络训练、行人重识别方法及装置、电子设备和存储介质 |
CN113962391A (zh) * | 2021-12-22 | 2022-01-21 | 鹏城实验室 | 神经网络架构搜索方法、装置、设备及存储介质 |
CN113989627A (zh) * | 2021-12-29 | 2022-01-28 | 深圳市万物云科技有限公司 | 一种基于异步联邦学习的城市防控图像检测方法和*** |
CN114139731A (zh) * | 2021-12-03 | 2022-03-04 | 深圳前海微众银行股份有限公司 | 纵向联邦学习建模优化方法、设备、介质及程序产品 |
CN114996317A (zh) * | 2022-07-05 | 2022-09-02 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
-
2020
- 2020-12-25 CN CN202011564640.7A patent/CN112686370A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326939A (zh) * | 2021-06-21 | 2021-08-31 | 商汤国际私人有限公司 | 网络训练、行人重识别方法及装置、电子设备和存储介质 |
CN114139731A (zh) * | 2021-12-03 | 2022-03-04 | 深圳前海微众银行股份有限公司 | 纵向联邦学习建模优化方法、设备、介质及程序产品 |
CN113962391A (zh) * | 2021-12-22 | 2022-01-21 | 鹏城实验室 | 神经网络架构搜索方法、装置、设备及存储介质 |
CN113962391B (zh) * | 2021-12-22 | 2022-03-01 | 鹏城实验室 | 神经网络架构搜索方法、装置、设备及存储介质 |
CN113989627A (zh) * | 2021-12-29 | 2022-01-28 | 深圳市万物云科技有限公司 | 一种基于异步联邦学习的城市防控图像检测方法和*** |
CN114996317A (zh) * | 2022-07-05 | 2022-09-02 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
CN114996317B (zh) * | 2022-07-05 | 2024-02-23 | 中国电信股份有限公司 | 基于纵向联邦学习的异步优化方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112686370A (zh) | 网络结构搜索方法、装置、设备、存储介质及程序产品 | |
CN111860864A (zh) | 纵向联邦建模优化方法、设备及可读存储介质 | |
CN109918894B (zh) | 边缘计算网络视频处理中基于声誉的信任评估方法 | |
CN111768008A (zh) | 联邦学习方法、装置、设备和存储介质 | |
CN111797999A (zh) | 纵向联邦建模优化方法、装置、设备及可读存储介质 | |
CN112328617A (zh) | 纵向联邦学习的学习模式参数更新方法和电子装置 | |
CN111222628A (zh) | 循环神经网络训练优化方法、设备、***及可读存储介质 | |
CN107846289B (zh) | 一种支持人工参与区块链决策的方法、电子设备及*** | |
CN111860868A (zh) | 训练样本构建方法、装置、设备及计算机可读存储介质 | |
CN111695051A (zh) | 基于扫码的页面访问方法、装置、电子设备及存储介质 | |
CN109214543B (zh) | 数据处理方法及装置 | |
CN113726890B (zh) | 面向区块链数据服务的联邦预言方法及*** | |
CN105300398A (zh) | 获取地点信息的方法、装置和*** | |
CN112104406B (zh) | 自适应的自主任务规划方法和*** | |
CN114548416A (zh) | 数据模型训练方法及装置 | |
CN115883310A (zh) | 服务部署方法、服务部署***、电子设备及存储介质 | |
CN112700003A (zh) | 网络结构搜索方法、装置、设备、存储介质及程序产品 | |
CN112131014A (zh) | 决策引擎***及其业务处理方法 | |
CN106921710B (zh) | 一种群智感知方法及装置 | |
CN114095360B (zh) | 一种通信业务开通方法及装置 | |
CN112799613B (zh) | 三维扫描的运营***、方法、电子装置和存储介质 | |
CN113157938B (zh) | 保护隐私数据的多个知识图谱联合处理的方法和装置 | |
CN114860426A (zh) | 数据协作处理方法、***、装置、设备及存储介质 | |
CN115017362A (zh) | 数据处理方法、电子设备及存储介质 | |
CN113900933A (zh) | 一种测试方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |