模型构建优化方法、设备、存储介质及程序产品与流程

文档序号:31660600发布日期:2022-09-27 23:00阅读:67来源:国知局
模型构建优化方法、设备、存储介质及程序产品与流程

1.本发明涉及人工智能技术领域,尤其涉及一种模型构建优化方法、设备、存储介质及程序产品。


背景技术:

2.纵向联邦学习用于解决金融领域多方联合构建业务模型的数据孤岛问题。纵向联邦学习的应用场景是各参与方用户重叠多,而特征重叠少的情况,不同参与方拥有用户的不同领域/不同角度的信息。一个典型场景是,各方通过用户匹配发现重叠的用户比例较高,然而各方拥有的相应的标签比例较低,因此可以实际用于训练的样本较少,如何能够利用无标签的数据是一个具有重要实际意义的问题。


技术实现要素:

3.本发明的主要目的在于提供一种模型构建优化方法、设备、存储介质及程序产品,旨在提出一种纵向联邦学习场景中采用无标签数据进行模型预训练的方法,以使得无标签数据能够用于参与纵向联邦学习,进而能够帮助提高纵向联邦学习得到的模型的预测准确度。
4.为实现上述目的,本发明提供一种模型构建优化方法,所述方法应用于参与纵向联邦学习的第一参与方设备,所述第一参与方设备部署第一编码器和解码器,参与纵向联邦学习的第二参与方设备部署第二编码器,所述方法包括以下步骤:
5.将第一样本数据输入至所述第一编码器进行编码得到第一编码特征;
6.获取第二编码特征,其中,所述第二编码特征由所述第二参与方设备将第二样本数据输入至所述第二编码器进行编码得到的;
7.将所述第一编码特征和所述第二编码特征进行融合后输入至所述解码器进行解码得到重构样本数据;
8.基于所述重构样本数据与所述第一样本数据之间的误差更新所述第一编码器以及计算得到用于更新所述第二编码器的中间结果,将所述中间结果发送给所述第二参与方设备以供所述第二参与方设备更新所述第二编码器;
9.在对所述第一编码器和所述第二编码器进行至少一轮迭代更新后,基于更新后的所述第一编码器和所述第二编码器与所述第二参与方设备进行纵向联邦学习得到目标模型。
10.可选地,所述将第一样本数据输入至所述第一编码器进行编码得到第一编码特征的步骤包括:
11.对第一样本数据中的部分数据进行变换,将经过变换后的第一样本数据输入至所述第一编码器进行编码得到第一编码特征。
12.可选地,所述重构样本数据为针对所述第一样本数据中被变换的部分数据的重构数据,所述基于所述重构样本数据与所述第一样本数据之间的误差更新所述第一编码器以
及计算得到用于更新所述第二编码器的中间结果的步骤包括:
13.计算表征所述重构样本数据与所述第一样本数据中被变换的部分数据之间误差的自损失函数;
14.计算所述自损失函数相对于所述第一编码器中参数的第一梯度值,以及计算所述自损失函数相对于所述第二编码特征的第二梯度值;
15.根据所述第一梯度值更新所述第一编码器中的参数以更新所述第一编码器;
16.将所述第二梯度值作为用于更新所述第二编码器的中间结果。
17.可选地,所述对第一样本数据中的部分数据进行变换的步骤包括:
18.当所述第一样本数据包括多个属性值时,将所述第一样本数据中的部分属性值变换为预设值或添加随机噪声;
19.当所述第一样本数据为图像数据时,将所述图像数据中的部分像素点的像素值变换为预设像素值;
20.当所述第一样本数据为文本数据时,将所述文本数据中的部分词语变换为预设词语。
21.可选地,所述第一参与方设备中还部署投影模型,所述将所述第一编码特征和所述第二编码特征进行融合后输入至所述解码器进行解码得到重构样本数据的步骤包括:
22.将所述第一编码特征和所述第二编码特征输入至所述投影模型进行特征交叉处理,将经特征交叉处理后得到的融合特征输入至所述解码器进行解码得到重构样本数据。
23.可选地,所述第一参与方设备还部署预测器,所述在对所述第一编码器和所述第二编码器进行至少一轮迭代更新后,基于更新后的所述第一编码器和所述第二编码器与所述第二参与方设备进行纵向联邦学习得到目标模型步骤包括:
24.基于带标签的第三样本数据联合所述第二参与方设备中与所述第三样本数据对齐的第四样本数据,对所述预测器和更新后的所述第一编码器、所述第二编码器进行纵向联邦学习,以得到包括训练后的所述第一编码器、所述第二编码器和所述预测器的目标模型。
25.为实现上述目的,本发明还提供一种模型构建优化方法,所述方法应用于参与纵向联邦学习的第二参与方设备,参与纵向联邦学习的第一参与方设备部署第一编码器和解码器,所述第二参与方设备部署第二编码器,所述方法包括以下步骤:
26.将第二样本数据输入至所述第二编码器进行编码得到第二编码特征;
27.将所述第二编码特征发送给所述第一参与方设备,以供所述第一参与方设备将第一编码特征和所述第二编码特征进行融合后输入至所述解码器进行解码得到重构样本数据,并基于所述重构样本数据与所述第一样本数据之间的误差更新所述第一编码器以及计算得到用于更新所述第二编码器的中间结果,其中,所述第一编码特征由所述第一参与方设备将第一样本数据输入至所述第一编码器进行编码得到的;
28.获取所述中间结果,根据所述中间结果更新所述第二编码器;
29.在对所述第一编码器和所述第二编码器进行至少一轮迭代更新后,基于更新后的所述第一编码器和所述第二编码器与所述第一参与方设备进行纵向联邦学习得到目标模型。
30.为实现上述目的,本发明还提供一种模型构建优化设备,所述模型构建优化设备
包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的模型构建优化程序,所述模型构建优化程序被所述处理器执行时实现如上所述的模型构建优化方法的步骤。
31.此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有模型构建优化程序,所述模型构建优化程序被处理器执行时实现如上所述的模型构建优化方法的步骤。
32.此外,为实现上述目的,本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的模型构建优化方法的步骤。
33.本发明中,通过在参与纵向联邦学习的第一参与方设备部署第一编码器和解码器,在第二参与方设备部署第二编码器,通过第一参与方设备将第一样本数据输入至第一编码器进行编码得到第一编码特征,并获取第二参与方设备将第二样本数据输入至第二编码器进行编码得到的第二编码特征,将第一编码特征和第二编码特征进行融合后输入至解码器进行解码得到重构样本数据,基于重构样本数据与第一样本数据之间的误差更新第一编码器以及计算得到用于更新第二编码器的中间结果,将中间结果发送给第二参与方设备以使得第二参与方设备对第二编码器进行更新,在对第一编码器和第二编码器进行至少一轮迭代更新后,基于更新后的第一编码器和第二编码器与第二参与方设备进行纵向联邦学习得到目标模型,实现了采用参与纵向联邦学习的各参与方的无标签的样本数据来对第一编码器和第二编码器进行预训练,以通过预训练来优化模型构建过程。并且本发明中的该预训练过程使得第一编码器和第二编码器能够学习到如何挖掘各参与方样本数据之间的关联性。相比于采用各参与方中有标签的样本数据对随机初始化或根据人工经验初始化的第一编码器、第二编码器和预测器进行纵向联邦学习,本发明中采用预训练后的第一编码器和第二编码器作为纵向联邦学习的基础,由于第一编码器和第二编码器学习到了如何挖掘各参与方样本数据之间的联系,使得在纵向联邦学习阶段,通过第一编码器和第二编码器能够编码得到更利于预测器得出准确预测结果的编码特征,进而能够帮助提高训练得到的目标模型的预测准确度,也能够帮助缩短纵向联邦学习的时长,进而能够减少纵向联邦学习阶段的计算资源消耗。并且,也实现了将无标签的样本数据应用于纵向联邦学习场景参与模型训练,进而实现了基于无标签的样本数据来提升纵向联邦学习场景中的模型预测准确度。另外,在预训练过程中,各参与方设备并没有直接发送原始的样本数据,所以也保证了各参与方样本数据的隐私安全。
附图说明
34.图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
35.图2为本发明模型构建优化方法第一实施例的流程示意图;
36.图3为本发明模型构建优化方法第三实施例的流程示意图;
37.图4为本发明实施例涉及的一种预训练架构示意图;
38.图5为本发明实施例涉及的一种模型微调架构示意图。
39.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
40.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
41.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
42.需要说明的是,本发明实施例模型构建优化设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。
43.如图1所示,该模型构建优化设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
44.本领域技术人员可以理解,图1中示出的设备结构并不构成对模型构建优化设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
45.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及模型构建优化程序。操作系统是管理和控制设备硬件和软件资源的程序,支持模型构建优化程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的模型构建优化程序,并执行以下本发明模型构建优化方法各实施例所述的操作。
46.基于上述的结构,提出模型构建优化方法的各个实施例。
47.参照图2,图2为本发明模型构建优化方法第一实施例的流程示意图。
48.本发明实施例提供了模型构建优化方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在本实施例中,模型构建优化方法应用于参与纵向联邦学习的第一参与方设备。第一参与方设备部署于参与纵向联邦学习的第一参与方,将参与纵向联邦学习的其它参与方中部署的用于纵向联邦学习的设备称为第二参与方设备。第一参与方设备和第二参与方设备可以是智能手机、个人计算机、服务器等设备,在本实施例中并不做限制。在本实施例中,模型构建优化方法包括:
49.步骤s10,将第一样本数据输入至第一编码器进行编码得到第一编码特征;
50.参与纵向联邦学习的参与方一般有一个提供标签数据的参与方(可称为数据应用方)和至少一个提供特征数据的参与方(可称为数据提供方)。数据应用方除能够提供标签数据以外,也提供特征数据。数据应用方以及数据提供方的特征数据所属的特征空间是不同的,纵向联邦学习的目的是联合各个参与方中同一样本在不同特征空间的特征数据来进行建模,从而提高模型的预测准确度。
51.在具体应用场景中,除数据提供方和数据应用方外,还可以有第三方参与,用于帮助数据提供方和数据应用方以加密方式传递建模过程中需要交互的中间数据,本实施例可以应用于有第三方参与的场景,也可以应用于无第三方参与的场景,对此并不做限制。可以理解的是,在有第三方参与时,建模各方发送给对方的数据是加密的数据,而对对方发送的
加密数据在本地进行处理后反馈回去的数据,则通过第三方进行解密后反馈,从而使得各方无法获知对方的原始数据,只能基于对方的密态数据进行计算,保障了各方样本数据的隐私安全。
52.本实施例中,将纵向联邦学习的其中一个参与方称为第一参与方,除第一参与方外的参与方称为第二参与方,将部署于第一参与方用于纵向联邦学习的设备称为第一参与方设备,将部署于第二参与方用于纵向联邦学习的设备称为第二参与方设备。本实施例中并不限制数据应用方是第一参与方还是第二参与方。
53.在具体应用场景中,可以根据需要设定模型任务,并根据该模型任务设计各参与方待训练的模型,将待训练的模型部署于各个参与方的设备中。模型任务是指建模完成后模型的用途,例如可以是风险预测、广告推荐等,在本实施例中对模型任务并不做限制。
54.在本实施例中,待训练的模型可以包括部署于第一参与方设备的编码器(以下称为第一编码器)、部署于第二参与方设备的编码器(第二编码器)以及部署于数据应用方设备中的预测器,可以理解的是,数据应用方设备可以是第一参与方设备也可以是第二参与方设备,在本实施例中并不做限制。其中,第一编码器和第二编码器所选用的编码器类型以及所设计的输入数据的数据结构可以根据模型任务所需的样本数据的类型来设置;例如,样本数据是图像数据,那么第一编码器和第二编码器可以采用卷积神经网络,输入数据的数据结构可以是固定或可变尺寸的图像数据;又如,样本数据是文本数据,那么第一编码器和第二编码器可以采用循环神经网络,输入数据的数据结构可以是词id;再如,样本数据是表格数据,那么第一编码器和第二编码器可以采用全连接网络,输入数据的数据结构可以是由表格数据中各个特征值所组成的向量。预测器所选用的类型可以根据模型任务所需的预测结果来设置;例如,模型任务是二分类,那么预测器可以采用二分类器,又如,模型任务是多分类,那么预测器可以采用多分类器,根据预测器输出的结果可以确定样本属于哪一类别。
55.在本实施例中,提出采用第一参与方和第二参与方中无标签的样本数据对第一编码器和第二编码器进行预训练。其中,预训练是指在正式进行纵向联邦学习之前,对第一编码器和第二编码器进行的预先训练。也即,相比于采用各参与方中有标签的样本数据对随机初始化或根据人工经验初始化的第一编码器、第二编码器和预测器进行纵向联邦学习,本实施例中采用预训练后的第一编码器和第二编码器作为纵向联邦学习的基础,相比于人工初始化或根据经验初始化,预训练后的第一编码器和第二编码器能够学习到如何挖掘各参与方样本数据之间的联系,进而使得在纵向联邦学习阶段,通过第一编码器和第二编码器能够编码得到更利于预测器得出准确预测结果的编码特征,进而能够帮助提高训练得到的目标模型的预测准确度,也能够帮助缩短纵向联邦学习的时长,进而能够减少纵向联邦学习阶段的计算资源消耗。并且,也实现了将无标签的样本数据应用于纵向联邦学习场景参与模型训练,进而实现了基于无标签的样本数据来提升纵向联邦学习场景中的模型预测准确度。
56.具体地,对第一编码器和第二编码器的预训练可以包括一轮或多轮的参数更新,以下以一轮更新过程为例进行预训练过程的说明。在开始预训练之前,第一编码器和第二编码器中的参数可以是随机初始化或根据经验初始化的。
57.第一参与方设备可从本地或远程获取第一参与方所拥有的样本数据(以下称为第
一样本数据)。其中,一个样本的一条样本数据分布于各个参与方,参与方拥有的该条样本数据包括该样本在该参与方的特征空间下的特征数据,也即,一个样本在不同参与方的样本数据属于不同的特征空间,可以看作是从不同的角度来描述该样本。例如,在一实施方式中,一个参与方是银行,另一参与方是电商机构,银行拥有用户(样本)的金融活动业务数据,电商拥有用户的购买记录数据,模型任务可以是利用用户的金融活动业务数据和购买记录数据来预测用户的还贷风险。
58.在具体实施方式中,若各参与方的样本都是共有样本,那么可以直接采用共有样本在各参与方的样本数据来用于预训练。若各参与方的样本有共有样本也有非共有样本,则第一参与方设备与第二参与方设备可以预先进行样本对齐,也即,确定各参与方共有的样本,然后各参与方分别选用共有样本在己方的样本数据来用于预训练。需要说明的是,共有样本可能有多个,预训练可以选用大量的共有样本来用于预训练,但为表述方便,以下以采用一个共有样本的一条样本数据进行预训练为例进行阐述,也即,第一样本数据表示一个样本在第一参与方的样本数据。由于预训练过程可以不需要样本的标签数据,所以无标签的样本数据可以用于预训练。样本对齐的方法有多种,在本实施例中并不做限制。
59.第一参与方设备在获取到第一样本数据后,可以将第一样本数据输入至第一编码器器进行编码得到编码特征(以下称为第一编码特征以示区分)。采用编码器进行编码的过程即采用编码器中的参数对输入的待编码的数据进行作用的过程,根据编码器的类型不同,编码器中的参数种类和个数也不同,采用参数对待编码的数据进行作用的具体方式也不同。例如,当编码器采用卷积神经网络时,编码器的参数包括卷积神经网络中的各卷积层的卷积核参数,采用参数对待编码的数据进行作用具体就是对待编码的数据进行卷积。
60.在具体实施方式中,第一参与方设备可以直接将第一样本数据转换为第一编码器的输入数据的数据结构形式后输入至第一编码器,也可以先对第一样本数据中的部分数据进行一定的变换后再转换数据结构输入至第一编码器。在本实施例中并不做限制。以下将第一样本数据中变换前的那部分数据称为第一样本数据中被变换的那部分数据。例如,第一样本数据中包括属性a的属性值a1和属性b的属性值b2,将a1进行变换为a1’,那么a1就是第一样本数据中被变换的那部分数据,b2就是第一样本数据中未被变换的那部分数据。
61.步骤s20,获取第二编码特征,其中,所述第二编码特征由所述第二参与方设备将第二样本数据输入至所述第二编码器进行编码得到;
62.第二参与方设备可从本地或远程获取第二参与方所拥有的样本数据(以下称为第二样本数据)。第二样本数据与第一样本数据属于同一样本对象,第一样本数据和第二样本数据为该样本在不同特征空间下的特征数据。第二参与方设备将第二样本数据输入至第二编码器进行编码得到编码特征(以下称为“第二编码特征”以示区分)。
63.第一参与方设备可以获取第二参与方设备编码得到的第二编码特征。具体实施方式中,第一参与方设备可以从第二参与方设备直接获取,也可以是经由第三方转发。当对数据隐私保护要求较高时,第一参与方设备获取到的第二参与方设备的第二编码特征可以是经过加密的,加密算法可以采用同态加密、差分隐私等,在此不做限制。
64.步骤s30,将所述第一编码特征和所述第二编码特征进行融合后输入至所述解码器进行解码得到重构样本数据;
65.为实现采用无标签的样本数据对第一编码器和第二编码器进行预训练,在本实施
例中,还在第一参与方设备中部署解码器,用于对第一编码器和第二编码器输出的编码特征进行解码。
66.第一参与方设备将第一编码特征和第二编码特征进行融合后输入至解码器进行解码,将解码得到的数据称为重构样本数据。其中,重构样本数据可以是针对第一样本数据的重构数据,也可以是针对第一样本数据中被变换部分的重构数据。需要说明的是,重构也可以称为还原,也即,旨在通过解码器基于第一编码特征和第二编码特征解码得到与第一样本数据相同的数据,或者得到与第一样本数据中被变换的那部分数据相同的数据。可以通过对解码器的输出数据的数据结构进行设置来使得通过解码能够得到针对第一样本数据或第一样本数据中被变换的那部分数据的重构样本数据。例如,在一实施方式中,第一样本数据是图像数据,那么解码器的输出数据的数据结构可以是与第一样本数据尺寸相同的图像数据,或与第一样本数据中被变换的那部分图像数据尺寸相同的图像数据。又如,在另一实施方式中,第一样本数据是文本数据,那么解码器的输出数据的数据结构可以是与第一样本数据长度相同的文本数据,或与第一样本数据中被那部分文本数据长度相同的文本数据。
67.将第一编码特征与第二编码特征进行融合的方法有很多种,例如可以是做向量或矩阵拼接,或可以是直接相加等,具体在本实施例中并不做限制。
68.需要说明的是,在第一编码器和第二编码器未经过预训练之前,第一编码器和第二编码器基于初始化的参数进行编码,初始化的参数一般是根据人工经验初始化的,所以编码得到的第一编码特征和第二编码特征并不能够准确地表征样本数据的隐含特征,进而导致解码器基于第一编码特征和第二编码特征进行解码得到的重构样本数据与第一样本数据或第一样本数据中被变换的那部分数据之间的误差较大;通过对第一编码器和第二编码器进行预训练,目的就是要更新第一编码器和第二编码器中的参数,以使得第一编码器和第二编码器基于更新后的参数进行编码,得到的第一编码特征和第二编码特征能够更准确地表征样本数据的隐含特征,进而使得解码器基于第一编码特征和第二编码特征进行解码得到的重构样本数据尽可能接近于原始的第一样本数据或第一样本数据中被变换的那部分数据(即使得解码器的输出尽可能接近原始第一样本数据);由于在解码器解码得到重构样本数据时,需要利用到第一编码器对第一样本数据进行编码得到的第一编码特征,同时也需要利用到第二编码器对第二样本数据进行编码得到的第二编码特征,所以第一编码特征和第二编码特征体现了在重构样本数据时第一样本数据和第二样本数据之间的关联特征,因此,在达到上述预训练的目的后,就可以认为第一编码器和第二编码器学习到了如何挖掘第一样本数据和第二样本数据之间的关联之处。
69.步骤s40,基于所述重构样本数据与所述第一样本数据之间的误差更新所述第一编码器以及计算得到用于更新所述第二编码器的中间结果,将所述中间结果发送给所述第二参与方设备以供所述第二参与方设备更新所述第二编码器。
70.第一参与方设备在获取到重构样本数据后,可以计算重构样本数据与第一样本数据之间的误差,以减小误差为目的计算第一编码器更新后的参数以及计算用于更新第二编码器的中间结果。其中,计算更新后的参数和用于更新第二编码器的中间结果的方法具体可以采用梯度下降算法,通过计算表征重构样本数据与第一样本数据或第一样本数据中被变换的那部分数据之间误差的损失函数,损失函数可以采用均方根误差等自损失函数;计
算损失函数相对于第一编码器中各个参数的梯度值,采用梯度值来更新第一编码器中的参数以更新第一编码器;计算损失函数相对于第二编码特征的梯度值作为用于更新第二编码器的中间结果,或者根据第二编码特征的梯度值更新第二编码特征后,将更新后的第二编码特征作为用于更新第二编码器的中间结果。
71.第一参与方设备将中间结果发送给第二参与方设备,具体可以直接发送给第二参与方设备,也可以通过第三方转发。当对数据隐私保护要求较高时,第一参与方设备发送给第二参与方设备的中间结果可以是经过加密的,加密算法可以采用同态加密、差分隐私等,在此不做限制。第二参与方设备在获取到中间结果后,可以根据中间结果更新第二编码器。具体地,当中间结果是第二编码特征的梯度值时,第二参与方设备可以根据梯度反向传播算法计算得到第二编码器中各个参数的梯度值,然后再采用梯度值更新第二编码器中的参数以更新第二编码器;当中间结果是更新后的第二编码特征时,第二参与方设备可以计算更新后的第二编码特征与更新前的第二编码特征之间的损失函数,计算该损失函数对第二编码器中各个参数的梯度值,然后再采用梯度值更新第二编码器中的参数以更新第二编码器。
72.进一步地,在一实施方式中,第一参与方设备也可以基于重构样本数据与第一样本数据之间的误差更新解码器。具体地,第一参与方设备可以计算损失函数相对于解码器中各个参数的梯度值,然后再采用梯度值更新解码器中的参数以更新解码器。
73.可以理解的是,由于第一参与方设备与第二参与方设备在对第一编码器和第二编码器进行预训练的过程,交互的是编码特征和用于更新编码器的中间结果,并没有直接发送原始的样本数据,所以保证了各参与方样本数据的隐私安全。
74.步骤s50,在对所述第一编码器和所述第二编码器进行至少一轮迭代更新后,基于更新后的所述第一编码器和所述第二编码器与所述第二参与方设备进行纵向联邦学习得到目标模型。
75.第一参与方设备和第二参与方设备在对第一编码器和第二编码器进行至少一轮迭代更新后,可以根据更新后的第一编码器和第二编码器进行纵向联邦学习,以下将训练得到的模型称为“目标模型”以示区分。基于更新后的第一编码器和第二编码器进行纵向联邦学习的过程可参照常规的纵向联邦学习过程,在本实施例中不做赘述。
76.在本实施例中,通过在参与纵向联邦学习的第一参与方设备部署第一编码器和解码器,在第二参与方设备部署第二编码器,通过第一参与方设备将第一样本数据输入至第一编码器进行编码得到第一编码特征,并获取第二参与方设备将第二样本数据输入至第二编码器进行编码得到的第二编码特征,将第一编码特征和第二编码特征进行融合后输入至解码器进行解码得到重构样本数据,基于重构样本数据与第一样本数据之间的误差更新第一编码器以及计算得到用于更新第二编码器的中间结果,将中间结果发送给第二参与方设备以使得第二参与方设备对第二编码器进行更新,实现了采用参与纵向联邦学习的各参与方的无标签的样本数据来对第一编码器和第二编码器进行预训练。并且本实施例中的该预训练过程使得第一编码器和第二编码器能够学习到如何挖掘各参与方样本数据之间的关联性。相比于采用各参与方中有标签的样本数据对随机初始化或根据人工经验初始化的第一编码器、第二编码器和预测器进行纵向联邦学习,本实施例中采用预训练后的第一编码器和第二编码器作为纵向联邦学习的基础,由于第一编码器和第二编码器学习到了如何挖
掘各参与方样本数据之间的联系,使得在纵向联邦学习阶段,通过第一编码器和第二编码器能够编码得到更利于预测器得出准确预测结果的编码特征,进而能够帮助提高训练得到的目标模型的预测准确度,也能够帮助缩短纵向联邦学习的时长,进而能够减少纵向联邦学习阶段的计算资源消耗。并且,也实现了将无标签的样本数据应用于纵向联邦学习场景参与模型训练,进而实现了基于无标签的样本数据来提升纵向联邦学习场景中的模型预测准确度。另外,在预训练过程中,各参与方设备并没有直接发送原始的样本数据,所以也保证了各参与方样本数据的隐私安全。
77.并且,需要说明的是,由于本实施例中模型构建优化方法能够使得第一编码器和第二编码器学习到挖掘第一样本数据和第二样本数据之间关联性的能力,所以第一样本数据和第二样本数据之间本身不需要一定具有强相关性,因此,相比于基于对比学习的模型构建优化方法要求各参与方的数据具有强相关性,本实施例中的模型构建优化方法应用范围更加广泛。
78.进一步地,在一实施方式中,所述第一参与方设备还部署预测器,所述步骤s50包括:
79.步骤s501,在对所述第一编码器和所述第二编码器进行至少一轮迭代更新后,基于带标签的第三样本数据联合所述第二参与方设备中与所述第三样本数据对齐的第四样本数据,对所述预测器和更新后的所述第一编码器、所述第二编码器进行纵向联邦学习,以得到包括训练后的所述第一编码器、所述第二编码器和所述预测器的目标模型。
80.在本实施方式中,第一参与方可以是拥有样本标签数据的一方,在第一参与方设备中部署预测器,对预测器和预训练之后的第一编码器和第二编码器进行纵向联邦学习。
81.具体地,第一参与方设备可以在与第二参与方设备联合进行至少一轮的迭代更新后,基于带标签的第三样本数据联合第二参与方设备中与第三样本数据对齐的第四样本数据,对预测器、更新后的第一编码器和第二编码器进行纵向联邦学习,以得到包括训练后的第一编码器、第二编码器和预测器的目标模型。在具体实施方式中,第一参与方设备与第二参与方设备可以先对带标签的样本进行对齐,采用共有的带标签样本的样本数据来进行纵向联邦学习;第一参与方设备可以将第三样本数据输入至预训练后的第一编码器进行编码得到编码特征(以下称为第三编码特征),并获取第二参与方设备将第四样本数据输入至预训练后的第二编码器进行编码得到的编码特征(以下称为第四编码特征);第一参与方设备将第三编码特征和第四编码特征进行融合后输入至预测器进行预测,得到预测结果,获取与第三样本数据和第四样本数据对应的样本的标签数据,根据标签数据和预测结果计算损失函数,损失函数可以采用交叉熵损失函数等有监督损失函数;第一参与方设备计算损失函数相对于第一编码器和预测器中参数的梯度值,根据梯度值更新第一编码器和预测器中的参数,以对第一编码器和预测器进行一轮更新;第一参与方设备计算损失函数相对于第四编码特征的梯度值,将梯度值发送给第二参与方设备,以使得第二参与方设备根据第四编码特征的梯度值计算得到第二编码器中参数的梯度值,根据梯度值更新第二编码器中的参数,以对第二编码器进行一轮更新;第一参与方设备与第二参与方设备对第一编码器、第二编码器和预测器进行至少一轮的迭代更新,在满足迭代更新的停止条件时可以结束训练,将最终更新得到的第一编码器、第二编码器和预测器作为目标模型,以基于目标模型来完成模型任务。
82.需要说明的是,由于第一编码器和第二编码器已经是经过预训练的,所以在纵向联邦学习可以看作是对第一编码器和第二编码器的微调过程,相比于直接对未经预训练的第一编码器和第二编码器进行纵向联邦学习,本实施例方案能够提高纵向联邦学习过程模型的收敛速度,节省训练时长,进而节省计算资源。
83.进一步地,在具体实施方式中,在训练得到目标模型后,目标模型中的第一编码器和预测器可以仍部署于第一参与方设备,第二编码器仍部署于第二参与方设备,由第一参与方设备与第二参与方设备联合完成模型任务,或者,也可以将目标模型部署于同一设备,由该设备独立完成模型任务。
84.进一步地,基于上述第一实施例,提出本发明模型构建优化方法第二实施例,在本实施例中,所述步骤s10包括:
85.步骤s101,对第一样本数据中的部分数据进行变换,将经过变换后的第一样本数据输入至所述第一编码器进行编码得到第一编码特征。
86.在本实施例中,第一参与方设备可以将第一样本数据中的部分数据进行变换,其余部分不做变换,将变换后的第一样本数据输入至第一编码器进行编码得到第一编码特征。其中,可以理解的是,变换后的第一样本数据中包括未被变换的那部分数据和变换后的那部分数据。对第一样本数据中部分数据进行变换,并通过将变换后的第一样本数据输入至第一编码器进行编码得到第一编码特征,将第二样本数据输入至第二编码器进行编码得到第二编码特征,再将第一编码特征和第二编码特征输入至解码器进行解码得到重构样本数据,目的是为了让第二样本数据帮助重建第一样本数据中被变换的那部分数据,进而能够进一步地提高第一编码器和第二编码器挖掘第一样本数据与第二样本数据之间关联性的能力。其中,第二样本数据帮助重建第一样本数据中被变换的那部分数据是指:对于编码器和解码器而言,第一样本数据被变换了一部分就相当于缺失了一部分,解码器基于变换后的第一样本数据的第一编码特征和第二样本数据的第二编码特征进行解码得到重构样本数据,而重构样本数据又通过预训练使其更接近于原始的第一样本数据和第一样本数据中被变换的那部分数据,也就相当于是第二样本数据帮助重建了第一样本数据中被变换的那部分数据。
87.在具体实施方式中,样本数据的类型不同所采取的变换方法也不同,在本实施例中对变换方法并不做限制。例如,可以对第一样本数据中的部分数据采用预设值进行替换,例如替换为0。
88.进一步地,在具体实施方式中,当第一参与方设备对第一样本数据中的部分数据进行变换后再输入至第一编码器进行编码时,重构样本数据可以是针对第一样本数据的重构数据,也可以是只针对第一样本数据中被变换的那部分数据的重构数据。
89.进一步地,在一实施方式中,所述重构样本数据为针对所述第一样本数据中被变换的部分数据的重构数据,所述步骤s40中基于所述重构样本数据与所述第一样本数据之间的误差更新所述第一编码器以及计算得到用于更新所述第二编码器的中间结果的步骤包括:
90.步骤s401,计算表征所述重构样本数据与所述第一样本数据中被变换的部分数据之间误差的自损失函数;
91.在本实施例中,当重构样本数据是针对第一样本数据中被变换的那部分数据的重
构数据时,第一参与方设备可以计算表征重构样本数据与第一样本数据中被变换的那部分数据之间误差的损失函数(以下称为自损失函数以示区分)。其中,自损失函数可以采用均方根误差等自编码器常采用的损失函数,在本实施例中并不做限制。
92.步骤s402,计算所述自损失函数相对于所述第一编码器中参数的第一梯度值,以及计算所述自损失函数相对于所述第二编码特征的第二梯度值;
93.第一参与方设备在计算得到自损失函数后,计算自损失函数相对于第一编码器中参数的梯度值(以下称为第一梯度值)。需要说明的是,第一编码器中包括多个参数,那么第一梯度值分别包括与各个参数对应的梯度值。第一参与方设备还计算自损失函数相对于第二编码特征的梯度值(以下称为第二梯度值)。
94.步骤s403,根据所述第一梯度值更新所述第一编码器中的参数以更新所述第一编码器;
95.第一参与方设备在得到第一梯度值后,可以根据第一梯度值更新第一编码器中的参数,更新参数后第一编码器即得到一轮的更新。根据梯度值更新参数的具体过程在此不做赘述。
96.步骤s404,将所述第二梯度值作为用于更新所述第二编码器的中间结果。
97.第一参与方设备将计算得到的第二梯度值作为用于更新第二编码器的中间结果。进一步地,第一参与方将中间结果发送给第二参与方设备,第二参与方设备在接收到中间结果,也即接收到第二梯度值后,可以根据第二梯度值计算第二编码器中各个参数的梯度值,并采用计算得到的梯度值更新第二编码器中的参数,从而完成对第二编码器的一轮更新。
98.进一步地,在一实施方式中,所述步骤s101中对第一样本数据中的部分数据进行变换的步骤包括:
99.步骤s1011,当所述第一样本数据包括多个属性值时,将所述第一样本数据中的部分属性值变换为预设值或添加随机噪声;
100.在本实施方式中,当第一样本数据是包括多个属性值的表格类数据时,可以将第一样本数据中的部分属性值变换为预设值或添加随机噪声,以对第一样本数据中的部分数据进行变换。其中,预设值可以根据需要进行设置,例如设置为0。添加随机噪声可以是对属性值加上一个随机数,该随机数可以是采用随机算法生成的,例如,可以添加正态分布的噪音。对第一样本数据中的哪一部分属性值进行变换具体可以是预先固定好,也可以是按照一定的比例随机选取几个属性值,例如按20%的比例随机从10个属性值中选取2个属性值,设置为0或者加上一个噪音。
101.那么相应地,重构样本数据可以是重构的被变换的哪几个属性值,也可以是重构的第一样本数据的所有属性值。
102.步骤s1012,当所述第一样本数据为图像数据时,将所述图像数据中的部分像素点的像素值变换为预设像素值;
103.当第一样本数据是图像数据时,可以将图像数据中的部分像素点的像素值变换为预设像素值,以对第一样本数据中的部分数据进行变换。其中,预设像素值可以根据需要进行设置,以达到对图像数据中部分区域进行遮挡的效果。
104.相应地,重构样本数据可以是重构原图像数据被遮挡的那部分图像数据,也可以
是重构整个原图像数据。
105.步骤s1013,当所述第一样本数据为文本数据时,将所述文本数据中的部分词语变换为预设词语。
106.当第一样本数据为文本数据时,可以将文本数据中的部分词语变换为预设词语,以对第一样本数据中的部分数据进行变换。其中,预设词语可以根据需要进行设置。
107.相应地,重构样本数据可以是重构文本数据被替换的那部分词语,也可以是重构整个文本数据。
108.进一步地,在一实施方式中,所述步骤s30包括:
109.步骤s301,将所述第一编码特征和所述第二编码特征输入至所述投影模型进行特征交叉处理,将经特征交叉处理后得到的融合特征输入至所述解码器进行解码得到重构样本数据。
110.第一参与方设备中还可以部署投影模型,投影模型可以采用任意能够让输入的多个特征产生交叉融合效果的模型结构来实现,例如可以采用一层或两层全连接模型来实现。第一参与方设备在得到第一编码特征和第二编码特征后,可以将第一编码特征和第二编码器特征输入投影模型进行特征交叉处理,特征交叉处理的过程即采用投影模型中的参数对输入的待投影的数据进行作用的过程,根据投影模型的类型不同,投影模型中的参数种类和个数也不同,采用参数对待投影的数据进行作用的具体方式也不同。例如,当投影模型是全连接模型时,采用参数对待投影的数据进行作用具体就是采用全连接模型各个参数矩阵与待投影的数据进行矩阵乘法。
111.在具体实施方式中,第一参与方设备可以将第一编码特征和第二编码特征相加或相拼接后输入至投影模型,具体可以通过对投影模型的输入数据的数据结构进行设置来实现。例如投影模型的输入数据的数据结构设置为256维度的向量,第一编码特征和第二编码特征分别是128维的向量,则可以将第一编码特征和第二编码特征进行向量拼接,得到256维的向量后输入至投影模型。
112.进一步地,在一实施方式中,第一参与方设备在对第一编码器、解码器进行更新时,还可以同时对投影模型也进行更新,具体可以计算损失函数相对于投影模型中各个参数的梯度值,根据梯度值更新投影模型中的各个参数以对投影模型进行更新。
113.需要说明的是,通过在第一参与方设备中部署投影模型,用于将第一编码特征和第二编码特征进行特征交叉处理后再输入至解码器进行解码,能够使得第一编码特征和第二编码特征得到进一步的交叉组合。如前所述,通过对第一编码器和第二编码器进行预训练,目的是要使得解码器基于第一编码特征和第二编码特征进行解码得到的重构样本数据尽可能接近于原始的第一样本数据或第一样本数据中被变换的那部分数据,而第一编码特征和第二编码特征体现了在重构样本数据时第一样本数据和第二样本数据之间的关联特征,将第一编码特征和第二编码特征进行交叉组合所得到的编码特征更加能够体现重构样本数据时第一样本数据和第二样本数据之间的关联特征,所以当将交叉组合得到的编码特征输入至解码器进行解码,能够更加利于通过预训练过程让第一编码器和第二编码器学习到挖掘第一样本数据和第二样本数据之间的关联性的能力。
114.进一步地,基于上述第一和/或第二实施例,提出本发明模型构建优化方法第三实施例,在本实施例中,所述方法应用于第二参与方设备,参照图3所示,所述方法包括以下步
骤:
115.步骤a10,将第二样本数据输入至所述第二编码器进行编码得到第二编码特征;
116.步骤a20,将所述第二编码特征发送给所述第一参与方设备,以供所述第一参与方设备将第一编码特征和所述第二编码特征进行融合后输入至所述解码器进行解码得到重构样本数据,并基于所述重构样本数据与所述第一样本数据之间的误差更新所述第一编码器以及计算得到用于更新所述第二编码器的中间结果,其中,所述第一编码特征由所述第一参与方设备将第一样本数据输入至所述第一编码器进行编码得到的;
117.步骤a30,获取所述中间结果,根据所述中间结果更新所述第二编码器;
118.不做a40,在对所述第一编码器和所述第二编码器进行至少一轮迭代更新后,基于更新后的所述第一编码器和所述第二编码器与所述第一参与方设备进行纵向联邦学习得到目标模型。
119.本实施例步骤a10~a40的具体实施方式,可以参照上述实施例中步骤s10~s50的具体实施方式中,在此不再赘述。
120.进一步地,在一实施方式中,第一参与方可以是银行,第一参与方拥有用户(样本)在银行办理业务时产生的业务数据,具体可以包括存取款记录、贷款记录、还款记录等,还可能拥有一些用户的还贷风险标签。第二参与方可以是电商机构,第二参与方拥有用户在电商平台购买商品时产生的购买记录数据,具体可以包括购买商品金额、付款方式、退换货次数等。第一参与方和第二参与方可以设定基于用户的业务数据和购买记录数据预测用户还贷风险的模型任务,在第一参与方设备中部署第一编码器和预测器,在第二参与方设备中部署第二编码器,通过对第一编码器、第二编码器和预测器采用有标签的共有用户的业务数据和购买记录数据进行纵向联邦学习,得到还贷风险预测模型,用于预测用户的还贷风险。在对第一编码器、第二编码器和预测器进行纵向联邦学习之前,第一参与方设备和第二参与方设备采用无标签的共有用户的业务数据(第一样本数据)和购买记录数据(第二样本数据)来对第一编码器和第二编码器进行预训练。一轮预训练过程可以包括:
121.第一参与方设备将共有用户的业务数据输入至第一编码器进行编码得到第一编码特征;
122.第一参与方设备获取第二编码特征,其中,第二编码特征由第二参与方设备将共有用户的购买记录数据输入至第二编码器进行编码得到的;
123.第一参与方设备将第一编码特征和第二编码特征进行融合后输入至解码器进行解码得到重构样本数据;
124.基于重构样本数据与业务数据之间的误差更新第一编码器以及计算得到用于更新第二编码器的中间结果,将中间结果发送给第二参与方设备以供第二参与方设备更新第二编码器。
125.在对第一编码器和第二编码器进行至少一轮迭代更新后,第一参与方设备可以基于更新后的第一编码器和第二编码器与第二参与方设备进行纵向联邦学习得到还贷风险预测模型。
126.在本实施方式中实现了采用银行和电商机构无标签的共有用户的业务数据和购买记录数据来对第一编码器和第二编码器进行预训练。并且本实施方式中的该预训练过程使得第一编码器和第二编码器能够学习到如何挖掘用户的业务数据与购买记录数据之间
的关联性。相比于采用有标签的样本数据对随机初始化或根据人工经验初始化的第一编码器、第二编码器和预测器进行纵向联邦学习,本实施例中采用预训练后的第一编码器和第二编码器作为纵向联邦学习的基础,由于第一编码器和第二编码器学习到了如何挖掘用户的业务数据与购买记录数据之间的联系,使得在纵向联邦学习阶段,通过第一编码器和第二编码器能够编码得到更利于预测器得出准确的还贷风险预测结果的编码特征,进而能够帮助提高训练得到的还贷风险预测模型的预测准确度,也能够帮助缩短纵向联邦学习的时长,进而能够减少纵向联邦学习阶段的计算资源消耗。并且,也实现了将无标签的业务数据和购买记录数据应用于纵向联邦学习场景参与模型训练,进而实现了基于无标签的业务数据和购买记录数据来提升还贷风险模型的预测准确度。另外,在预训练过程中,各参与方设备并没有直接发送原始的业务数据和购买记录数据,所以也保证了用户的隐私安全。
127.进一步地,第一参与方设备可以对业务数据中的部分数据进行变换,将变换后的业务数据输入至第一编码器进行编码得到第一编码特征。其中,将业务数据中的部分数据进行变换具体可以是将业务数据中的部分属性值替换为预设值或添加随机噪声。例如,可以将业务数据中用户的存取款记录进行变换。
128.进一步地,在一实施方式中,如图4所示,展示了基于数据重建的预训练框架。a方有特征数据和标签,b方只有特征数据,a方和b方其中一个为第一参与方设备,另一个为第二参与方设备。a方和b方部署有各自的编码模型(也称编码器)encodera和encoderb,分别输出编码特征fa和fb。此外,a方有投影模型pa和解码模型(也称解码器)decodera。预训练基本流程:
129.初始化:各参与方初始化各自模型encodera、encoderb、pa和decodera。a方和b方通过加密的方式实现样本数据对齐。
130.①
a方将样本数据xa通过数据处理步骤,得到x
a,prossed
,目的是把原始样本数据进行变换。常见的方式,如随机扰动部分特征,将其变为预先定义的值,如0;或者将其加上一个随机的扰动,如正态分布的噪音。例如按20%的比例随机将一个10维的特征中2维的值进行扰动,设为0或者加上一个噪音。对于图片或文本数据,可以使用其常用的扰动方案。例如,对于图片,可以遮住部分图片区域;对于文本,可以将部分词语替换,相应地在这种情况下,可以在文本中增加一个标识位用于指示文本中被替换的词语,以在计算损失函数时计算原始文本数据中与重构的文本数据中该标识位所指示的词语之间的损失。
131.②
a方和b方通过将各自的样本数据输入至各自的编码模型encodera和encoderb进行编码得到编码特征fa和fb。b方将fb传给a方,在传输前,可通过多种加密方式对fb进行加密,以进一步增加数据的安全性,例如可以采用差分隐私方法进行加密。
132.③
该步骤为数据重建过程,目的是让模型建模a方样本数据和b方样本数据之间的关系,让b方样本数据的特征帮助重建a方的样本数据。a方将fa和fb进行融合,可以采用拼接或者相加的方法,然后输入至投影模型pa,得到za,投影模型pa可以采用1层或者2层的全连接模型,用于进行特征之间的交叉。然后将za输入至解码模型decodera,得到与a方输入的样本数据形状一样的输出ha。
133.对于xa和ha计算损失,常用损失函数如均方根误差,具体形式如下:
134.l=σ(x
a,i-h
a,i
)2135.其中,i表示样本序号,在计算损失函数时,遍历a方和b方当前训练批中的各个样
本,将针对各个样本计算的均方根误差相加。
136.解码模型的结构可以根据具体样本数据的形式来确定。例如对于表格数据,解码模型可以采用全连接网络,其最后一层输出的数据结构与xa的数据结构相同,或与xa中被变换的那部分数据的数据结构详图;对于图片数据,解码模型可以采用包含反卷积模块的模型,将输入的za转化为与a方输入的原始图片相同的尺寸后输入至解码模型。对于文本数据,解码模型可以采用transformer或bert模型,相应地,损失函数可以设计为表征解码模型输出的文本与a方原始输入文本中被变换的文本之间的误差的损失函数。
137.④
a方根据损失函数更新模型encodera、pa和decodera。a方计算对fb的偏导数gb并回传给b方,传输过程可以通过差分隐私等方法加密。
138.⑤
b方根据得到的偏导数gb更新自己的编码模型encoderb。
139.如图5所示,对encodera和encoderb进行预训练后,可以对encodera和encoderb进行微调,该过程与常规纵向联邦学习相同,区别在于a方和b方使用上一步预训练得到的encodera和encoderb权重初始化各自的模型。
140.首先,a方和b方分别用模型预训练步骤得到的encodera和encoderb初始化。a方还有一个分类模型(也称预测模型)classifiera,并随机初始化。
141.接着按以下步骤进行联邦学习:
142.①
a方和b方基于对齐且有标签的数据(xa,ya)和xb,通过模型encodera和encoderb进行编码得到fa和fb,b方将fb传给a方。
143.②
a方将fa和fb融合后(通常为拼接,也可采用相加),输入分类模型classifiera得到预测结果y
pred
,基于预测结果和标签ya计算交叉熵损失函数lce。
144.③
a方基于交叉熵损失函数lce更新encodera和classifiera,并对fb计算偏导数gb回传给b方。
145.b方根据得到的偏导数gb更新自己的编码模型encoderb。
146.此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有模型构建优化程序,所述模型构建优化程序被处理器执行时实现如下所述的模型构建优化方法的步骤。
147.本发明还提出一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的模型构建优化方法的步骤。
148.本发明模型构建优化设备、计算机可读存储介质和计算机程序产品的各实施例,均可参照本发明模型构建优化方法各个实施例,此处不再赘述。
149.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
150.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
151.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
152.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1