一种建模方法、装置、电子设备和可读介质与流程

文档序号:25217623发布日期:2021-05-28 14:16阅读:75来源:国知局
一种建模方法、装置、电子设备和可读介质与流程

本申请涉及模型构建技术领域,尤其涉及一种建模方法、装置、电子设备和可读介质。



背景技术:

随着机器学习的发展,越来越多的机器学习技术被应用于各行各业,数据的数量和质量往往决定了机器学习模型效果的上限。但是随着人们对于数据安全和隐私保护越来越重视,形成数据孤岛现象,在这样的场景下,联邦学习应运而生,它可以让参与方在不共享数据的基础上联合训练,解决数据孤岛的难题。

在联邦学习的模型构建过程中,在节点分裂时,业务方和数据提供方需要同步样本空间和最优分裂特征等信息,即各参与方之间通信信息包含主键信息、特征编号、模型梯度信息等敏感内容,为了提高数据安全性,需要对传输的数据进行加密,这样就提高了模型构建的复杂度。



技术实现要素:

本申请实施例的目的在于提供一种建模方法、装置、电子设备和可读介质,以解决模型构建复杂度高的问题。具体技术方案如下:

第一方面,提供了一种建模方法,所述方法包括:

将初始化种群的信息和协同器发送的目标标识输入生成器中,得到所述生成器输出的当前种群的信息,其中,所述当前种群中包括多个样本个体,每个所述样本个体为包含第一数据方提供的第一数据的一个人工智能模型;

将所述当前种群的信息和第二数据方提供的第二数据发送至所述协同器,得到所述协同器构建的多个第一模型,并确定所述第一模型的样本个体的适应度值,所述适应度值用于指示所述第一模型的样本个体的有效概率;

在所述第一模型不满足预设停止条件的情况下,根据所述适应度值确定目标个体的目标标识;

将所述目标标识反馈至所述生成器,直至所述第一模型满足预设停止条件,则停止所述反馈操作并将得到的第一模型作为第二模型。

可选地,所述初始化种群中包括多个初始化个体,每个所述初始化个体具有对应的标识,所述得到所述生成器输出的当前种群的信息包括:

从所述多个初始化个体中选取出标识为所述目标标识的有效个体;

将多个所述有效个体利用遗传操作算子进行处理;

将所述第一数据输入进行遗传处理后的每个所述有效个体中,得到多个样本个体,并利用所述多个样本个体构成所述当前种群;

将所述当前种群的信息从所述生成器中输出。

可选地,所述得到所述协同器构建的多个第一模型包括:将所述第二数据输入每个所述样本个体中,得到多个第一模型,其中,每个所述第一模型指示含有所述第一数据和所述第二数据的一个中间个体;

所述确定所述第一模型的样本个体的适应度值包括:确定所述中间个体的适应度值。

可选地,所述目标个体包括第一个体和第二个体,所述根据所述适应度值确定目标个体的目标标识包括:

采用遗传算法确定所述多个中间个体中是否存在第一个体,其中,所述第一个体为具有有效概率大于预设概率阈值的个体,所述遗传算法中运用到所述适应度值;

在确定所述多个中间个体中存在第一个体的情况下,确定所述第一个体的标识为所述目标标识;

在确定所述多个中间个体中不存在第一个体的情况下,选取适应度值高于预设阈值的中间个体作为所述第二个体,并确定所述第二个体的标识为所述目标标识。

可选地,所述选取适应度值高于预设阈值的中间个体作为所述第二个体包括:

将每个所述中间个体的适应度值按照由大到小的顺序进行排序;

选取排序位置位于预设位置之前的中间个体作为所述第二个体,其中,所述预设位置是根据所述预设阈值确定的。

可选地,将协同器发送的目标标识输入生成器之前,所述方法还包括:

在所述协同器为首次发送目标标识的情况下,确定所述目标标识为所述初始化种群中全部初始化个体的标识;

在所述协同器为非首次发送目标标识的情况下,确定所述目标标识为所述第一个体的标识或所述第二个体的标识。

