发明内容
本公开提供一种信用度预测模型的训练方法、***、客户端、服务器、电子设备以及存储介质,用以解决现有技术中的问题。
一方面,本公开实施例提供一种信用度预测模型的训练方法,所述方法包括:
客户端接收服务器发送的训练样本信息,所述训练样本信息中包括:参与模型训练的各客户端的样本用户标识ID;
所述客户端在所述样本用户ID对应的各用户账户历史数据中,确定第一样本数据和第二样本数据,所述第二样本数据具有待预测样本特征,所述第一样本数据具有除所述待预测样本特征之外的其他特征;
所述客户端确定所述第一样本数据对应的第一预测信息,并确定所述第二样本数据对应的第二预测信息,并将所述第一预测信息和所述第二预测信息发送至所述服务器;
所述客户端接收服务器发送的预测结果;
所述客户端根据所述预测结果、所述第一样本数据和所述第二样本数据,生成信用度预测模型。
在本申请实施例中,客户端接收到的为服务器发送的参与模型训练的各客户端的样本用户ID,即客户端接收到的为参与模型训练的所有的样本用户ID。也就是说,从“用户”的维度来说,用于模型训练的数据是完整的。且客户端生成与第一样本数据对应的第一预测信息,并生成与第二样本数据对应的第二预测信息,即保留了“特征”维度的用于模型训练的数据。因此,在本申请实施例中,用于模型训练的数据的完整性较强,从而可以实现提高信用度预测模型的精度的技术效果。
在一些实施例中,所述样本训练信息中还包括:同态加密的公钥;所述方法还包括:
所述客户端根据所述公钥对所述第一预测消息和所述第二预测消息分别进行加密;
以及,所述客户端将所述第一预测信息和所述第二预测信息发送至所述服务器包括:所述客户端将加密后的第一预测消息和加密后的第二预测消息发送至所述服务器。
在本申请实施例中,通过加密的方式,可以提高数据传输过程中的安全性和可靠性。
在一些实施例中,所述客户端确定所述第一样本数据对应的第一预测信息,包括:
所述客户端获取不包括所述待预测样本特征的第一用户对应的第一特征值,所述第一用户与其他用户的第一共有特征值,并获取所述第一特征值对应的第一特征值权重,所述第一共有特征值对应的第一共有特征权重;
所述客户端根据所述公钥、所述第一特征值、所述第一共有特征值、所述第一特征值权重和所述第一共有特征权重生成所述第一预测信息。
在一些实施例中,所述第一预测信息包括同态加密后的所述第一用户的预测值和损失值。
在一些实施例中,所述客户端确定所述第二样本数据对应的第二预测信息,包括:
所述客户端接收所述服务器发送的参照预测值;
所述客户端获取包括所述待预测样本特征的第二用户对应的第二特征值,所述第二用户与其他用户的第二共有特征值,并获取所述第二特征值对应的第二特征值权重,所述第二共有特征值对应的第二共有特征权重,并获取所述待预测样本特征对应的特征数据;
所述客户端根据所述参照预测值、所述公钥、所述第二特征值、所述第二共有特征值、所述第二特征值权重、所述第二共有特征权重和所述特征数据生成所述第二预测信息。
在一些实施例中,所述第二预测信息包括同态加密后的所述第二用户的预测值和损失值,以及同态加密后的所述第一用户和所述第二用户共同的损失值。
在一些实施例中,所述客户端接收所述服务器发送的迭代训练指示;
所述客户端根据所述第一预测信息和第二预测信息确定迭代时,所述第一特征权重、所述第一共有特征权重、所述第二特征权重和所述第二共有特征权重的更新值。
另一方面,本公开实施例还提供了一种信用度预测模型的训练方法,所述方法包括:
服务器向参与模型训练的各客户端发送训练样本信息,所述训练样本信息中包括:所述参与模型训练的各客户端的样本用户标识ID;
所述服务器接收所述参与模型训练的各客户端发送的第一预测信息和第二预测信息;
所述服务器基于所述第一预测信息和所述第二预测信息生成预测结果,并将所述预测结果发送至所述参与模型训练的各客户端,其中,所述预测结果用于表征所述第一预测信息和所述第二预测信息的关联信息。
在一些实施例中,所述样本训练信息中还包括:同态加密的公钥,所述第一预测信息和所述第二预测信息均为经所述公钥加密后的信息。
在一些实施例中,所述方法还包括:
所述服务器接收所述参与模型训练的各客户端发送的参照预测值,并将所述参照预测值发送至所述参与模型训练的各客户端,其中,所述参照预测值用于表征具有除待预测样本特征之外的其他特征的预测信息。
另一个方面,本公开实施例还提供了一种客户端,所述客户端包括:
第一通信模块,用于接收服务器发送的训练样本信息,所述训练样本信息中包括:参与模型训练的各客户端的样本用户标识ID;
第一处理模块,用于在所述样本用户ID对应的各用户账户历史数据中,确定第一样本数据和第二样本数据,所述第二样本数据具有待预测样本特征,所述第一样本数据具有除所述待预测样本特征之外的其他特征;
所述第一处理模块还用于,确定所述第一样本数据对应的第一预测信息,并确定所述第二样本数据对应的第二预测信息;
所述第一通信模块还用于,将所述第一预测信息和所述第二预测信息发送至所述服务器;
所述第一通信模块还用于,接收服务器发送的预测结果;
生成模块,用于根据所述预测结果、所述第一样本数据和所述第二样本数据,生成信用度预测模型。
在一些实施例中,所述样本训练信息中还包括:同态加密的公钥;所述客户端还包括:
加密模块,用于根据所述公钥对所述第一预测消息和所述第二预测消息分别进行加密;
以及,所述第一通信模块具体用于,所述客户端将加密后的第一预测消息和加密后的第二预测消息发送至所述服务器。
在一些实施例中,所述第一处理模块具体用于,获取不包括所述待预测样本特征的第一用户对应的第一特征值,所述第一用户与其他用户的第一共有特征值,并获取所述第一特征值对应的第一特征值权重,所述第一共有特征值对应的第一共有特征权重;根据所述公钥、所述第一特征值、所述第一共有特征值、所述第一特征值权重和所述第一共有特征权重生成所述第一预测信息。
在一些实施例中,所述第一预测信息包括同态加密后所述第一用户的预测值和损失值。
在一些实施例中,所述第一处理模块还具体用于,接收所述服务器发送的参照预测值;获取包括所述待预测样本特征的第二用户对应的第二特征值,所述第二用户与其他用户的第二共有特征值,并获取所述第二特征值对应的第二特征值权重,所述第二共有特征值对应的第二共有特征权重,并获取所述待预测样本特征对应的特征数据;根据所述参照预测值、所述公钥、所述第二特征值、所述第二共有特征值、所述第二特征值权重、所述第二共有特征权重和所述特征数据生成所述第二预测信息。
在一些实施例中,所述第二预测信息包括同态加密后的所述第二用户的预测值和损失值,以及同态加密后的所述第一用户和所述第二用户共同的损失值。
在一些实施例中,所述客户端还包括:
所述第一通信模块还用于,接收所述服务器发送的迭代训练指示;
更新模块,用于根据所述第一预测信息和第二预测信息确定迭代时,所述第一特征权重、所述第一共有特征权重、所述第二特征权重和所述第二共有特征权重的更新值。
另一个方面,本公开实施例还提供了一种服务器,所述服务器包括:
第二通信模块,用于向参与模型训练的各客户端发送训练样本信息,所述训练样本信息中包括:所述参与模型训练的各客户端的样本用户标识ID;
所述第二通信模块还用于,接收所述参与模型训练的各客户端发送的第一预测信息和第二预测信息;
第二处理模块,用于基于所述第一预测信息和所述第二预测信息生成预测结果;
所述第二通信模块还用于,将所述预测结果发送至所述参与模型训练的各客户端,其中,所述预测结果用于表征所述第一预测信息和所述第二预测信息的关联信息。
在一些实施例中,所述样本训练信息中还包括:同态加密的公钥,所述第一预测信息和所述第二预测信息均为经所述公钥加密后的信息。
在一些实施例中,所述第二通信模块还用于,接收所述参与模型训练的各客户端发送的参照预测值,并将所述参照预测值发送至所述参与模型训练的各客户端,其中,所述参照预测值用于表征具有除待预测样本特征之外的其他特征的预测信息。
另一个方面,本公开实施例还提供了一种信用度预测模型的训练***,所述***包括:如上实施例所述的客户端,和如上实施例所述的服务器。
另一个方面,本公开实施例还提供了一种电子设备,包括:存储器,处理器;
所述存储器用于存储所述处理器可执行指令的存储器;
其中,当执行所述存储器中的指令时,所述处理器被配置为实现如上任一实施例所述的方法。
另一个方面,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上任一实施例所述的方法。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
请参阅图1,图1为本申请实施例的信用度预测模型的训练方法的应用场景示意图。
在如图1所示的应用场景中,包括参与模型训练的多个企业的客户端,每个客户端均与服务器连接。企业中的工作人员(下文简称操作者)可对该企业的客户端进行操作,以创建或参与模型训练。
例如,多个企业具体为多个银行,则每个银行的客户端均可连接至服务器,由多个客户端和服务器共同完成模型训练。
其中,任一客户端均可能为模型训练的创建者(下文简称第一客户端),现简单介绍第一客户端的相关操作:
第一客户端的操作者(下文简称第一操作者)可通过第一客户端的显示界面输入模型训练的信息,如模型的名称和加入模型训练的密码。其中,模型的名称用于将此次创建的模型与其他模型进行区分;加入模型训练的密码用于表征对参与模型训练的授权与许可,以确保模型训练的安全性和可靠性。
第一操作者可通过第一客户端的显示界面输入网络信息,如网络之间互连的协议IP(Internet Protocol)地址和数据库名称,并输入连接至数据库的账号和密码。
第一操作者可通过第一客户端的显示界面输入该企业各用户的信息。
其中,用户的信息包括用户的用户名(包括真实的名称和昵称)、用户的标识ID、特征、特征数据和特征数据类型。其中,特征用于表征用户涉及的该企业的业务;特征数据用于表征用户涉及的该企业的业务而产生的数据;特征数据类型包括浮点float型和双精度double类型。
基于上述示例,若企业为银行,则特征可以为存取款等,而特征数据可以为存取款的时间和金额等。
第一操作者可通过第一客户端的显示界面选择训练特征。其中,训练特征用于表征训练模型的目的。例如,训练特征可以为信用度。
第一操作者可通过第一客户端的显示界面选择或设置模型训练的参数,如模型训练的循环轮数、模型训练的错误收敛值和模型训练的精度参数等。
在完成对创建者的简单介绍之后,现对参与模型训练的其他客户端(下文简称第二客户端)进行简单介绍如下:
第二客户端的操作者(下文简称第二操作者)通过第二客户端的显示界面输入模型的名称和加入模型训练的密码。
同理,第二操作者通过第二客户端的显示界面输入网络信息和用户的信息,具体可参见上述描述,此处不再赘述。
在相关技术中,信用度预测模型的训练方法可以基于联邦学习实现,如横向联邦学习,具体地,横向联邦学习在用于模型训练的数据集的特征重叠较多,而用户重叠较少的情况下,把数据集按照横向(即用户维度)切分,并取出各企业的特征相同的部分数据进行训练;又如纵向联邦学习,纵向联邦学习在用于模型训练的数据集的用户重叠较多而特征重叠较少的情况下,把数据集按照纵向(即特征维度)切分,并取出各企业的用户相同的部分数据进行训练。
然而,在实际应用场景中,各企业之间的用户和特征无法完全对等,而采用相关技术中的方案,会造成部分用于模型训练的数据被弃用,从而造成训练得到的模型的精度降低。
本申请的发明人在经过创造性劳动之后,得到了本申请实施例的发明构思:充分利用各企业之间的包括用户和特征的数据集,确保训练模型过程中数据的完整性。
下面以具体地实施例对本公开的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开的实施例进行描述。
根据本申请实施例的一个方面,本申请实施例提供了一种信用度预测模型的训练方法。
请参阅图2,图2为本申请一个实施例的信用度预测模型的训练方法的流程示意图。
如图2所示,该方法包括:
S101:客户端接收服务器发送的训练样本信息,训练样本信息中包括:参与模型训练的各客户端的样本用户标识ID。
其中,客户端可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(Personal Digital Assistant,简称PDA)等设备。无线终端也可以称为***、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(MobileStation)、移动台(Mobile)、远程站(Remote Station)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述终端设备还可以是智能手表、平板电脑等设备。
在该步骤中,客户端接收到的为服务器发送的参与模型训练的各客户端的样本用户ID,即客户端接收到的为参与模型训练的所有的样本用户ID。也就是说,从“用户”的维度来说,用于模型训练的数据是完整的,没有出现如相关技术中的数据被弃用的情况。
S102:客户端在样本用户ID对应的各用户账户历史数据中,确定第一样本数据和第二样本数据,第二样本数据具有待预测样本特征,第一样本数据具有除待预测样本特征之外的其他特征。
基于上述示例可知,针对任一用户,该用户的账户历史数据中,可能存在待预测样本特征的样本数据,也可能不存在待预测样本特征的样本数据。在该步骤中,针对每一个用户,分别确定是否存在待预测样本特征,如果存在,则将存在待预测样本特征的数据确定为第二样本数据;如果不存在,则将不存在待预测样本特征的数据确定为第一样本数据。
S103:客户端确定第一样本数据对应的第一预测信息,并确定第二样本数据对应的第二预测信息,并将第一预测信息和第二预测信息发送至服务器。
基于上述描述可知,在本申请实施例中,保留了“客户”维度的用于模型训练的数据,而在该步骤中,客户端生成与第一样本数据对应的第一预测信息,并生成与第二样本数据对应的第二预测信息,即保留了“特征”维度的用于模型训练的数据。因此,在本申请实施例中,用于模型训练的数据的完整性较强,从而可以实现提高后续得到的信用度预测模型的精度。
S104:客户端接收服务器发送的预测结果。
S105:客户端根据预测结果、第一样本数据和第二样本数据,生成信用度预测模型。
请参阅图3,图3为本申请另一实施例的信用度预测模型的训练方法的流程示意图。
如图3所示,该方法包括:
S201:客户端接收服务器发送的训练样本信息,训练样本信息中包括:参与模型训练的各客户端的样本用户ID,还包括同态加密的公钥。
其中,关于训练样本信息包括参与模型训练的各客户端的样本用户ID的描述可以参数上述示例,此处不再赘述。
其中,为了确保模型训练过程中的安全性和可靠性,在训练样本信息中还包括同态加密的公钥。
S202:客户端在样本用户ID对应的各用户账户历史数据中,确定第一样本数据和第二样本数据,第二样本数据具有待预测样本特征,第一样本数据具有除待预测样本特征之外的其他特征。
其中,关于S202的描述可参见S102,此处不再赘述。
S203:客户端确定第一样本数据对应的加密后的第一预测信息,并确定第二样本数据对应的加密后的第二预测信息。
在一些实施例中,客户端确定第一样本数据对应的加密后的第一预测信息包括:
S2031:客户端获取不包括待预测样本特征的第一用户对应的第一特征值,第一用户与其他用户的第一共有特征值,并获取第一特征值对应的第一特征值权重,第一共有特征值对应的第一共有特征权重。
值得说明地是,模型训练是一个迭代的过程,因此,在第一轮迭代过程中,第一特征值权重和第一共有特征权重为基于需求、经验和试验等进行设定,而在下一轮迭代中,可以基于上一轮迭代的结果对第一特征值权重和第一共有特征权重进行设定。
其中,第一特征值和第一共有特征值是预先存储的,具体生成第一特征值和第一共有特征值的方法可以参见现有技术,此处不再赘述。
S2032:客户端根据公钥、第一特征值、第一共有特征值、第一特征值权重和第一共有特征权重生成加密后的第一预测信息。
其中,第一预测信息包括经过同态加密后的第一用户的预测值和损失值,且同态加密基于公钥实现。
在一些实施例中,客户端确定第二样本数据对应的加密后的第二预测信息包括:
S2033:客户端接收服务器发送的参照预测值。
基于上述示例可知,每个用户的账户历史数据中,均有可能包括待测样本,也有可能不包括待预测样本特征,如果某用户的账户历史数据中,不包括待预测样本特征,则可基于S2031和S2032确定第一预测信息,并将该第一预测信息发送至服务器,服务器收集参与模型训练的所有客户端发送的对不包括待预测样本特征的预测信息(即参照预测值,且参照预测值中包括第一预测信息),服务器将参照预测值发送至参与模型训练的所有客户端;若客户端的某用户的账户历史数据中,包括待预测样本特征,则该客户端在参照预测值的基础上,计算第二预测信息。
S2034:客户端获取包括待预测样本特征的第二用户对应的第二特征值,第二用户与其他用户的第二共有特征值,并获取第二特征值对应的第二特征值权重,第二共有特征值对应的第二共有特征权重,并获取待预测样本特征对应的特征数据。
其中,关于第二特征值、第二共有特征值、第二特征值权重和第二共有特征权重可参见第一用户的相关参数,此处不再赘述。
其中,由于第二用户的账户历史数据中,包括待预测样本特征,则从第二用户的账户历史数据中,获取与待预测样本特征对应的特征数据。
S2035:客户端根据参照预测值、公钥、第二特征值、第二共有特征值、第二特征值权重、第二共有特征权重和特征数据生成第二预测信息。
其中,在该步骤中,第二预测信息包括同态加密后第二用户的预测值和损失值,以及同态加密后的第一用户和第二用户共同的损失值,且同态加密是基于公钥实现。
S204:客户端将加密后的第一预测消息和加密后的第二预测消息发送至服务器。
S205:客户端接收服务器发送的预测结果。
S206:客户端根据预测结果、第一样本数据和第二样本数据,生成信用度预测模型。
为使读者更加透彻地理解本申请实施例的信用度预测模型的训练方法,现结合图4对本申请实施例的方法进行详细阐述。其中,图4为本申请信用度预测模型的训练方法的交互示意图。
如图4所示,该方法包括:
S1:服务器获取参与模型训练的客户端反馈的所有的样本用户ID。
基于上述示例可知,无论是模型训练的创建者,还是模型训练的加入者,均可将各自对应的用户ID发送至服务器。因此,服务器可对参与模型训练的客户端的所有用样本户ID进行收集,并将收集到的所有的样本用户ID分别发送至参与模型训练的客户端。
现以客户端的数量为2进行示范性地描述,则参与模型训练的包括一个第一客户端和一个第二客户端,基于上述示例可知,第一客户端为创建模型训练的客户端,第二客户端为参与模型训练的客户端,且第一客户端包括m个样本用户,第二客户端包括n个样本用户。则在该步骤中,服务器获取m+n个样本用户ID。
S2:服务器将m+n个样本用户ID分别发送给第一客户端和第二客户端,且将同态加密的公钥分别发送至第一客户端和第二客户端。
S3:针对每一个样本用户ID,客户端(由于第一客户端和第二客户端的操作原理相同,因此,此处用客户端代替)判断每一个样本用户ID的用户账户历史数据中,是否包括待预测样本特征,如果不包括,执行S4;如果包括,则执行S9。
为了对包括待预测样本特征的样本数据,与不包括待预测样本特征的样本数据进行区分,将不包括待预测样本特征的样本数据称为第一样本数据,将包括待预测样本特征的样本数据称为第二样本数据。
且为了对包括待预测样本特征的样本数据对应的用户,与不包括待预测样本特征的样本数据对应的用户进行区分,将不包括待预测样本特征的样本数据对应的用户称为第一用户uA,将包括待预测样本特征的样本数据对应的用户称为第二用户uE。
为了便于读者理解,在本申请实施例中,假设针对待预测样本特征,第一用户为第一客户端对应的用户,第二用户为第二客户端对应的用户。
S4:第一客户端获取第一用户uA对应的第一特征值XA,第一用户uA与其他用户的第一共有特征值XAB,并获取第一特征值XA对应的第一特征值权重WA,第一共有特征值对应的第一共有特征权重WAB。
其中,XA和XAB是预先存储的,具体生成方法可参见现有技术,此处不再赘述。
值得说明地是,训练模型是一个迭代的过程,因此,在一个迭代周期时,WA和WAB可以基于经验、需求和试验等进行设定。而在其他的迭代周期时,WA和WAB可以基于上一迭代周期进行设定。如在第二个迭代周期是,WA和WAB可以基于第一个迭代周期的迭代结果进行设定。
S5:第一客户端根据式1和式2生成第一预测信息。其中,第一预测信息包括第一用户的预测值uA和损失值LA。
其中,式1可以为:uA=WAXA+WABXAB/2。
其中,式2可以为:LA=sum用户(uA 2)+lambda*WA 2/2+lambda*WAB 2/4,lambda为预设的精度参数,具体可以基于经验、需求和试验等进行设定。
值得说明地是,在本申请实施例中,仅用第一用户的一个用户共有特征值进行示范性地说明,若第一用户与其他用户的第一用户特征值为与两个用户的共有特征值,则相应地平均参数2替换为3,例如,式1uA=WAXA+WABCXABC/3,以此类推,式2也做适应性地调整,此处不再赘述。
S6:第一客户端根据公钥对uA和LA进行同态加密,生成[[uA]]和[[LA]]。
S7:第一客户端将[[uA]]和[[LA]]发送至服务器。
S8:服务器将[[uA]]发送至第二客户端。
S9:第二客户端获取第二用户uE对应的第二特征值XE,第二用户uE与其他用户的第二共有特征值XEF,并获取第二特征值XE对应的第二特征值权重WE,第二共有特征值XEF对应的第二共有特征权重WEF,并获取待预测样本特征对应的特征数据label。
其中,关于XE、XEF、WE和WEF的描述可参见上述示例,此处不再赘述。
S10:第二客户端根据式3、式4和式5生成第二预测信息。其中,第二预测信息包括第二用户的预测值uE和损失值LE,以及同态加密后的第一用户和第二用户共同的损失值[[LAB]]。
其中,式3可以为:uE=WEXE+WEFXEF/2。
其中,式4可以为:LE=sum用户(uE 2)+lambda*WE 2/2+lambda*WEF 2/4。
其中,式5可以为:[[LEF]]=2*sum用户([[uA]](uE-label))。
S11:第二客户端根据公钥对uE-label和LE进行同态加密,生成[[uE-label]]和[[LE]]。
S12:第二客户端将[[LAB]]、[[uE-label]]和[[LE]]发送至服务器。
S13:服务器将[[uE-label]]和[[uA]]相加,得到[[d]]。
S14:服务器将[[d]]发送至第一客户端和第二客户端。
S15:第一客户端对[[d]]根据式6进行求导计算,生成[[dL]]。
其中,式6可以为:[[dL]]=sum用户([[d]]*(XA+XAB))+[[lambda*WA]]+[[lambda*WAB]]/2。
S16:第一客户端在[[d]]的基础上增加同态加密后的随机项[[R]],生成[[dL]]+[[R]]。
S17:第一客户端将[[dL]]+[[R]]发送至服务器。
S18:服务器对[[dL]]+[[R]]进行解密,生成dL+R。
S19:服务器将dL+R发送至第一客户端和第二客户端。
S20:第一客户端根据预先设置R计算dL。
S21:第一客户端根据式7计算当前的权重W。
其中,式7可以为:W=sum用户(dL*(XA+XAB))/lambda。
其中,当迭代结束时,得到的各样本特征的当前的权重即为训练得到的模型。
在服务器执行S13时,还可执行S22:服务器根据[[LA]]、[[LE]]和[[LAB]]确定是否进行下一轮迭代,若是,则执行S23;若否,则执行S25。
其中,其中,该步骤可以具体包括:服务器计算[[LA]]、[[LE]]和[[LAB]]的和,得到[[L]]。将[[L]]与预设迭代参数进行比较,如果[[L]]小于迭代参数,则执行S23;如果[[L]]大于或等于迭代参数,则执行S25。
S23:服务器向第一客户端和第二客户端发送迭代训练指示。
S24:第一客户端根据W对WA进行更新,并执行S5。
S25:服务器向第一客户端和第二客户端发送结束训练指示,流程结束。
值得说明地是,第二客户端的求导计算,以及当前权重的计算的原理与第一客户端的原理相同,以及接收迭代训练指示后的执行操作的原理与第一客户端的原理相同,因此,本申请实施例没有再对第二客户端的相关操作进行繁琐的介绍,具体实现过程可以参见第一客户端的实现过程,此处不再赘述。
在一些实施例中,参与模型训练的各客户端中的任一客户端均可向服务器发起预测请求,用于预测信用度,例如,第一客户端向服务器发起预测请求,预测请求中携带待预测用户ID,服务器将待预测用户ID发送至参与模型训练的各客户端,参与模型训练的各客户端根据通过上述方法训练得到的信用度预测模型对待预测用户ID的信用度进行预测,得到相应的预测值,参与模型训练的各客户端将各自对应的预测值发送至服务器,服务器根据各预测值生成最终的预测值,并将最终的预测值发送至第一客户端。
根据本公开实施例的另一个方面,本公开实施例还提供了一种信用度预测模型的训练方法。
请参阅图5,图5为本申请又一实施例的信用度预测模型的训练方法的流程示意图。
如图5所示,该方法包括:
S301:服务器向参与模型训练的参与模型训练的各客户端发送训练样本信息,训练样本信息中包括:参与模型训练的各客户端的样本用户标识ID。
其中,服务器接收参与模型训练的各客户端发送的各自对应的样本用户ID,并将所有的样本用户ID发送至参与模型训练的各客户端。
S302:服务器接收参与模型训练的各客户端发送的第一预测信息和第二预测信息。
S303:服务器基于第一预测信息和第二预测信息生成预测结果,其中,预测结果用于表征第一预测信息和第二预测信息的关联信息。
S304:将预测结果发送至参与模型训练的各客户端。
例如,若第一预测信息包括第一预测值,第二预测信息包括第二预测值,则预测结果为第一预测值和第二预测的和。
在一些实施例中,训练样本信息中包括:同态加密的公钥,第一预测信息和第二预测信息均为经公钥加密后的信息。
在一些实施例中,服务器接收参与模型训练的各客户端发送的参照预测值,并将参照预测值发送至参与模型训练的各客户端,其中,参照预测值用于表征具有除待预测样本特征之外的其他特征的预测信息,如第一预测信息。
在一些实施例中,服务器根据第一预测信息和第二预测信息确定是否继续进行模型训练,若是,则生成迭代训练指示,并将迭代训练指示发送至参与模型训练的各客户端。
根据本申请实施例的另一个方面,本申请实施例还提供了一种客户端,该客户端可用于执行如图2和图3所示的方法,并可与服务器完成如图4所示的交互。
请参阅图6,图6为本申请一个实施例的客户端的示意图。
如图6所示,该客户端包括:
第一通信模块11,用于接收服务器发送的训练样本信息,所述训练样本信息中包括:参与模型训练的各客户端的样本用户标识ID;
第一处理模块12,用于在所述样本用户ID对应的各用户账户历史数据中,确定第一样本数据和第二样本数据,所述第二样本数据具有待预测样本特征,所述第一样本数据具有除所述待预测样本特征之外的其他特征;
所述第一处理模块12还用于,确定所述第一样本数据对应的第一预测信息,并确定所述第二样本数据对应的第二预测信息;
所述第一通信模块11还用于,将所述第一预测信息和所述第二预测信息发送至所述服务器;
所述第一通信模块11还用于,接收服务器发送的预测结果;
生成模块13,用于根据所述预测结果、所述第一样本数据和所述第二样本数据,生成信用度预测模型。
结合图7可知,所述样本训练信息中还包括:同态加密的公钥;所述客户端还包括:
加密模块14,用于根据所述公钥对所述第一预测消息和所述第二预测消息分别进行加密;
以及,所述第一通信模块11具体用于,所述客户端将加密后的第一预测消息和加密后的第二预测消息发送至所述服务器。
在一些实施例中,所述第一处理模块具体用于,获取不包括所述待预测样本特征的第一用户对应的第一特征值,所述第一用户与其他用户的第一共有特征值,并获取所述第一特征值对应的第一特征值权重,所述第一共有特征值对应的第一共有特征权重;根据所述公钥、所述第一特征值、所述第一共有特征值、所述第一特征值权重和所述第一共有特征权重生成所述第一预测信息。
在一些实施例中,所述第一预测信息包括同态加密后所述第一用户的预测值和损失值。
在一些实施例中,所述第一处理模块12还具体用于,接收所述服务器发送的参照预测值;获取包括所述待预测样本特征的第二用户对应的第二特征值,所述第二用户与其他用户的第二共有特征值,并获取所述第二特征值对应的第二特征值权重,所述第二共有特征值对应的第二共有特征权重,并获取所述待预测样本特征对应的特征数据;根据所述参照预测值、所述公钥、所述第二特征值、所述第二共有特征值、所述第二特征值权重、所述第二共有特征权重和所述特征数据生成所述第二预测信息。
在一些实施例中,所述第二预测信息包括同态加密后的所述第二用户的预测值和损失值,以及同态加密后的所述第一用户和所述第二用户共同的损失值。
结合图7可知,在一些实施例中,所述客户端还包括:
所述第一通信模块11还用于,接收所述服务器发送的迭代训练指示;
更新模块15,用于根据所述第一预测信息和第二预测信息确定迭代时,所述第一特征权重、所述第一共有特征权重、所述第二特征权重和所述第二共有特征权重的更新值。
根据本申请实施例的另一个方面,本申请实施例还提供了一种服务器,该服务器可用于执行如图5所示的方法,并可与客户端完成如图4所示的交互。
请参阅图8,图8为本申请实施例的服务器的示意图。
如图8所示,服务器包括:
第二通信模块21,用于向参与模型训练的各客户端发送训练样本信息,所述训练样本信息中包括:所述参与模型训练的各客户端的样本用户标识ID;
所述第二通信模块21还用于,接收所述参与模型训练的各客户端发送的第一预测信息和第二预测信息;
第二处理模块22,用于基于所述第一预测信息和所述第二预测信息生成预测结果;
所述第二通信模块21还用于,将所述预测结果发送至所述参与模型训练的各客户端,其中,所述预测结果用于表征所述第一预测信息和所述第二预测信息的关联信息。
在一些实施例中,所述样本训练信息中还包括:同态加密的公钥,所述第一预测信息和所述第二预测信息均为经所述公钥加密后的信息。
在一些实施例中,所述第二通信模块21还用于,接收所述参与模型训练的各客户端发送的参照预测值,并将所述参照预测值发送至所述参与模型训练的各客户端,其中,所述参照预测值用于表征具有除待预测样本特征之外的其他特征的预测信息。
根据本申请实施例的另一个方面,本申请实施例还提供了一种信用度预测模型的训练***,该***包括如上述实施例所述的客户端,还包括上述实施例所述的服务器。也就是说,该***包括如图6或7所示的客户端,还包括如图8所示的服务器。
根据本公开实施例的另一个方面,本公开实施例还提供了一种电子设备,包括:存储器,处理器;
存储器用于存储处理器可执行指令的存储器;
其中,当执行存储器中的指令时,处理器被配置为实现如上任一实施例所述的方法。
例如,处理器被配置为实现如图2和图3所示的方法,或者,处理器被配置为实现如图5所示的方法。
请参阅图9,图9为本公开实施例的电子设备的结构示意图。
如图9所示,该电子设备包括存储器和处理器,该电子设备还可以包括通信接口和总线,其中,处理器、通信接口和存储器通过总线连接;处理器用于执行存储器中存储的可执行模块,例如计算机程序。
其中,存储器可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。
其中,存储器用于存储程序,处理器在接收到执行指令后,执行程序,前述本公开实施例任一实施例揭示的方法可以应用于处理器中,或者由处理器实现。
处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
根据本公开实施例的另一个方面,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上任一实施例所述的方法。
例如,所述计算机执行指令被处理器执行时用于实现如图2和图3所示的方法,或者,所述计算机执行指令被处理器执行时用于实现如图5所示的方法。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本公开实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
还应理解,在本公开各实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
以上,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。