首页> 中国专利> 预测方法、纵向联邦学习和横向联邦学习的模型训练方法

预测方法、纵向联邦学习和横向联邦学习的模型训练方法

摘要

本发明涉及金融科技技术领域,公开了一种样本的预测方法、纵向联邦学习和横向联邦学习的模型训练方法。预测方法包括:获取用户的样本对应的目标特征向量,并将所述目标特征向量输入预测模型,其中,所述预测模型是采用多个Guest端的第一样本以及多个Host端的第二样本经纵向联邦学习方法以及横向联邦学习方法训练得到;获取所述预测模型输出的数值,并根据所述数值确定所述用户的预测结果。本发明用户风险预测准确性较高。

著录项

  • 公开/公告号CN112633409A

    专利类型发明专利

  • 公开/公告日2021-04-09

    原文格式PDF

  • 申请/专利权人 深圳前海微众银行股份有限公司;

    申请/专利号CN202011644819.3

  • 申请日2020-12-31

  • 分类号G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);G06F21/60(20130101);

  • 代理机构44287 深圳市世纪恒程知识产权代理事务所;

  • 代理人张志江

  • 地址 518000 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)

  • 入库时间 2023-06-19 10:32:14

说明书

技术领域

本发明涉及金融科技(Fintech)技术领域,尤其涉及一种预测方法、纵向联邦学习和横向联邦学习的模型训练方法。

背景技术

随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。

用户数据分布在不同的机构中,形成数据孤岛。而联邦学习是解决数据孤岛的很好的方法。目前根据数据分布情况的不同,有两种常见的联邦建模方式,一种是双方有大量的交集用户,而特征是不同的,此时可以通过纵向联邦建模,增加可利用的特征。另一种场景是双方有大量重合的特征,而用户id不相同,可以通过横向联邦建模,增加可用的样本数。金融风控领域中,可以通过联邦学习建立的模型进行用户风险的预测。

在现实情况中,常常有多个机构想要互相联合,而其中部分机构之间适用于纵向联邦,部分机构适用于横向联邦。

以银行和互联网公司联邦建模为例,可能有多家银行与一家互联网公司联合建模的情况。多家银行的Guest端(Guest端为具有样本标签的终端)之间的特征和标签信息高度一致,但是银行Guest端内样本的特征数过少,采用银行Guest端的数据与互联网公司的Host端(Host端为不具有样本标签的终端)的数据直接进行横向联合建模的效果不佳,导致建立的模型预测用户风险准确性较低。而银行中数据的标签都是分类好的,如好用户/坏用户,银行本身可用的特征包括征信数据,存款和交易数据等,若采用不同银行的数据进行纵向联邦建模,建立后的模型由于缺少表征用户行为习惯的互联网数据的支持,会使得模型预测用户风险准确性较低。由此可知,现有技术中,存在用户风险预测准确性较低的问题。

发明内容

本发明的主要目的在于提供一种预测方法、纵向联邦学习和横向联邦学习的模型训练方法,旨在解决存在用户风险预测准确性较低的问题。

第一方面,本发明提供一种预测方法,所述预测方法包括:

获取用户的样本对应的目标特征向量,并将所述目标特征向量输入预测模型,其中,所述预测模型是采用多个Guest端的第一样本以及多个Host端的第二样本经纵向联邦学习方法以及横向联邦学习方法训练得到;

获取所述预测模型输出的数值,并根据所述数值确定所述用户的预测结果。

第二方面,本发明还提供一种纵向联邦学习和横向联邦学习的模型训练方法,应用于Guest端,所述纵向联邦学习和横向联邦学习的模型训练方法包括:

Guest端接收Host端发送的各个第一参数以及所述第一参数对应的标识,并根据所述标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数,其中,所述第一参数根据所述Host端内的第一样本的第一特征向量以及所述第一特征向量对应的权重确定,所述标识为所述第一参数对应的第一样本的标识;

基于相同所述标识的所述第一参数以及所述第二参数确定第三参数,并根据各个所述第三参数、所述第三参数对应的所述第二特征向量以及所述第三参数对应的标签值确定第一梯度,以完成纵向联邦学习;

根据所述第一梯度确定中间参数,并将所述中间参数发送至所述Host端,以使所述Host端根据所述中间参数以及各个所述第一特征向量确定所述Host端的第二梯度;

根据所述第一梯度以及所述第二样本的第一数量确定第一发送信息,并将所述第一发送信息发送至第三方终端,其中,所述三方终端根据各个所述Guest端发送的所述第一梯度、所述第一数量、各个所述Host发送的第二梯度以及所述第一样本的第二数量,确定所述Guest端对应的第一模型参数,以完成横向联邦学习;

接收所述第三方终端反馈的第一模型参数,并根据所述第一模型参数更新第一模型的参数,且根据各个所述第二样本对更新参数的第一模型进行训练得到第一预测模型。

第三方面,本发明提供一种纵向联邦学习和横向联邦学习的模型训练方法,应用于Host端,所述纵向联邦学习和横向联邦学习的模型训练方法包括:

在所述Host端内的各个样本中确定各个第一样本,并确定每个所述第一样本对应的第一特征向量以及所述第一特征向量对应的权重;

根据所述第一特征向量以及所述第一特征向量对应的权重确定第一参数,并将各个所述第一参数以及所述第一参数对应的第一样本的标识发送至Guest端;

接收所述Guest端反馈的中间参数,并根据所述中间参数以及各个所述第一特征向量确定第二梯度,以完成纵向联邦学习;

根据所述第二梯度以及所述第一样本的第二数量生成第二发送信息,并将所述第二发送信息发送至第三方终端,其中,所述第三方终端根据各个所述Guest端发送的第一发送信息以及各个所述Host端发送的第二发送信息确定第二参数模型,以完成横向联邦学习;

接收所述第三终端反馈的第二模型参数,并根据所述第二模型参数更新第二模型的参数,且根据各个所述第一样本对更新参数后的第二模型进行训练得到第二预测模型。

第三方面,本发明提供一种纵向联邦学习和横向联邦学习的模型训练方法,应用于第三方终端,所述纵向联邦学习和横向联邦学习的模型训练方法包括:

获取各个Guest端发送的第一发送信息以及各个Host端发送的第二发送信息,并根据所述第一发送信息获取第一梯度和第二样本的第一数量,且根据所述第二发送信息获取第二梯度和第一样本的第二数量;

根据所述第一梯度、所述第一数量、所述第二梯度以及所述第二数量确定待确定模型参数;

根据所述待处理模型参数以及所述Guest端对应的所述第一数量生成所述Guest端对应的第一模型参数,且根据待处理模型参数以及所述Host端对应的第二数量生成所述Host端对应的第二模型参数;

将所述第一模型参数发送至所述第一模型参数对应的Guest端,且将所述第二模型参数发送至所述第二模型参数对应的Host端。

第五方面,本发明提供一种预测终端,所述预测终端包括:

第一获取模块,用于获取用户的样本对应的目标特征向量,并将所述目标特征向量输入预测模型,其中,所述预测模型是采用多个Guest端的第一样本以及多个Host端的第二样本经纵向联邦学习方法以及横向联邦学习方法训练得到;

所述第一获取模块,还用于获取所述预测模型输出的数值,并根据所述数值确定所述用户的预测结果。

第六方面,本发明提供一种Guest端,所述Guest端包括:

第一接收模块,用于接收Host端发送的各个第一参数以及所述第一参数对应的标识,并根据所述标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数,其中,所述第一参数根据所述Host端内的第一样本的第一特征向量以及所述第一特征向量对应的权重确定,所述标识为所述第一参数对应的第一样本的标识;