可选地,所述生成器的数量为多个,将初始化种群的信息和协同器发送的目标标识输入生成器之后,所述方法还包括:

若确定所述协同器在预设时长内没有接收到目标生成器发送的当前种群的信息,则确定所述目标生成器出现故障;

控制所述协同器停止与所述目标生成器之间的信息交互,并保持与所述多个生成器中非故障的生成器之间的信息交互。

可选地,将初始化种群的信息和协同器发送的目标标识输入生成器之前,所述方法还包括:

接收所述第二数据方提供的推理请求,其中,所述推理请求中携带有样本主键,所述样本主键用于指示所述第一数据方需要提供的第一数据的标识;

将所述样本主键发送至所述第一数据方,以使所述第一数据方根据所述样本主键从多个数据中选取出所述第一数据。

可选地,所述将多个所述有效个体利用遗传操作算子进行处理包括:

通过对每个所述有效个体进行编码,生成多个编码体,其中,每个所述编码体对应一个有效个体;

根据第一有效个体的第一编码体和第二有效个体的第二编码体生成一个交叉概率;

在所述交叉概率不大于预设交叉阈值的情况下,交换所述第一有效个体的位置信息和所述第二有效个体的位置信息。

第二方面,提供了一种基于联邦学习的建模装置,所述装置包括:

输入模块,用于将初始化种群的信息和协同器发送的目标标识输入生成器中,得到所述生成器输出的当前种群的信息,其中,所述当前种群中包括多个样本个体,每个所述样本个体为包含第一数据方提供的第一数据的一个人工智能模型;

发送模块,用于将所述当前种群的信息和第二数据方提供的第二数据发送至所述协同器,得到所述协同器构建的多个第一模型,并确定所述第一模型的所述样本个体的适应度值,其中,所述适应度值用于指示所述第一模型的样本个体的有效概率;

确定模块,用于在所述第一模型不满足预设停止条件的情况下,根据所述适应度值确定目标个体的目标标识,其中,所述目标个体为被选取的有效个体;

反馈模块,用于将所述目标标识反馈至所述生成器,直至所述第一模型满足预设停止条件,则停止所述反馈操作并将得到的第一模型作为第二模型。

第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现任一所述的一种基于联邦学习的建模的方法步骤。

第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述的一种基于联邦学习的建模的方法步骤。

本申请实施例有益效果:

本申请在构建第二模型的过程中,将第一数据融合在样本个体中,将第二数据融合在第一模型中,由于每个个体是一个人工智能模型,第二模型构建的过程中实质暴露的是人工智能模型参数和种群信息,因此也无需对第一数据和第二数据进行加密,降低了模型构建的复杂度。

当然,实施本申请的任一产品或方法并不一定需要同时达到以上的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中进行模型训练的示意图;

图2为本申请实施例提供的一种建模的方法流程图;

图3为本申请实施例提供的生成器的工作过程示意图;

图4为本申请实施例提供的协同器的工作过程示意图;

图5为本申请实施例提供的一种建模方法的框架示意图;

图6为本申请实施例提供的一种建模装置的结构示意图;

图7为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

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

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。

现有技术中,联邦学习是一种加密的分布式机器学习技术,它融合了信息加密、分布式计算和机器学习等多种技术。联邦学习根据参与方持有数据的特点可以被分为横向联邦学习、纵向联邦学习以及联邦迁移学习。在风控场景下,纵向联邦学习的应用更为广泛,其中比较成熟的是由xgboost(extremegradientboosting,一套提升树可扩展的机器学习系统)演化而来的secureboost算法。

在一般的多方合作建模场景中,一方具有标签信息,并且可能会提供样本特征,我们称为业务方;另一方无标签信息,仅提供样本特征,我们称为数据提供方。业务方与数据提供方合作,希望通过数据提供方的数据来构建效果更好的模型,提升业务价值。

业务方和数据提供方的secureboost联邦模型训练的过程如图1所示,包括如下步骤:

1.基于加密样本对齐技术将各参与方的样本在样本空间内进行对齐,确认各参与方交叉样本空间的同时,不向其他参与方暴露非交叉样本空间的样本。

2.拥有标签的业务方利用自身标签及上一棵树的预测结果计算出每个样本的一阶导数gn和二阶导数hn,得到(g1,h1),…,(gn,hn),使用满足加法同态的同态加密方法得到(<g1>,<h1>),…,(<gn>,<hn>)发送给数据方。其中<hn>表示hn经过同态加密后的密文。

3.数据方按照分箱方法对自己拥有的特征分箱,然后对应计算每一箱中样本的梯度求和信息再返回业务方。其中il为节点分裂后的左侧分裂空间,i代表样本,∈il表示属于il空间的样本。

4.接收到数据方的结果后业务方进行解密,并根据下面的公式计算得到secureboost中的信息增益lsplit,如下式:

其中λ为正则项系数,γ为加入分裂后引入的复杂度代价。

5.选择最大增益:对比每个特征阈值的lsplit,选择其中最大的lsplit值,得到最大分裂增益的特征及阈值,如果对应的特征是数据方的则同步给数据方,利用数据方返回的特征对样本空间进行切分;如果是业务方的特征被选中则直接进行分裂。

6.在下个节点分裂时,业务方需同步样本空间给数据提供方,重复步骤3~5,直至达到模型停止迭代的条件,完成整个模型训练。

由以上的训练过程可知,在节点分裂时,业务方和数据方需要同步样本空间和最优分裂特征等,以致于数据提供方能够获得最优分裂的信息,并且能够获取整体的模型结构,以致于通过整体的模型结构反推出业务方标签信息,即secureboost存在着泄露模型信息和标签的风险。

为了解决上述问题,本申请实施例提供了一种建模方法,可以应用于服务器,用于基于联邦学习建立确定第二模型。

下面将结合具体实施方式,对本申请实施例提供的一种建模方法进行详细的说明,如图2所示,具体步骤如下:

步骤201:将初始化种群的信息和协同器发送的目标标识输入生成器中,得到生成器输出的当前种群的信息。

其中,当前种群中包括多个样本个体,每个样本个体为包含第一数据方提供的第一数据的一个人工智能模型。

在本申请实施例中,包括多个生成器和一个协同器,生成器位于第一数据方(host方或数据提供方),负责生成和更新种群,协同器位于第二数据方(guest方或业务方),负责种群筛选。第一数据方提供的第一数据和第二数据方提供的第二数据均为样本对齐后的数据。

初始化种群中包括多个初始化个体,每个个体均为一个人工智能模型,第一数据方根据第一数据的类型确定初始化个体的模型类型,包括但不限于线性回归、逻辑回归、决策树、神经网络等模型,还可以指定编码方式,包括但不限于二进制编码、浮点编码、符号编码等。服务器对模型参数进行编码,形成初始化种群其种群规模为

在本申请实施例中,记录种群为其种群规模为即表示该种群内有个个体(参数不同的模型)。其中i表示第i个生成器,取值为1,2,…,n;t表示第t次迭代;表示中种群的第j个个体,j的取值为

每个初始化个体都具有对应的一个标识,协同器会发送目标个体的目标标识给生成器。服务器将初始化种群的信息和协同器发送的目标标识输入生成器中,由于初始化种群的信息中包含全部初始化个体和初始化个体的标识,生成器根据目标标识从多个初始化个体中选取出有效个体,然后将第一数据输入每个有效个体中,得到多个样本个体,这样每个样本个体都携带有第一数据方提供的第一数据,然后利用多个样本个体构成当前种群生成器输出的当前种群的信息。

步骤202:将当前种群的信息和第二数据方提供的第二数据发送至协同器,得到协同器构建的第一模型,并确定第一模型的每个样本个体的适应度值。其中,适应度值用于指示第一模型的样本个体的有效概率。

在本申请实施例中,服务器得到生成器输出的当前种群的信息,并获取第二数据方提供的第二数据,然后将当前种群的信息和第二数据方提供的第二数据发送至协同器,协同器将第二数据融合在当前种群的每个样本个体中,构建多个第一模型,其中,每个第一模型为包含第二数据的样本个体。服务器获取第二数据方提供的适应度函数,然后根据该适应度函数确定第一模型的每个样本个体的适应度值。