第一确定模块,用于基于相同所述标识的所述第一参数以及所述第二参数确定第三参数,并根据各个所述第三参数、所述第三参数对应的所述第二特征向量以及所述第三参数对应的标签值确定第一梯度,以完成纵向联邦学习;

所述第一确定模块,还用于根据所述第一梯度确定中间参数,并将所述中间参数发送至所述Host端,以使所述Host端根据所述中间参数以及各个所述第一特征向量确定所述Host端的第二梯度;

第一发送模块,用于根据所述第一梯度以及所述第二样本的第一数量确定第一发送信息,并将所述第一发送信息发送至第三方终端,其中,所述三方终端根据各个所述Guest端发送的所述第一梯度、所述第一数量、各个所述Host发送的第二梯度以及所述第一样本的第二数量,确定所述Guest端对应的第一模型参数,以完成横向联邦学习;

所述第一接收模块,还用于接收所述第三方终端反馈的第一模型参数,并根据所述第一模型参数更新第一模型的参数,且根据各个所述第二样本对更新参数的第一模型进行训练得到第一预测模型。

第七方面,本发明提供一种Host端,所述Host端包括:

第二确定模块,用于在所述Host端内的各个样本中确定各个第一样本,并确定每个所述第一样本对应的第一特征向量以及所述第一特征向量对应的权重;

所述第二确定模块,用于根据所述第一特征向量以及所述第一特征向量对应的权重确定第一参数,并将各个所述第一参数以及所述第一参数对应的第一样本的标识发送至Guest端;

第二接收模块,用于接收所述Guest端反馈的中间参数,并根据所述中间参数以及各个所述第一特征向量确定第二梯度,以完成纵向联邦学习;

第二发送模块,用于根据所述第二梯度以及所述第一样本的第二数量生成第二发送信息,并将所述第二发送信息发送至第三方终端,其中,所述第三方终端根据各个所述Guest端发送的第一发送信息以及各个所述Host端发送的第二发送信息确定第二参数模型,以完成横向联邦学习;

所述第二接收模块,还用于接收所述第三终端反馈的第二模型参数,并根据所述第二模型参数更新第二模型的参数,且根据各个所述第一样本对更新参数后的第二模型进行训练得到第二预测模型。

第八方面,本发明提供一种第三方终端,所述第三方终端包括:

第二获取模块,用于获取各个Guest端发送的第一发送信息以及各个Host端发送的第二发送信息,并根据所述第一发送信息获取第一梯度和第二样本的第一数量,且根据所述第二发送信息获取第二梯度和第一样本的第二数量;

第三确定模块,用于根据所述第一梯度、所述第一数量、所述第二梯度以及所述第二数量确定待确定模型参数;

生成模块,用于根据所述待处理模型参数以及所述Guest端对应的所述第一数量生成所述Guest端对应的第一模型参数,且根据待处理模型参数以及所述Host端对应的第二数量生成所述Host端对应的第二模型参数;

第三发送模块,用于将所述第一模型参数发送至所述第一模型参数对应的Guest端,且将所述第二模型参数发送至所述第二模型参数对应的Host端。

第九方面,本发明提供一种电子设备,所述电子设备包括存储器、处理器以及存储在所述存储器并可在所述处理器上执行的指令或者程序,所述指令或者程序被所述处理器执行时实现如上所述的预测方法的步骤或如上所述的纵向联邦学习和横向联邦学习的模型训练方法的步骤。

第十方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质包括程序或指令,所述指令或者程序被所述处理器执行时实现如上所述的预测方法的步骤或如上所述的纵向联邦学习和横向联邦学习的模型训练方法的步骤。

第十一方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的预测方法的步骤或如上所述的纵向联邦学习和横向联邦学习的模型训练方法的步骤。

本发明提供一种预测方法、纵向联邦学习和横向联邦学习的模型训练方法,预测终端通过在纵向联邦学习以及横向联邦学习的场景下,采用Guest端的第一样本以及Host端的第二样本训练得到预测模型,预测终端获取样本对应的特征向量,并将特征向量输入至预测模型得到模型输出的数值,从而根据数值确定用户的预测结果。本发明中预测模型在纵向联邦学习以及横向学习下采用多个Guest端的样本以及多个Host端的样本训练得到,而采用多个Guest端的样本使得训练模型的样本的特征数不会过少,且结合Guest端的样本以及多个Host端的样本对模型进行训练使得预测模型输出的预测结果得到用户行为习惯数据支持,提高了预测模型输出的预测结果的准确性,用户风险预测准确性较高。

附图说明

图1为本发明实施例提供的预测方法的流程图;

图2为本发明实施提供的纵向联邦学习和横向联邦学习的模型训练方法的一流程图;

图3为本发明实施提供的纵向联邦学习和横向联邦学习的模型训练方法的另一流程图;

图4为本发明实施提供的纵向联邦学习和横向联邦学习的模型训练方法的再一流程图;

图5为本发明实施例提供的纵向联邦学习和横向联邦学习的模型训练方法涉及的终端交互示意图;

图6为本发明实施例提供的预测终端的结构图;

图7为本发明实施例提供的Guest端的结构图;

图8为本发明实施例提供的Host端的结构图;

图9为本发明实施例提供的第三方终端的结构图;

图10为本发明实施例提供的一种电子设备的硬件结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1为本发明提供的预测方法的流程图,所述预测方法包括:

步骤101,获取用户的样本对应的目标特征向量,并将所述目标特征向量输入预测模型,其中,所述预测模型是采用多个Guest端的第一样本以及多个Host端的第二样本经纵向联邦学习方法以及横向联邦学习方法训练得到;

在本实施例中,执行主体为预测终端。预测终端可以是Guest端或者Host端。Guest端指的是具有样本以及样本对应的标签的一方,而Host端指的是仅具有样本但不具备样本的标签的一方。Guest端可以是金融机构的终端,例如,Guest端为银行的终端。Host端可以是除金融机构之外的其他类型公司的终端,例如,Host端为互联网公司的终端。

预测终端中设有预测模型。若是预测终端为Guest端,则预测模型为第一预测模型;若预测终端为Host端,则预测模型为第二预测模型。预测终端通过在纵向联邦学习以及横向联邦学习的场景下,采用多个Guest端的第一样本以及多个Host端的第二样本训练得到预测模型。用作训练训练Guest端为多个,因此,用于训练模型的样本的特征数并不会过少。特征数指的是样本的特征属性的数量。例如,特征属性为身高、年龄、性别、收入,特征属性的数量为四个,则样本的特征数为四个。而Host端的第二样本可以用于表征用户的行为习惯,因此,预测模型对于用户进行预测得到预测结果得到了用户的行为习惯数据的支持,使得预测结果准确性较高。预测模型的预测类型可以根据需求进行训练,例如,银行想要预测用户是否会逾期还贷,则训练出可以用于预测用户是否逾期还贷的预测模型。

在需要进行预测时,获取用户的样本,并获取样本对应的目标特征向量。特征向量指的是样本的一个特征,特征的数值采用特征向量进行表征。例如,用户的收入为一个特征,则收入采用目标特征向量进行表征。用户的样本对应多个目标特征向量。预测终端将目标特征向量输入至预测模型中。

步骤102,获取所述预测模型输出的数值,并根据所述数值确定所述用户的预测结果。

预测模型中设有不同特征向量对应的权重w,且预测模型中设有sigmoid函数。预测模型得到目标特征向量x后,基于sigmoid函数、w、x得到sigmoid(w*x),sigmoid(w*x)映射到区间(0,1),也即sigmoid(w*x)对应的数值是处于(0,1)内的数值。预测终端获取预测模型输出的数值,预测终端设置有预设阈值,预设阈值大于0且小于1。预测终端确定数值是否大于预设阈值,若是数值大于预设阈值,则将数值取值为1,表明预测结果是坏结果,例如,若预测用户还贷是否逾期,数值取值为1,则得到的预测结果为用户还贷逾期。若数值小于预设阈值,则数值取值为0,表明预测结果是好结果,例如,若预测用户还贷是否逾期,数值取值为0,则预测结果为用户还贷未逾期。