第一模型具有融合数据第一模型为

其中,y表示第二数据方持有的标签信息,f表示机器学习模型,例如xgboost。模型的输出还包括各个特征(此处为各生成器产生的个体)的适应度函数值这可以通过机器学习算法的特征选择功能或者,例如l1正则的逻辑回归算法输出的每个特征权重值,或者xgboost输出的特征重要性值。机器学习模型能够评估并处理特征之间的融合关系,如相关性、共线性等,达到提升效率和优化资源利用的目的。

步骤203:在第一模型不满足预设停止条件的情况下,根据适应度值确定目标个体的目标标识。其中,所述目标个体为被选取的有效个体。

在本申请实施例中,服务器判断第一模型是否满足预设停止条件,其中,预设停止条件包括第一模型的性能指标满足性能指标阈值或生成器与协同器之间的迭代次数满足预设迭代阈值。其中,性能指标包括但不限于指标的准确率和召回度等,本申请对性能指标不做具体限制。

若服务器判定第一模型满足预设停止条件,则服务器将第一模型作为第二模型并将该第二模型输出协同器。若服务器判定第一模型不满足预设停止条件,则获取第二数据方提供的适应度函数,然后根据该适应度函数确定第一模型的每个样本个体的适应度值,其中,适应度值与样本个体的有效概率(存活率)成正比,适应度值越高,该样本个体的有效概率越高。服务器根据适应度值,从第一模型的多个样本个体中选取出有效概率值较高的目标个体。

步骤204:将目标标识反馈至生成器,直至第一模型满足预设停止条件,则停止反馈操作并将第一模型作为第二模型。

在本申请实施例中,服务器将目标个体的目标标识反馈至生成器,生成器根据目标标识重新从初始化种群中选取出当前种群,然后将当前种群的信息发送至协同器,协同器根据新的当前种群的信息和第二数据生成第一模型,直至第一模型的性能指标满足性能指标阈值或生成器与协同器之间的迭代次数满足预设迭代阈值,则停止将目标标识反馈给生成器,并将当前的第一模型作为第i个生成器的第二模型,记此时的迭代次数为y,生成器记为迭代停止。

其中,多个生成器分别和同一个协同器进行信息交互,即生成器发送当前种群的信息给协同器,协同器发送目标标识给生成器。每个生成器和协同器之间的一次信息交互为一次迭代操作。

在本申请中,服务器在生成器中生成包含第一数据的当前种群的信息,即将第一数据融合到了当前种群中的多个样本个体中,然后将当前种群的信息发送给协同器,协同器将第二数据融合到当前种群中的多个样本个体中,最终生成第二模型。

在构建第二模型的过程中,将第一数据和第二数据分别融合在不同的个体中,由于每个个体是一个人工智能模型,因此,模型构建过程中实质暴露的是人工智能模型参数和种群信息,因此也无需对第一数据和第二数据进行加密,降低了模型构建的复杂度,也提高了第一数据和第二数据在传输过程中的数据安全性。

在现有技术中,在模型训练过程中,因为各参与方之间通信信息包含主键信息、特征编号、模型梯度信息等敏感内容,为保证数据安全性,需基于加密技术对通信信息加密,然而绝大部分模型从业者不熟悉密码学理论,框架理解难度较高,不利于联邦学习建模过程的理解。另外,因需对模型敏感信息进行加解密操作,使得建模过程时间复杂度较高;此外,密文相较明文而言,所需存储空间更大,使得建模过程空间复杂度较高;以上较高的时间复杂度、空间复杂度,为联邦学习框架的应用落地、模型调优等带来了严重的挑战。

而在本申请提供的联邦学习的建模方法中,通过该方法在保证联邦学习模型训练框架安全性的同时,由于并没有数据的传输,不涉及密码学相关理论,种群信息不暴露数据特征的敏感信息,故无需对数据进行加解密,降低了框架理解难度,便于联邦学习建模过程的理解,在保证数据安全性的基础上去除加解密的环节,也降低了模型训练复杂度。

作为一种可选的实施方式,如图3所示,初始化种群中包括多个初始化个体,得到生成器输出的当前种群的信息包括:从多个初始化个体中选取出标识为目标标识的有效个体;将多个有效个体利用遗传操作算子进行处理;将第一数据输入进行遗传处理后的每个有效个体中,得到多个样本个体,并利用多个样本个体构成当前种群;将当前种群的信息从生成器中输出。

图3为生成器的工作过程示意图。可以看出,服务器将初始化种群和目标标识输入生成器中,初始化种群中包括多个初始化个体,初始化个体中为一个数据为空的人工智能模型,每个初始化个体都具有对应的标识。服务器从多个初始化个体中选取出标识为目标标识的有效个体,该有效个体为多个初始化个体中存活的个体。然后将多个有效个体利用遗传操作算子进行复制、交叉和变异等处理,进行种群更新,以保证种群的多样性,确保该方法能够在参数空间内搜索到最优参数值。服务器将第一数据输入进行遗传处理后的每个有效个体中,得到多个样本个体,这样每个样本个体中都包含第一数据,并利用多个样本个体构成当前种群,最后将当前种群的信息从生成器中输出。

可选地,遗传操作包括对有效个体进行复制处理,可以保证在训练过程中种群规模ki保持一致。过程包括:确定初始化个体的第一数量和有效个体的第二数量,将第一数量和第二数量的差值作为目标数量,选取目标数量的有效个体进行复制操作,得到复制个体,将有效个体和复制个体作为进行遗传处理后的个体。

示例性地,有效个体构成了有效种群,随机选择有效种群个个体进行复制,将有效种群规模提升至形成新种群其中,ki为初始化个体的数量,为有效个体的数量,表示有的个体是无效的,因此需要从有效种群中选取个个体进行复制,保证生成的当前种群的规模与初始化种群的规模一致。

可选地,遗传操作包括对有效个体进行交叉处理。常用的交叉方法包括单点交叉、双点交叉、均匀交叉和算术交叉等,本申请的均匀交叉的过程包括:服务器通过对每个有效个体进行编码,生成多个编码体,其中,每个编码体对应一个有效个体;然后任意选取两个有效个体:第一有效个体和第二有效个体,根据第一有效个体的第一编码体和第二有效个体的第二编码体生成一个交叉概率,在交叉概率不大于预设交叉阈值的情况下,服务器交换第一有效个体的位置信息和第二有效个体的位置信息;在交叉概率大于预设交叉阈值的情况下,服务器不交换第一有效个体的位置信息和第二有效个体的位置信息。

示例性地,给定预设交叉阈值pcro,随机选择中的任意两个个体分别进行编码,然后得到该两个编码体的交叉概率pr,其中,pr的取值范围为0到1,当pr≤pcro时,交换的位置信息,否则不进行交换,进而得到更新后的种群

可选地,遗传操作包括对有效个体进行变异处理,常用的变异方法包括基本位变异、均匀变异、边界变异、非均匀变异和高斯近似变异,本申请的均匀变异的过程包括:服务器通过对每个有效个体进行编码,生成多个编码体,其中,每个编码体对应一个有效个体;然后选取目标编码体并生成一个随机数,在该随机数不大于预设变异概率的情况下,对目标有效个体的位置信息进行变异。

示例性地,给定预设变异概率pmut,对于种群中的每一个个体对其每一位生成一个取值0到1的随机数r,当r≤pmut时,对该位置信息进行变异,否则不进行变异,进而得到最终更新后的种群

作为一种可选的实施方式,服务器将所述当前种群的信息和第二数据方提供的第二数据发送至所述协同器,由于当前种群中包含多个样本个体,则协同器将第二数据输入每个所述样本个体中,得到多个第一模型,每个所述第一模型指示含有所述第一数据和所述第二数据的一个中间个体。服务器根据适应度函数确定每个中间个体的适应度值。