在本实施例提供的技术方案中,预测终端通过在纵向联邦学习以及横向联邦学习的场景下,采用Guest端的第一样本以及Host端的第二样本训练得到预测模型,预测终端获取样本对应的特征向量,并将特征向量输入至预测模型得到模型输出的数值,从而根据数值确定用户的预测结果。本发明中预测模型在纵向联邦学习以及横向学习下采用多个Guest端的样本以及多个Host端的样本训练得到,而采用多个Guest端的样本使得训练模型的样本的特征数不会过少,且结合Guest端的样本以及多个Host端的样本对模型进行训练使得预测模型输出的预测结果得到用户行为习惯数据支持,提高了预测模型输出的预测结果的准确性,用户风险预测准确性较高。

参照图2,图2为本发明纵向联邦学习和横向联邦学习的模型训练方法的一流程图,应用于Guest端,所述方法包括:

步骤201,Guest端接收Host端发送的各个第一参数以及所述第一参数对应的标识,并根据所述标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数,其中,所述第一参数根据所述Host端内的第一样本的第一特征向量以及所述第一特征向量对应的权重确定,所述标识为所述第一参数对应的第一样本的标识;

在本实施例中,有若干个Guest端和若干个Host端参与预测模型的训练。Guest端的数量和Host端的数量相同,一个Guest端和对应一个Host端进行组合先进行纵向联邦学习。例如,有三个Guest端以及3个Host端,则有三个组合,一个组合由一个Guest端和一个Host端构成,三个组合同时进行联邦纵向学习。

各个Guest端各自持有相同特征与相同含义的标签的数据样本;各个Host端各自持有相同特征的数据样本。

在进行纵向联邦学习时,组合中的Host端在数据样本中选择多个第一样本,并提取第一样本对应的第一特征向量Xh,且每个第一样本具有对应的标识,标识可以即为id;组合中的Guest端在数据样本选择多个第二样本,并提取第二样本对应的第二特征向量Xg,且每个第二样本具有对应的标识,标识可以即为id,同时,每个第二样本对应有标签值y,标签值y可以为-1或者1。

样本对应多个特征,例如,特征可以是年龄、性别以及身高,也即一个样本可以提取出多个特征,每个特征采用特征向量进行表征。特征设置有对应的权重,也即特征向量对应设置有权重。Host端在提取第一样本对应的第一特征向量后,根据第一特征向量Xh与第一特征向量对应的权重Wh得到第一参数,也即将Xh与Wh得到第一参数WXh。Host确定第一特征向量对应的第一样本的标识,将标识与第一参数进行关联,例如,第一样本的序号为1,标识即为定义为N1,则将第一参数WXh与N1进行关联。Host端可以计算得到多个第一参数,再将各个第一参数以及第一参数关联的标识发送至Guest端。

Guest端也设置有特征向量对应的权重。Guest端在自身的数据样本中选择多个第二样本,并提取每个第二样本对应的第二特征向量Wg,第二样本对应多个第二特征向量Wg。Guest端根据第二特征向量Xg与第二特征向量对应的权重Wg得到第二参数,也即将Xg与Wg得到第二参数WXg。Guest在计算第二参数的过程中,可以接收到Host端发送的各个第一参数以及第一参数关联的标识。

步骤202,基于相同所述标识的所述第一参数以及所述第二参数确定第三参数,并根据各个所述第三参数、所述第三参数对应的所述第二特征向量以及所述第三参数对应的标签值确定第一梯度,以完成纵向联邦学习;

第二参数由第二样本对应的第二特征向量确定,第二样本对应的标识即可视为第二参数对应的标识。Guest端从接收的标识中确定相同标识的第一参数以及第二参数,从而根据第一参数以及第二参数得到第三参数。例如,第一参数为WXh1,与第一参数标识相同的第二参数为WXg1,则第三参数WX1=WXh1+WXg1。Guest端即可确定多个第三参数。

Guest端根据各个第三参数、第三参数对应的第二特征向量以及第三参数对应的标签值确定第一梯度。Guest端得到第一梯度即可视为完成一次纵向联邦学习。具体的,计算第一梯度具有对应的第一预设映射关系,Guest端通过第一预设映射关系、各个第三参数、每个第三参数对应的第二特征向量以及每个第三参数对应的标签值计算得到第一梯度。

步骤203,根据所述第一梯度确定中间参数,并将所述中间参数发送至所述Host端,以使所述Host端根据所述中间参数以及各个所述第一特征向量确定所述Host端的第二梯度;

在计算第一梯度的过程中,Guest端会先计算出中间参数,中间参数通过各个第三参数对应的标签值计算得到,Guest端在通过中间参数计算得到第一梯度。对此,Guest端会根据第一梯度确定中间参数,Guest端再将中间参数发送至Host端,使得Host端根据中间参数以及各个所述第一特征向量确定Host端的第二梯度,也即使得不具备标签的Host端也能够计算得到自身的模型的第二梯度。

步骤204,根据所述第一梯度以及所述第二样本的第一数量确定第一发送信息,并将所述第一发送信息发送至第三方终端,其中,所述三方终端根据各个所述Guest端发送的所述第一梯度、所述第一数量、各个所述Host发送的第二梯度以及所述第一样本的第二数量,确定所述Guest端对应的第一模型参数,以完成横向联邦学习;

组合内的Host端以及Guest端完成纵向联邦学习后,需要整合所有组合的梯度进行横向联邦学习。Host端将基于的第二梯度以及第一样本的第二数量生成第二发送信息,并将第一发送信息发送至第三方终端;且Guest端基于计算得到的第一梯度以及第二样本的第一数量生成第二发送信息,并将第二发送信息发送至第三方终端。第三方终端可以是任一一个Guest端或者服务端。

第三方终端解析第一发送信息以及第二发送信息,从而得到每个Guest端的第一梯度以及第一数量,且得到每个Host端的第二梯度以及第二数量。第三方终端在根据各个第一数量、各个第一梯度、各个第二梯度以及各个第二数量计算待处理模型参数。具体的,求取各个第一数量以及各个第二数量的数量和,并求取各个第一梯度与各个第二梯度之间的第一和,第一和与数量和的比值即为待处理模型参数。每个Guest端以及每个Host端向第三方终端发送的发送信息时,发送信息中携带有自身的设备标识,第三方终端基于设备标识、设备标识关联的数量以及待处理模型参数确定设备标识对应的终端的模型参数。例如,某个Host端采用10个第一样本计算梯度,则该Host端的模型参数为10倍待处理模型参数。

Host端或者Guest端的模型参数可以参照如下公式:

需要说明的是,Guest端中可能有多个第一梯度,例如,第二样本有身高、体重、年龄等三个特征,则Guest端计算得到三个梯度,Guest端基于各个第一梯度确定第一组合特征向量,并采用第一加密算法对第一组合特征向量进行加密得到[W

第三方终端得到每个Guest端对应的第一模型参数后,将第一模型参数发送至第一模型参数对应的Guest端。且第三方终端得到每个Host端对应的第二模型参数后,将第二模型参数发送至第二模型参数对应的Host端。第三方终端向Host端以及Guest端反馈模型参数,即可视为完成一次横向联邦学习。

步骤205,接收所述第三方终端反馈的第一模型参数,并根据所述第一模型参数更新第一模型的参数,且根据各个所述第二样本对更新参数的第一模型进行训练得到第一预测模型。

Guest端在接收到第一模型参数后,对第一模型参数进行解密,从而基于解密的第一模型参数更新第一模型的参数,再采用各个第二样本对更新参数的第一模型进行训练得到第一预测模型。同理,Host端在接收到第二模型参数后,对第二模型参数进行解密,从而基于解密的第二模型参数更新第二模型的参数,再采用第一样本对更新参数的第二模型进行训练得到第二预测模型。

需要说明的是,第三方终端在得到待处理模型参数后,需要确定Guest端以及Host端是否满足迭代条件。若是Guest端以及Host端满足迭代条件时,第三方终端反馈模型参数的同时会反馈继续迭代信息,也即Guest端接收到的第一模型参数携带有继续迭代信息,此时,Guest端需要继续迭代得到第一梯度,Guest端在Guest端内的各个样本中重新确定第二样本,并根据第一模型参数设置重新确定的第二样本对应的第二特征向量的权重,再返回执行根据标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数的步骤,从而再次计算得到第一梯度。而在当第三方终端确定Guest端以及Host端不满足迭代条件时,则第三方终端仅反馈模型参数,也即Guest端接收到的第一模型参数未携带有继续迭代信息,则根据各个第二样本进行更新参数的第一模型的训练得到第一预测模型。

同理,若是Guest端以及Host端满足迭代条件时,第三方终端反馈模型参数的同时会反馈继续迭代信息,也即Host端接收到的第二模型参数携带有继续迭代信息,此时,Host端需要继续迭代得到第二梯度,Host端在Host端内的各个样本中重新确定第一样本,并根据第二模型参数设置重新确定的第一样本对应的第一特征向量的权重,再返回执行确定第一参数的步骤,从而再次计算得到第二梯度。而在当第三方终端确定Guest端以及Host端不满足迭代条件时,则第三方终端仅反馈模型参数,也即Host端接收到的第二模型参数未携带有继续迭代信息,则根据各个第一样本进行更新参数的第二模型的训练得到第二预测模型。

需要说明的是,迭代条件包括:Guest端以及Host端的迭代次数小于预设次数,其中,Guest端以及Host端同步迭代;上一次确定的待确定模型参数与当前确定的待确定模型参数之间的变化量大于预设变化量。而权重的更新可以当前梯度减去第三方终端反馈的模型参数中的梯度,例如,Guest端中样本对有的特征向量的权重为W

此外,Guest端重新选择的第二样本的数量可以是任意数量,且Host端重新选择的第一样本的数量可以是任意数量。

在得到第一预测模型后,Guest端可以对用户进行风险预测。具体的,Guest端获取需要预测的第一用户的样本,再从样本中提取第三特征向量,且将第三特征向量输入至第一预测模型。Guest端获取第一预测模型输出第一数值,Guest端再根据第一数值即可确定第一用户的预测结果。预测结果、第一数值等具体说明参照上述说明,在此不再进行赘述。

在本实施例提供的技术方案中,组合中Guest端以及Host端通过数据的交互完成纵向联邦学习得到模型所需的梯度,组合中Guest端以及Host端再将各自的梯度以及计算梯度所参与的样本的数量发送至第三方终端,从而使得第三方终端基于各个组合的梯度、样本的数量进行横向联邦学习,以将横向联邦学习得到的模型参数反馈至模型参数所对应的终端,使得Guest端以及Host端基于反馈的模型参数进行模型的参数更新,再采用样本对参数更新的模型进行训练得到预测模型,也即结合横向联邦学习以及纵向联邦学习得到预测结果准确性高的预测模型。

在一实施例中,步骤201中的根据所述标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数包括:

确定所述标识对应的第二样本的第二特征向量;

根据所述第二特征向量以及所述第二特征向量对应的权重确定第一待处理参数;

采用第一加密算法对所述第一待处理参数进行加密得到第二参数,其中,所述第一参数采用的第二加密算法与所述第一加密算法为同态加密算法。

本实施例中,Guest端中第二样本具有标识,接收到的第一参数携带标识。Guest端基于接收的标识确定第二样本的第二特征向量,再将第二特征向量以及第二特征向量对应的权重进行相乘得到第一待处理参数WXg1,Guest端再采用第一加密算法对第一待处理进行加密得到第二参数[WXg1]。

需要说明的是,Host端通过第一特征向量以及第一特征向量得到第二待处理参数WXh1后,采用第二加密算法对第二待处理参数WXh1得到第一参数[WXh1]。也即Host端向Guest端发送的第一参数是加密的。第一加密算法以及第二加密算法是同态加密算法,且为加法同态。第三参数=[WXg1]+[WXh1],从而使得第三参数具有完整的密文,进而可以根据完整的密文,也即Guest可以采用加密的第一参数以及第二参数得到加密的第三参数,避免Host端的数据泄密。

在本实施例提供的技术方案中,Guest端确定标识对应的第二样本的第二特征向量,并根据第二特征向量以及第二特征向量对应的权重确定第一待处理参数,且采用第一加密算法对第一待处理参数进行加密得到第二参数,使得第二参数与Host发送的加密的第一参数在加密状态下进行计算得到第三参数,在避免Host端的数据泄密的前提下,使得Guest端真实准确的得到了第三参数,进而准确的更新模型的参数,也即在保证数据安全的前提下,提高了第一预测模型的预测准确性。

在一实施例中,步骤202中根据各个所述第三参数、所述第三参数对应的所述第二特征向量以及所述第三参数对应的标签值确定第一梯度的步骤包括:

确定所述第三参数对应的第二样本;

将所述第三参数对应的第二样本的标签值确定为所述第三参数对应的标签值;

根据所述第三参数、所述第三参数对应以及标签值,确定所述第三参数对应的第四参数,且将第三参数对应的第二样本的第二特征向量确定为所述第四参数对应的第二特征向量;

根据所述第三参数的第三数量以及各个所述第四参数确定第五参数,并根据所述第五参数与各个所述第四参数对应的第二特征向量确定第一梯度。

在本实施例中,Guest端具有第一梯度的计算公式。计算公式可为:gradient=(1/N)*∑(0.5*ywx-1)*0.5yx=(1/N)*∑(0.25*wx-0.5*y)*x,其中,gradient为梯度,y为标签值,wx为第三参数,N为第三参数的第三数量。N还可以为第二样本的数量。gradient=(1/N)*∑(0.5*ywx-1)*0.5yx=(1/N)*∑(0.25*wx-0.5*y)*x可以变换为:gradient=∑[[d]]x,其中,[[d]]为第五参数,[[d]]=(1/N)*∑(0.5*ywx-1)*0.5y,x为第二特征向量。

具体的,Guest端确定第三参数对应的第二样本,第二样本即为参与第三参数计算的样本。每个第二样本具有对应的标签值y,Guest端将第三参数对应的第二样本的标签值确定为第三参数对应的标签值。Guest端再根据第三参数、第三参数对应标签值,确定第三参数对应的第四参数。第四参数即为(0.5*ywx-1)*0.5y。Guest端再基于第三参数的第三数量以及各个第四特征向量确定第五参数,第五参数即为[[d]]=(1/N)*∑(0.5*ywx-1)*0.5y。最后Guest端基于第五参数与各个第四参数对应的第二特征向量计算得到第一梯度,也即第一梯度gradient=∑[[d]]x。

Host端没有标签值y,而[[d]]是将所有标签值y涵盖在内,Guest端可以将第五参数作为中间参数发送给Host端,使得Host端在没有标签值y的情况下可以通过中间参数以及第一特征向量计算得到第二梯度,也即采用Host端采用gradient=∑[[d]]x计算得到第二梯度。可以理解的是,Guest端根据第一梯度获取第五参数,并将第五参数确定为中间参数。

第一梯度的计算公式可以表征为第一预设映射关系,也即Guest端根据各个第三参数、第三参数对应的第二特征向量、第三参数对应的标签值以及第一预设映射关系确定第一梯度。而第一预设映射关系根据逻辑回归算法确定。以下详细说明如何根据逻辑回归算法得到梯度的计算公式。

逻辑回归算法具有对应的逻辑回归公式,逻辑回归公式为:

相对的,对于结果预测为0的概率公式为:1-hθ(x)。

最终统一的概率函数为:P(y|x;θ)=(h

对P(y|x;θ)=(h

其中,最后一项αW为高阶无穷小,因而可以忽略。由此可以推导得到梯度公式为:gradient=(1/N)*∑(0.5*ywx-1)*0.5yx=(1/N)*∑(0.25*wx-0.5*y)*x。

进一步的,去掉αW后,将上述梯度的计算公式拆分为d和x两部分,由此推导得到中间参数[[d]]=(1/N)*∑(0.5*ywx-1)*0.5y。

在本实施例提供的技术方案中,Guest端基于第三参数、第三参数对应的第二特征向量以及标签值确定第三参数对应的第四参数,进而根据第三参数的第三数量、以及各个第四参数确定第五参数,最后根据第五参数以及各个第四参数对应的第二特征向量确定第一梯度,且将第五参数确定为中间参数,使得Guest端以及Host端准确的确定各自的梯度。

参照图3,图3为本发明纵向联邦学习和横向联邦学习的模型训练方法的另一流程图,应用于Host端,所述方法包括:

步骤301,在所述Host端内的各个样本中确定各个第一样本,并确定每个所述第一样本对应的第一特征向量以及所述第一特征向量对应的权重;

在本实施例中,有若干个Guest端和若干个Host端参与预测模型的训练。Guest端的数量和Host端的数量相同,一个Guest端和对应一个Host端进行组合先进行纵向联邦学习。例如,有三个Guest端以及3个Host端,则有三个组合,一个组合由一个Guest端和一个Host端构成,三个组合同时进行联邦纵向学习。

各个Guest端各自持有相同特征与相同含义的标签的数据样本;各个Host端各自持有相同特征的数据样本。

在进行纵向联邦学习时,组合中的Host端在数据样本中选择多个第一样本,并提取第一样本对应的第一特征向量Xh,且每个第一样本具有对应的标识,标识可以即为id;组合中的Guest端在数据样本选择多个第二样本,并提取第二样本对应的第二特征向量Xg,且每个第二样本具有对应的标识,标识可以即为id,同时,每个第二样本对应有标签值y,标签值y可以为-1或者1。

步骤302,根据所述第一特征向量以及所述第一特征向量对应的权重确定第一参数,并将各个所述第一参数以及所述第一参数对应的第一样本的标识发送至Guest端;

样本对应多个特征,例如,特征可以是年龄、性别以及身高,也即一个样本可以提取出多个特征,每个特征采用特征向量进行表征。特征设置有对应的权重,也即特征向量对应设置有权重。Host端在提取第一样本对应的第一特征向量后,根据第一特征向量Xh与第一特征向量对应的权重Wh得到第一参数,也即将Xh与Wh得到第一参数WXh。Host确定第一特征向量对应的第一样本的标识,将标识与第一参数进行关联,例如,第一样本的序号为1,标识即为定义为N1,则将第一参数WXh与N1进行关联。Host端可以计算得到多个第一参数,再将各个第一参数以及第一参数关联的标识发送至Guest端。

Guest端也设置有特征向量对应的权重。Guest端在自身的数据样本中选择多个第二样本,并提取每个第二样本对应的第二特征向量Wg,第二样本对应多个第二特征向量Wg。Guest端根据第二特征向量Xg与第二特征向量对应的权重Wg得到第二参数,也即将Xg与Wg得到第二参数WXg。Guest在计算第二参数的过程中,可以接收到Host端发送的各个第一参数以及第一参数关联的标识。

步骤303,接收所述Guest端反馈的中间参数,并根据所述中间参数以及各个所述第一特征向量确定第二梯度,以完成纵向联邦学习;

第二参数由第二样本对应的第二特征向量确定,第二样本对应的标识即可视为第二参数对应的标识。Guest端从接收的标识中确定相同标识的第一参数以及第二参数,从而根据第一参数以及第二参数得到第三参数。例如,第一参数为WXh1,与第一参数标识相同的第二参数为WXg1,则第三参数WX1=WXh1+WXg1。Guest端即可确定多个第三参数。

Guest端根据各个第三参数、第三参数对应的第二特征向量以及第三参数对应的标签值确定第一梯度。Guest端得到第一梯度即可视为完成一次纵向联邦学习。具体的,计算第一梯度具有对应的第一预设映射关系,Guest端通过第一预设映射关系、各个第三参数、每个第三参数对应的第二特征向量以及每个第三参数对应的标签值计算得到第一梯度。

在计算第一梯度的过程中,Guest端会先计算出中间参数,中间参数通过各个第三参数对应的标签值计算得到,Guest端在通过中间参数计算得到第一梯度。对此,Guest端会根据第一梯度确定中间参数,Guest端再将中间参数发送至Host端,使得Host端根据中间参数以及各个所述第一特征向量确定Host端的第二梯度,也即使得不具备标签的Host端也能够计算得到自身的模型的第二梯度。

步骤304,根据所述第二梯度以及所述第一样本的第二数量生成第二发送信息,并将所述第二发送信息发送至第三方终端,其中,所述第三方终端根据各个所述Guest端发送的第一发送信息以及各个所述Host端发送的第二发送信息确定第二参数模型,以完成横向联邦学习;

组合内的Host端以及Guest端完成纵向联邦学习后,需要整合所有组合的梯度进行横向联邦学习。Host端将基于的第二梯度以及第一样本的第二数量生成第二发送信息,并将第一发送信息发送至第三方终端;且Guest端基于计算得到的第一梯度以及第二样本的第一数量生成第二发送信息,并将第二发送信息发送至第三方终端。第三方终端可以是任一一个Guest端或者服务端。

第三方终端解析第一发送信息以及第二发送信息,从而得到每个Guest端的第一梯度以及第一数量,且得到每个Host端的第二梯度以及第二数量。第三方终端在根据各个第一数量、各个第一梯度、各个第二梯度以及各个第二数量计算待处理模型参数。具体的,求取各个第一数量以及各个第二数量的数量和,并求取各个第一梯度与各个第二梯度之间的第一和,第一和与数量和的比值即为待处理模型参数。每个Guest端以及每个Host端向第三方终端发送的发送信息时,发送信息中携带有自身的设备标识,第三方终端基于设备标识、设备标识关联的数量以及待处理模型参数确定设备标识对应的终端的模型参数。例如,某个Host端采用10个第一样本计算梯度,则该Host端的模型参数为10倍待处理模型参数。

Host端或者Guest端的模型参数可以参照如下公式:

需要说明的是,Guest端中可能有多个第一梯度,例如,第二样本有身高、体重、年龄等三个特征,则Guest端计算得到三个梯度,Guest端基于各个第一梯度确定第一组合特征向量,并采用第一加密算法对第一组合特征向量进行加密得到[W

第三方终端得到每个Guest端对应的第一模型参数后,将第一模型参数发送至第一模型参数对应的Guest端。且第三方终端得到每个Host端对应的第二模型参数后,将第二模型参数发送至第二模型参数对应的Host端。第三方终端向Host端以及Guest端反馈模型参数,即可视为完成一次横向联邦学习。

步骤305,接收所述第三终端反馈的第二模型参数,并根据所述第二模型参数更新第二模型的参数,且根据各个所述第一样本对更新参数后的第二模型进行训练得到第二预测模型。

Host端在接收到第二模型参数后,对第二模型参数进行解密,从而基于解密的第二模型参数更新第二模型的参数,再采用第一样本对更新参数的第二模型进行训练得到第二预测模型。同理,Guest端在接收到第一模型参数后,对第一模型参数进行解密,从而基于解密的第一模型参数更新第一模型的参数,再采用各个第二样本对更新参数的第一模型进行训练得到第一预测模型。

需要说明的是,第三方终端在得到待处理模型参数后,需要确定Guest端以及Host端是否满足迭代条件。若是Guest端以及Host端满足迭代条件时,第三方终端反馈模型参数的同时会反馈继续迭代信息,也即Guest端接收到的第一模型参数携带有继续迭代信息,此时,Guest端需要继续迭代得到第一梯度,Guest端在Guest端内的各个样本中重新确定第二样本,并根据第一模型参数设置重新确定的第二样本对应的第二特征向量的权重,再返回执行根据标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数的步骤,从而再次计算得到第一梯度。而在当第三方终端确定Guest端以及Host端不满足迭代条件时,则第三方终端仅反馈模型参数,也即Guest端接收到的第一模型参数未携带有继续迭代信息,则根据各个第二样本进行更新参数的第一模型的训练得到第一预测模型。

同理,若是Guest端以及Host端满足迭代条件时,第三方终端反馈模型参数的同时会反馈继续迭代信息,也即Host端接收到的第二模型参数携带有继续迭代信息,此时,Host端需要继续迭代得到第二梯度,Host端在Host端内的各个样本中重新确定第一样本,并根据第二模型参数设置重新确定的第一样本对应的第一特征向量的权重,再返回执行确定第一参数的步骤,从而再次计算得到第二梯度。而在当第三方终端确定Guest端以及Host端不满足迭代条件时,则第三方终端仅反馈模型参数,也即Host端接收到的第二模型参数未携带有继续迭代信息,则根据各个第一样本进行更新参数的第二模型的训练得到第二预测模型。

需要说明的是,迭代条件包括:Guest端以及Host端的迭代次数小于预设次数,其中,Guest端以及Host端同步迭代;上一次确定的待确定模型参数与当前确定的待确定模型参数之间的变化量大于预设变化量。而权重的更新可以当前梯度减去第三方终端反馈的模型参数中的梯度,例如,Guest端中样本对有的特征向量的权重为W

此外,Guest端重新选择的第二样本的数量可以是任意数量,且Host端重新选择的第一样本的数量可以是任意数量。

在得到第二预测模型后,Host端可以对用户进行风险预测。具体的,Host端获取需要预测的第二用户的样本,再从样本中提取第四特征向量,且将第四特征向量输入至第二预测模型。Host端获取第二预测模型输出第二数值,Host端再根据第二数值即可确定第二用户的预测结果。预测结果、第二数值等具体说明参照上述说明,在此不再进行赘述。

在本实施例提供的技术方案中,组合中Guest端以及Host端通过数据的交互完成纵向联邦学习得到模型所需的梯度,组合中Guest端以及Host端再将各自的梯度以及计算梯度所参与的样本的数量发送至第三方终端,从而使得第三方终端基于各个组合的梯度、样本的数量进行横向联邦学习,以将横向联邦学习得到的模型参数反馈至模型参数所对应的终端,使得Guest端以及Host端基于反馈的模型参数进行模型的参数更新,再采用样本对参数更新的模型进行训练得到预测模型,也即结合横向联邦学习以及纵向联邦学习得到预测结果准确性高的预测模型。

在一实施例中,步骤302中根据所述第一特征向量以及所述第一特征向量对应的权重确定第一参数包括:

根据所述第一特征向量以及所述第一特征向量对应的权重确定第二待处理参数;

采用第二加密方法对所述第二待处理参数进行加密得到第一参数,其中,所述第二参数采用的第一加密算法与所述第一加密算法为同态加密算法,所述第二参数用于确定所述中间参数。

Guest端中第二样本具有标识,接收到的第一参数携带标识。Guest端基于接收的标识确定第二样本的第二特征向量,再将第二特征向量以及第二特征向量对应的权重进行相乘得到第一待处理参数WXg1,Guest端再采用第一加密算法对第一待处理进行加密得到第二参数[WXg1]。

Host端通过第一特征向量以及第一特征向量得到第二待处理参数WXh1后,采用第二加密算法对第二待处理参数WXh1得到第一参数[WXh1]。也即Host端向Guest端发送的第一参数是加密的。第一加密算法以及第二加密算法是同态加密算法,且为加法同态。第三参数=[WXg1]+[WXh1],从而使得第三参数具有完整的密文,进而可以根据完整的密文,也即Guest可以采用加密的第一参数以及第二参数得到加密的第三参数,避免Host端的数据泄密。

在本实施例提供的技术方案中,第一参数与第二参数所采用的加密算法为同态加密算法,在避免Host端的数据泄密的前提下,使得Guest端真实准确的得到了第三参数,进而准确的更新模型的参数,也即在保证数据安全的前提下,提高了第一预测模型的预测准确性。

在一实施例中,第二梯度的计算公式可以表征为第二预设映射关系,也所述Host端根据所述第一样本的第二数量、所述中间参数、各个所述第一特征向量确定第二梯度以及第二预设映射关系确定第一梯度,所述第二预设映射关系根据逻辑回归算法确定。

具体的,逻辑回归算法具有对应的逻辑回归公式,逻辑回归公式为:

相对的,对于结果预测为0的概率公式为:1-hθ(x)。

最终统一的概率函数为:P(y|x;θ)=(h

对P(y|x;θ)=(h

其中,最后一项αW为高阶无穷小,因而可以忽略。由此可以推导得到梯度公式为:gradient=(1/N)*∑(0.5*ywx-1)*0.5yx=(1/N)*∑(0.25*wx-0.5*y)*x。

进一步的,去掉αW后,将上述梯度的计算公式拆分为d和x两部分,由此推导得到中间参数[[d]]=(1/N)*∑(0.5*ywx-1)*0.5y。

参照图4,图4为本发明纵向联邦学习和横向联邦学习的模型训练方法的再一流程图,应用于第三方终端,所述方法包括:

步骤401,获取各个Guest端发送的第一发送信息以及各个Host端发送的第二发送信息,并根据所述第一发送信息获取第一梯度和第二样本的第一数量,且根据所述第二发送信息获取第二梯度和第一样本的第二数量;

步骤402,根据所述第一梯度、所述第一数量、所述第二梯度以及所述第二数量确定待确定模型参数;

步骤403,根据所述待处理模型参数以及所述Guest端对应的所述第一数量生成所述Guest端对应的第一模型参数,且根据待处理模型参数以及所述Host端对应的第二数量生成所述Host端对应的第二模型参数;

步骤404,将所述第一模型参数发送至所述第一模型参数对应的Guest端,且将所述第二模型参数发送至所述第二模型参数对应的Host端。

组合内的Host端以及Guest端完成纵向联邦学习后,需要整合所有组合的梯度进行横向联邦学习。Host端将基于的第二梯度以及第一样本的第二数量生成第二发送信息,并将第一发送信息发送至第三方终端;且Guest端基于计算得到的第一梯度以及第二样本的第一数量生成第二发送信息,并将第二发送信息发送至第三方终端。第三方终端可以是任一一个Guest端或者服务端。

第三方终端解析第一发送信息以及第二发送信息,从而得到每个Guest端的第一梯度以及第一数量,且得到每个Host端的第二梯度以及第二数量。第三方终端在根据各个第一数量、各个第一梯度、各个第二梯度以及各个第二数量计算待处理模型参数。具体的,求取各个第一数量以及各个第二数量的数量和,并求取各个第一梯度与各个第二梯度之间的第一和,第一和与数量和的比值即为待处理模型参数。每个Guest端以及每个Host端向第三方终端发送的发送信息时,发送信息中携带有自身的设备标识,第三方终端基于设备标识、设备标识关联的数量以及待处理模型参数确定设备标识对应的终端的模型参数。例如,某个Host端采用10个第一样本计算梯度,则该Host端的模型参数为10倍待处理模型参数。

Host端或者Guest端的模型参数可以参照如下公式:

需要说明的是,Guest端中可能有多个第一梯度,例如,第二样本有身高、体重、年龄等三个特征,则Guest端计算得到三个梯度,Guest端基于各个第一梯度确定第一组合特征向量,并采用第一加密算法对第一组合特征向量进行加密得到[W

第三方终端得到每个Guest端对应的第一模型参数后,将第一模型参数发送至第一模型参数对应的Guest端。且第三方终端得到每个Host端对应的第二模型参数后,将第二模型参数发送至第二模型参数对应的Host端。第三方终端向Host端以及Guest端反馈模型参数,即可视为完成一次横向联邦学习。

第三方终端在得到待处理模型参数后,需要确定Guest端以及Host端是否满足迭代条件。若是Guest端以及Host端满足迭代条件时,第三方终端反馈模型参数的同时会反馈继续迭代信息,也即Guest端接收到的第一模型参数携带有继续迭代信息,此时,Guest端需要继续迭代得到第一梯度,Guest端在Guest端内的各个样本中重新确定第二样本,并根据第一模型参数设置重新确定的第二样本对应的第二特征向量的权重,再返回执行根据标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数的步骤,从而再次计算得到第一梯度。而在当第三方终端确定Guest端以及Host端不满足迭代条件时,则第三方终端仅反馈模型参数,也即Guest端接收到的第一模型参数未携带有继续迭代信息,则根据各个第二样本进行更新参数的第一模型的训练得到第一预测模型。

同理,若是Guest端以及Host端满足迭代条件时,第三方终端反馈模型参数的同时会反馈继续迭代信息,也即Host端接收到的第二模型参数携带有继续迭代信息,此时,Host端需要继续迭代得到第二梯度,Host端在Host端内的各个样本中重新确定第一样本,并根据第二模型参数设置重新确定的第一样本对应的第一特征向量的权重,再返回执行确定第一参数的步骤,从而再次计算得到第二梯度。而在当第三方终端确定Guest端以及Host端不满足迭代条件时,则第三方终端仅反馈模型参数,也即Host端接收到的第二模型参数未携带有继续迭代信息,则根据各个第一样本进行更新参数的第二模型的训练得到第二预测模型。

组合中Guest端以及Host端通过数据的交互完成纵向联邦学习得到模型所需的梯度,组合中Guest端以及Host端再将各自的梯度以及计算梯度所参与的样本的数量发送至第三方终端,从而使得第三方终端基于各个组合的梯度、样本的数量进行横向联邦学习,以将横向联邦学习得到的模型参数反馈至模型参数所对应的终端,使得Guest端以及Host端基于反馈的模型参数进行模型的参数更新,再采用样本对参数更新的模型进行训练得到预测模型,也即结合横向联邦学习以及纵向联邦学习得到预测结果准确性高的预测模型。

基于上述实施例,以2个Guest端以及2个Host端为例,对本发明提供的纵向联邦学习和横向联邦学习的模型训练方法涉及的终端的交互进行简要的说明。参见图5,包括:

S1a、Host1计算第一样本的第一特征向量x

S2a、Guest1计算第二样本的第二特征向量x

S3a、Guest1将相同标识的[WX

S4a、Guest1将[[d]]发送至Host1;

S5a、Guest1将[Wk]以及第二样本的数量n

S6a、Host1根据[[d]]以及各个第一特征向量x

S7a、Host1将[Wk]以及第二样本的数量n

S1b、Host2计算第一样本的第一特征向量x

S2b、Guest2计算第二样本的第二特征向量x

S3b、Guest2将相同标识的[WX

S4b、Guest2将[[d]]发送至Host2;

S5b、Guest2将[Wk]以及第二样本的数量n

S6b、Host1根据[[d]]以及各个第一特征向量x

S7b、Host2将[Wk]以及第二样本的数量n

步骤1a-步骤7a,与步骤1b-步骤7b为同时进行。

S8、第三方终端根据Host1、Host2、Guest1以及Guest2发送的[Wk]以及n

S9、在Host以及Guest不满足迭代条件,第三方终端将

S10、Host1根据

S11、在Host以及Guest不满足迭代条件,第三方终端将

S12、Guest1根据

S13、在Host以及Guest不满足迭代条件,第三方终端将

S14、Host2根据

S15、在Host以及Guest不满足迭代条件,第三方终端将

S16、Guest2根据

本发明实施例还提供一种预测终端。参见图6,图6为本发明实施例提供的预测终端的结构图。由于预测终端解决问题的原理与本发明实施例中纵向联邦学习和横向联邦学习的模型训练方法相似,因此预测终端的实施以及达到的技术效果,可以参考上述说明,重复之处不在赘述。

如图6所示,预测终端600包括:

第一获取模块601,用于获取用户的样本对应的目标特征向量,并将所述目标特征向量输入预测模型,其中,所述预测模型是采用多个Guest端的第一样本以及多个Host端的第二样本经纵向联邦学习方法以及横向联邦学习方法训练得到;

所述第一获取模块601,还用于获取所述预测模型输出的数值,并根据所述数值确定所述用户的预测结果。

本发明实施例还提供一种Guest端。参见图7,图7为本发明实施例提供的Guest端的结构图。由于Guest端解决问题的原理与本发明实施例中纵向联邦学习和横向联邦学习的模型训练方法相似,因此Guest端的实施以及达到的技术效果,可以参考上述说明,重复之处不在赘述。

如图7所示,Guest端700包括:

第一接收模块701,用于接收Host端发送的各个第一参数以及所述第一参数对应的标识,并根据所述标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数,其中,所述第一参数根据所述Host端内的第一样本的第一特征向量以及所述第一特征向量对应的权重确定,所述标识为所述第一参数对应的第一样本的标识;

第一确定模块702,用于基于相同所述标识的所述第一参数以及所述第二参数确定第三参数,并根据各个所述第三参数、所述第三参数对应的所述第二特征向量以及所述第三参数对应的标签值确定第一梯度,以完成纵向联邦学习;

所述第一确定模块701,还用于根据所述第一梯度确定中间参数,并将所述中间参数发送至所述Host端,以使所述Host端根据所述中间参数以及各个所述第一特征向量确定所述Host端的第二梯度;

第一发送模块703,用于根据所述第一梯度以及所述第二样本的第一数量确定第一发送信息,并将所述第一发送信息发送至第三方终端,其中,所述三方终端根据各个所述Guest端发送的所述第一梯度、所述第一数量、各个所述Host发送的第二梯度以及所述第一样本的第二数量,确定所述Guest端对应的第一模型参数,以完成横向联邦学习;

所述第一接收模块702,还用于接收所述第三方终端反馈的第一模型参数,并根据所述第一模型参数更新第一模型的参数,且根据各个所述第二样本对更新参数的第一模型进行训练得到第一预测模型。

在一实施例中,预测终端700包括:

第一确定模块702,用于确定所述标识对应的第二样本的第二特征向量;

根据所述第二特征向量以及所述第二特征向量对应的权重确定第一待处理参数;

加密模块,用于采用第一加密算法对所述第一待处理参数进行加密得到第二参数,其中,所述第一参数采用的第二加密算法与所述第一加密算法为同态加密算法。

在一实施例中,预测终端700包括:

第一确定模块702,用于确定所述第三参数对应的第二样本;

第一确定模块702,用于将所述第三参数对应的第二样本的标签值确定为所述第三参数对应的标签值;

第一确定模块702,用于根据所述第三参数、所述第三参数对应的第二特征向量以及标签值,确定所述第三参数对应的第四参数;

第一确定模块702,用于根据所述第三参数的第三数量以及各个所述第四参数确定第五参数,并根据所述第五参数与各个所述第四参数对应的第二特征向量确定第一梯度。

在一实施例中,预测终端700包括:

获取模块,用于根据所述第一梯度获取所述第五参数;

第一确定模块702,用于将所述第五参数确定为中间参数。

在一实施例中,预测终端700包括:

第一确定模块702,用于确定所述第一模型参数是否携带继续迭代信息;

执行模块,用于在所述第一模型参数未携带继续迭代信息时,执行所述根据各个所述第二样本对更新参数的第一模型进行训练得到第一预测模型的步骤;

第一确定模块702,用于在所述第一模型参数携带继续迭代信息时,在所述Guest端内的各个样本中重新确定第二样本,并根据所述第一模型参数设置重新确定的第二样本对应的第二特征向量的权重,其中,所述第三方终端在确定所述Guest端以及所述Host端满足迭代条件时,向各个所述Guest端以及所述Host端发送继续迭代信息;

执行模块,用于在接收Host端发送的各个第一参数以及所述第一参数对应的标识时,返回执行所述根据所述标识对应的第二样本的第二特征向量以及所述第二特征向量的对应的权重确定第二参数的步骤。

在一实施例中,预测终端700包括:

获取模块,用于获取第一用户的样本所对应的第三特征向量,并将所述第三特征向量输入所述第一预测模型;

获取模块,用于获取所述第一预测模型输出的第一数值,并根据所述第一数值确定所述第一用户的预测结果。

在一实施例中,预测终端700包括:

第一确定模块702,用于根据各个所述第一梯度确定第一组合特征向量,并采用第一加密算法加密所述第一组合特征向量;

生成模块,用于根据加密的所述第一组合特征向量以及所述第二样本的第一数量生成第一发送信息。

本发明实施例还提供一种Host端。参见图8,图8为本发明实施例提供的Host端的结构图。由于Host端解决问题的原理与本发明实施例中纵向联邦学习和横向联邦学习的模型训练方法相似,因此Host端的实施以及达到的技术效果,可以参考上述说明,重复之处不在赘述。

如图8所示,Host端800包括:

第二确定模块801,用于在所述Host端内的各个样本中确定各个第一样本,并确定每个所述第一样本对应的第一特征向量以及所述第一特征向量对应的权重;

所述第二确定模块801,用于根据所述第一特征向量以及所述第一特征向量对应的权重确定第一参数,并将各个所述第一参数以及所述第一参数对应的第一样本的标识发送至Guest端;

第二接收模块802,用于接收所述Guest端反馈的中间参数,并根据所述中间参数以及各个所述第一特征向量确定第二梯度,以完成纵向联邦学习;

第二发送模块803,用于根据所述第二梯度以及所述第一样本的第二数量生成第二发送信息,并将所述第二发送信息发送至第三方终端,其中,所述第三方终端根据各个所述Guest端发送的第一发送信息以及各个所述Host端发送的第二发送信息确定第二参数模型,以完成横向联邦学习;

所述第二接收模块802,还用于接收所述第三终端反馈的第二模型参数,并根据所述第二模型参数更新第二模型的参数,且根据各个所述第一样本对更新参数后的第二模型进行训练得到第二预测模型。

在一实施例中,Host端800包括:

所述第二确定模块801,用于根据所述第一特征向量以及所述第一特征向量对应的权重确定第二待处理参数;

加密模块,用于采用第二加密方法对所述第二待处理参数进行加密得到第一参数,其中,所述第二参数采用的第一加密算法与所述第一加密算法为同态加密算法,所述第二参数用于确定所述中间参数。

在一实施例中,Host端800包括:

所述第二确定模块801,用于确定所述第二模型参数是否携带继续迭代信息;

执行模块,用于在所述第二模型参数未携带继续迭代信息时,执行所述根据各个所述第一样本对更新参数后的第二模型进行训练得到第二预测模型的步骤;

所述第二确定模块801,用于在所述第二模型参数携带继续迭代信息时,在所述Host端内各个样本中重新确定第一样本,并根据所述第二模型参数设置重新确定的第一样本对应的第一特征向量的权重,其中,所述第三方终端在确定所述Guest端以及所述Host端满足迭代条件时,向各个所述Guest端以及所述Host端发送继续迭代信息;

执行模块,用于返回执行所述根据所述第一特征向量以及所述第一特征向量对应的权重确定第一参数的步骤。

在一实施例中,Host端800包括:

获取模块,用于获取第二用户的样本所对应的第四特征向量,并将所述第三特征向量输入所述第二预测模型;

获取模块,用于获取所述第二预测模型输出的第二数值,并根据所述第二数值确定所述第二用户的预测结果。

在一实施例中,Host端800包括:

所述第二确定模块801,用于根据各个所述第二梯度确定第二组合特征向量,并采用第二加密算法加密所述第一组合特征向量;

生成模块,用于根据加密的所述第二组合特征向量以及所述第一样本的第二数量生成第二发送信息。

本发明实施例还提供一种第三方终端。参见图9,图9为本发明实施例提供的Host端的结构图。由于第三方终端解决问题的原理与本发明实施例中纵向联邦学习和横向联邦学习的模型训练方法相似,因此第三方终端的实施以及达到的技术效果,可以参考上述说明,重复之处不在赘述。

如图9所示,第三方终端900包括:

第二获取模块901,用于获取各个Guest端发送的第一发送信息以及各个Host端发送的第二发送信息,并根据所述第一发送信息获取第一梯度和第二样本的第一数量,且根据所述第二发送信息获取第二梯度和第一样本的第二数量;

第三确定模块902,用于根据所述第一梯度、所述第一数量、所述第二梯度以及所述第二数量确定待确定模型参数;

生成模块903,用于根据所述待处理模型参数以及所述Guest端对应的所述第一数量生成所述Guest端对应的第一模型参数,且根据待处理模型参数以及所述Host端对应的第二数量生成所述Host端对应的第二模型参数;

第三发送模块904,用于将所述第一模型参数发送至所述第一模型参数对应的Guest端,且将所述第二模型参数发送至所述第二模型参数对应的Host端。

在一实施例中,第三方终端900包括:

第三确定模块902,用于确定所述Guest端以及所述Host端是否满足迭代条件;

第三发送模块904,用于在所述Guest端以及所述Host端满足迭代条件,将所述第一模型参数以及继续迭代信息发送至所述第一模型参数对应的Guest端,且将所述第二模型参数以及继续迭代信息发送至所述第二模型参数对应的Host端。

在一实施例中,第三方终端900包括:

第三确定模块902,用于确定各个第一组合特征向量以及各个第二组合特征向量之间的向量和,其中,所述第一发送信息包括所述第一组合特征向量,所述第一组合特征向量根据Guest端的各个第一梯度确定,所述第二发送信息包括所述第二组合特征向量,所述第二组合特征向量根据Host端的各个第二梯度确定;

第三确定模块902,用于确定各个所述第一数量以及各个所述第二数量之间的数量和;

第三确定模块902,用于根据所述向量和以及所述数量和确定待确定模型参数。

在一实施例中,如图10所示,本发明实施例还提供一种电子设备1000,包括处理器1001,存储器1002,存储在存储器1002上并可在所述处理器1001上运行的程序或指令,该程序或指令被处理器1001执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图1至图4任一方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现被处理器执行时实现上述图1至图4任一方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号