作为一种可选的实施方式,如图4所示,目标个体包括第一个体和第二个体,根据适应度值确定目标个体的目标标识包括:采用遗传算法确定所述多个中间个体中是否存在第一个体,其中,所述第一个体为具有有效概率大于预设概率阈值的个体,所述遗传算法中运用到所述适应度值;在确定所述多个中间个体中存在第一个体的情况下,确定所述第一个体的标识为所述目标标识;在确定所述多个中间个体中不存在第一个体的情况下,选取适应度值高于预设阈值的中间个体作为所述第二个体,并确定所述第二个体的标识为所述目标标识。

图4为协同器的工作过程示意图。由图4可知,服务器将当前种群的信息和第二数据方提供的第二数据输送入协同器中,协同器根据实际业务需求,将第二数据融合到当前种群的每个样本个体中,得到多个第一模型,每个第一模型为包含第一数据和第二数据的人工智能模型,即中间个体。服务器将第二数据方的适应度函数输入协同器中,协同器得到每个中间个体的适应度值。

服务器采用遗传算法确定多个中间个体中是否存在第一个体,其中,第一个体为存活概率大于预设概率阈值的个体,示例性地,预设概率阈值可以为零,即存活概率大于零的个体为第一个体。遗传算法包括但不限于轮盘赌选择、随机竞争选择、最佳保留选择及线性排名选择等。

示例性地,第一模型的样本个体的数量为m,则适应度函数值从小到大编号为1,2,…m,适应度函数值最大被选中概率为pmax,最小选中概率为pmin,于是排序为k的个体的存活概率可根据如下公式得到:

其中,pmax和pmin的大小可自定义。

若服务器确定多个中间个体中存在第一个体,则直接将第一个体作为目标个体,则第一个体的标识为目标标识。示例性地,如果第i个生成器的种群的第t(t<t)次迭代中,存在个体的存活概率大于预设概率阈值的情况,即可将该个体作为目标个体,目标个体构成下一代的存活种群并将其同步给第i个生成器。

若服务器确定多个中间个体中不存在第一个体,则选取适应度值高于预设阈值的中间个体作为第二个体,并确定第二个体为目标个体,第二个体的标识为目标标识。示例性地,如果第i个生成器的种群的第t(t<t)次迭代中,不存在个体的存活概率大于预设概率阈值的情况,可针对该种群内部的个体的适应度函数值进行排序,筛选出前nminind个个体作为目标个体,目标个体构成形成下一代的存活种群并将其同步给第i个生成器。

作为一种可选的实施方式,选取适应度值高于预设阈值的中间个体作为第二个体包括:服务器将每个中间个体的适应度值按照由大到小的顺序进行排序,然后根据预设阈值确定预设位置,并选取排序位置位于预设位置之前的中间个体作为第二个体。可选地,服务器还可采用特定策略使得每个生成器不会因缺乏存活个体而被整体淘汰,要求每个生成器至少保留nminind个个体。

示例性地,服务器在计算出适应度值的大小后,将每个中间个体的适应度值按照由大到小的顺序进行排序,选出排序位置靠前的10%的中间个体作为第二个体。

在本申请中,服务器通过遗传算法选取优质的个体抛弃劣质的个体,可以提高目标个体的优质率。

作为一种可选的实施方式,将协同器发送的目标标识输入生成器之前,方法还包括:在协同器为首次发送目标标识的情况下,确定目标标识为初始化种群中全部初始化个体的标识;在协同器为非首次发送目标标识的情况下,确定目标标识为第一个体的标识或第二个体的标识。

在第t次迭代进化过程中,有效个体构成有效种群生成器根据目标标识和初始化种群生成有效种群,协同器首次发送目标标识给生成器时,目标标识为初始化种群中全部初始化个体的标识。即当t=1时,有效种群为初始化种群,即协同器非首次发送目标标识给生成器时,目标标识为协同器生成的第一个体的标识或第二个体的标识,即当t>1时,有效种群根据协同器返回的目标标识得到。

作为一种可选的实施方式,生成器的数量为多个,将初始化种群的信息和协同器发送的目标标识输入生成器之后,方法还包括:若确定协同器在预设时长内没有接收到目标生成器发送的当前种群的信息,则确定目标生成器出现故障;控制协同器停止与目标生成器之间的信息交互,并保持与多个生成器中非故障的生成器之间的信息交互。

在本申请实施例中,多个生成器不断发送各自生成的当前种群的信息给协同器,若服务器确定协同器在预设时长内没有接收到目标生成器发送的当前种群的信息,则确定目标生成器出现故障,目标生成器和协同器之间的通信出现异常,则服务器控制协同器停止与目标生成器之间的信息交互,并保持与多个生成器中非故障的生成器之间的信息交互。

现有纵向联邦学习的模型训练框架中,模型的每次参数更新需要所有参与方参与且严格保持同步,在训练的过程中,如果某个参与方自身发生故障或者通信异常,会导致整体模型训练的停止,不利于实际业务中模型的应用落地。本申请在其中一个或几个生成器出现故障时,协同器会继续根据其他无故障的生成器进行模型训练,避免某个参与方自身发生故障或者通信异常而影响整体模型的训练过程,不影响模型的整体训练,提升模型训练系统的容错性。

作为一种可选的实施方式,将初始化种群的信息和协同器发送的目标标识输入生成器之前,方法还包括:接收第二数据方提供的推理请求,其中,推理请求中携带有样本主键,样本主键用于指示第一数据方需要提供的第一数据的标识;将样本主键发送至第一数据方,以使第一数据方根据样本主键从多个数据中选取出第一数据。

在本申请实施例中,第二数据方首先发起推理请求,并将推理请求同步给各第一数据方,推理请求中携带有样本主键,样本主键用于指示第一数据方需要提供的第一数据的标识。第一数据方接收到样本主键后,从多个数据中选取出第一数据,然后根据第一数据和初始化种群得到当前种群并发送给第二数据方,第二数据方根据当前种群的信息和第二数据得到融合数据依据第一模型得到第二模型,推理完成。

现有纵向联邦学习技术中的优化不仅需要获取目标函数的值,而且在搜索的过程中一般会受到目标函数的连续性的约束,如必须要满足“目标函数的导数必须存在”的要求,但在实际中目标函数不一定可导,使得应用的范围受限。相比于现有纵向联邦学习的建模方法,本方法去除训练过程对于目标函数可导性的约束,扩大训练框架适用范围。

可选的,本申请实施例还提供了一种建模方法的框架图,如图5所示,具体步骤如下。

1.服务器将初始化种群和协同器的目标标识输入生成器中,得到有效个体,多个有效个体构成有效种群

2.有效个体进行复制、交叉和变异的遗传操作。

3.服务器将第一数据输入进行遗传操作后的每个有效个体中,得到多个样本个体,多个样本个体构成当前种群

4.服务器将当前种群的信息和第二数据输入协同器中,得到多个第一模型并确定第一模型的每个中间个体的适应度值。

5.服务器判断目标第一模型是否满足预设停止条件,若满足,则执行步骤6,若不满足,则执行步骤7。

6.将第一模型作为第二模型并输出该第二模型。

7.根据适应度值选取目标个体,将目标个体的目标标识发送至生成器,重复执行步骤1-5,直至第一模型满足预设停止条件。

基于相同的技术构思,本申请实施例还提供了一种建模装置,如图6所示,该装置包括:

输入模块601,用于将初始化种群的信息和协同器发送的目标标识输入生成器中,得到生成器输出的当前种群的信息,其中,当前种群中包括多个样本个体,每个样本个体为包含第一数据方提供的第一数据的一个人工智能模型;

第一发送模块602,用于将当前种群的信息和第二数据方提供的第二数据发送至协同器,得到协同器构建的多个第一模型,并确定第一模型的样本个体的适应度值,其中,适应度值用于指示所述第一模型的样本个体的有效概率;

第一确定模块603,用于在第一模型不满足预设停止条件的情况下,根据适应度值确定目标个体的目标标识,其中,目标个体为被选取的有效个体;

反馈模块604,用于将目标标识反馈至生成器,直至第一模型满足预设停止条件,则停止反馈操作并将第一模型作为第二模型。

可选地,初始化种群中包括多个初始化个体,每个所述初始化个体具有对应的标识,输入模块601包括:

第一选取单元,用于从多个初始化个体中选取出标识为目标标识的有效个体;

处理单元,用于将多个有效个体利用遗传操作算子进行处理;

构成单元,用于将第一数据输入进行遗传处理后的每个有效个体中,得到多个样本个体,并利用多个样本个体构成当前种群;

输出单元,用于将当前种群的信息从生成器中输出。

可选地,第一发送模块602包括:

输入单元,用于将所述第二数据输入每个所述样本个体中,得到多个第一模型,其中,每个所述第一模型指示含有所述第一数据和所述第二数据的一个中间个体;

确定单元,用于确定所述中间个体的适应度值。

可选地,目标个体包括第一个体和第二个体,第一确定模块603包括:

第一确定单元,用于采用遗传算法确定多个中间个体中是否存在第一个体,其中,第一个体为具有有效概率大于预设概率阈值的个体,遗传算法中运用到适应度值;

第二确定单元,用于在确定多个中间个体中存在第一个体的情况下,确定第一个体的标识为目标标识;

第二选取单元,用于在确定多个中间个体中不存在第一个体的情况下,选取适应度值高于预设阈值的中间个体作为第二个体,并确定第二个体的标识为目标标识。

可选地,第二选取单元包括:

排序子单元,用于将每个中间个体的适应度值按照由大到小的顺序进行排序;

选取子单元,用于选取排序位置位于预设位置之前的中间个体作为第二个体,其中,预设位置是根据预设阈值确定的。

可选地,该装置还包括:

第二确定模块,用于在协同器为首次发送目标标识的情况下,确定目标标识为初始化种群中全部初始化个体的标识;

第三确定模块,用于在协同器为非首次发送目标标识的情况下,确定目标标识为第一个体的标识或第二个体的标识。

可选地,生成器的数量为多个,该装置还包括:

第四确定模块,用于若确定协同器在预设时长内没有接收到目标生成器发送的当前种群的信息,则确定目标生成器出现故障;

控制模块,用于控制协同器停止与目标生成器之间的信息交互,并保持与多个生成器中非故障的生成器之间的信息交互。

可选地,该装置还包括:

接收模块,用于接收第二数据方提供的推理请求,其中,推理请求中携带有样本主键,样本主键用于指示第一数据方需要提供的第一数据的标识;

第二发送模块,用于将样本主键发送至第一数据方,以使第一数据方根据样本主键从多个数据中选取出第一数据。

可选地,处理单元包括:

编码单元,用于通过对每个有效个体进行编码,生成多个编码体,其中,每个编码体对应一个有效个体;

生成单元,用于根据第一有效个体的第一编码体和第二有效个体的第二编码体生成一个交叉概率;

交换单元,用于在交叉概率不大于预设交叉阈值的情况下,交换第一有效个体的位置信息和第二有效个体的位置信息。

在构建第二模型的过程中,并没有发生第一数据和第二数据的传输,而是将第一数据和第二数据分别融合在不同的个体中,由于每个个体是一个人工智能模型,因此,数据传输的过程中实质暴露的是人工智能模型参数和种群信息,提高了第一数据和第二数据在传输过程中的数据安全性。

根据本申请实施例的另一方面,本申请提供了一种电子设备,如图7所示,包括存储器703、处理器701、通信接口702及通信总线704,存储器703中存储有可在处理器701上运行的计算机程序,存储器703、处理器701通过通信接口702和通信总线704进行通信,处理器701执行计算机程序时实现上述方法的步骤。

上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。

可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行上述方法的程序代码:

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(applicationspecificintegratedcircuits,asic)、数字信号处理器(digitalsignalprocessing,dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(programmablelogicdevice,pld)、现场可编程门阵列(field-programmablegatearray,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1