基于链式的多标签联邦学习方法、控制器和介质

文档序号:25588955发布日期:2021-06-22 17:05阅读:131来源:国知局
基于链式的多标签联邦学习方法、控制器和介质

本发明涉及计算机技术领域,尤其涉及一种基于链式的多标签联邦学习方法、控制器和介质。



背景技术:

纵向联邦学习指的是多个数据持有方的数据集中的用户重叠较多而用户特征重叠较少的情况下的联邦学习。纵向联邦学习的任务就是在保持数据本地化的情况下,共同训练出一个机器学习模型。多标签学习解决的是一个样本对应多个标签的机器学习的技术问题,例如:一张图片中可能即包含狗,也包含猫。相对的,传统的单标签学习解决的则是一个样本仅对应一个标签的机器学习的技术问题,例如:判断一张图片是猫的照片还是狗的照片。

传统的基于单标签的纵向联邦学习,已多有研究和应用。在多标签场景下,例如:在银行数据持有方与电商数据持有方的联邦学习场景中,电商数据持有方要预测用户是否会购买某件商品的标签,同时银行数据持有方要预测用户是否会如期还款的标签。按照现有技术的方案,可以将这个问题转化为两个独立的传统的单标签联邦学习问题:一个联邦学习模型用来预测用户是否会购买某件商品的标签;另一个联邦学习模型用来预测用户是否会如期还款的标签,两个模型互不相干。但是这样处理实际上忽略了两个标签的相互关系(如:“是否会如期还款”这个标签可能能够帮助判断“用户是否会购买某件商品”这个标签),导致模型精度较低。由此可知,如何在模型训练过程中挖掘出多标签之间的相关关系,基于多标签之间的相互关系进行联邦学习,提高模型精度成为亟待解决的技术问题。



技术实现要素:

本发明目的在于,提供一种基于链式的多标签联邦学习方法、控制器和介质,基于多标签之间的相互关系进行联邦学习,提高了模型精度。

根据本发明一方面,提供了一种基于链式的多标签联邦学习方法,包括:

步骤s1、获取n个数据持有方中每一数据持有方对应的训练数据集,n个数据持有方的用户是重叠的,每一数据持有方对应一个用户标签,第i数据持有方对应的第i训练数据集为(xi,yi),其中,xi表示i训练数据集的样本用户特征数据集,包括ni个样本用户,每个样本用户有mi个属性;yi表示i训练数据集的样本用户标签数据集,i表示数据持有方序号,i=1,2,…,n,yik∈r,k=1,2,…,ni;

步骤s2、基于所述n个数据持有方的用户标签生成标签排序:t(1)<t(2)<t(3)…<t(n),其中,t(j)表示排在第j位的标签对应的数据持有方序号,j=1,2,…n;

步骤s3、以{x1,x2,…,xn}∪{yt(m)|m<j,m=1,2,…n}作为预测子模型mt(j)的输入数据,以预测标签yt(j)作为预测子模型mt(j)的输出数据,进行纵向联邦学习训练,并行训练生成预测子模型mt(j);

步骤s4、待测用户的特征为{x1,x2,…,xn},xi表示待测用户在第i个数据持有方对应的待测用户特征数据,令j从1开始取值,将{x1,x2,…,xn}∪{yt(m)|m<j,m=1,2,…n}作为mt(j)输入,按照t(1)<t(2)<t(3)…<t(n)的顺序依次执行各个预测子模型mt(j)的预测任务,生成所述待测用户所有标签{yt(1),yt(2),…,yt(n)},yt(j)表示待测用户对应于第t(j)个标签的预测值。

根据本发明第二方面,提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明第一方面所述的方法。

根据本发明第三方面,提供一种计算机可读存储介质,所述计算机指令用于执行本发明第一方面所述的方法。

本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于链式的多标签联邦学习方法、控制器和介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有下列优点:

本发明通过构建链式联邦学习模型,将当前标签的前序标签也作为特征数据加入到输入数据中,使得在模型训练过程中能够学习到多标签之间的相关关系,基于多标签之间的相互关系进行联邦学习,提高模型精度。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

图1为本发明实施例提供的基于链式的多标签联邦学习方法中,各个预测标签结果产生的顺序示意图。

具体实施方式

为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于链式的多标签联邦学习方法、控制器和介质的具体实施方式及其功效,详细说明如后。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。

本发明实施例提供了一种基于链式的多标签联邦学习方法,包括:

步骤s1、获取n个数据持有方中每一数据持有方对应的训练数据集,可以理解的是,每一数据持有方各自的训练数据集是存储在各自本地,模型训练过程中,每一数据持有方各自的训练数据集也始终存储在各自本地,n个数据持有方的用户是重叠的,每一数据持有方对应一个用户标签,第i数据持有方对应的第i训练数据集为(xi,yi),其中,xi表示i训练数据集的样本用户特征数据集,包括ni个样本用户,每个样本用户有mi个属性;yi表示i训练数据集的样本用户标签数据集,i表示数据持有方序号,i=1,2,…,n,yik∈r,k=1,2,…,ni;

其中,可以理解的是,n个数据持有方的样本用户是重叠的,指的是n个数据持有方的样本用户是相同的,且样本用户是横向对齐的。n个数据持有方的数据属性数量可能相同也可能不同,同一数据持有方的每一样本用户的数据属性数量是相同的。

步骤s2、基于所述n个数据持有方的用户标签生成标签排序:t(1)<t(2)<t(3)…<t(n),其中,t(j)表示排在第j位的标签对应的数据持有方序号,j=1,2,…n;

其中,可以随机初始化n个数据持有方的用户标签生成标签排序,也可根据每一用户标签的目标精确度来排序,目标精确度越高,标签排序越靠后。作为一种实施例,若t(1)=5,则表示第5个数据持有方的标签排在标签排序的第一位。

步骤s3、以{x1,x2,…,xn}∪{yt(m)|m<j,m=1,2,…n}作为预测子模型mt(j)的输入数据,以预测标签yt(j)作为预测子模型mt(j)的输出数据,进行纵向联邦学习训练,并行训练生成预测子模型mt(j);

需要说明的是,联邦学习过程中,各个子模型mt(j)是分散存储在各个数据持有方的,即,每个数据持有方只保有各个子模型mt(j)的一部分,作为对应的本地预测子模型。{x1,x2,…,xn}∪{yt(m)|m<j,m=1,2,…n}作为预测子模型mt(j)的输入数据,具体指的是,将满足m<j的yt(m)加入对应的xt(m),作为mt(m)在第t(m)数据持有方的本地预测子模型的输入数据,这样可将当前标签的前序标签也作为特征数据加入到输入数据中,这样即可学习到标签之间的相互关系,且各个数据持有方的用户数据始终都存在自己的数据库中,子模型训练和使用过程中,各个数据持有方之间只传递模型更新参数。但可以理解的是,这种相关关系是依赖于标签排序的,排在后面的标签由于训练时用到的特征更多,因此其子模型的模型精度相对更高,所以重要的、对精度要求高的标签需要排到后面。

步骤s4、待测用户的特征为{x1,x2,…,xn},xi表示待测用户在第i个数据持有方对应的待测用户特征数据,令j从1开始取值,将{x1,x2,…,xn}∪{yt(m)|m<j,m=1,2,…n}作为mt(j)输入,按照t(1)<t(2)<t(3)…<t(n)的顺序依次执行各个预测子模型mt(j)的预测任务,生成所述待测用户所有标签{yt(1),yt(2),…,yt(n)},yt(j)表示待测用户对应于第t(j)个标签的预测值,各个预测标签结果产生的顺序如图1所示。

可以理解的是,待测用户的特征也是分散存储在多个数据持有方中的,即每一数据持有方持有一部分待测用户的特征数据。

本发明实施例通过构建链式联邦学习模型,将当前标签的前序标签也作为特征数据加入到输入数据中,使得在模型训练过程中能够学习到多标签之间的相关关系,基于多标签之间的相互关系进行联邦学习,提高模型精度。

联邦学习涉及多个客户端,每一客户端可能有一个或多个标签,也可能没有标签,只有用户数据,因此,可将客户端的用户数据进行预处理,再从预处理后的数据中获取n个数据持有方中每一数据持有方对应的训练数据集,作为一种实施例,所述步骤s1可包括:

步骤s11、获取z个客户端中每一客户端的数据,采用预设的对齐算法和隐私求交算法获取每一客户端中z个客户端重叠的数据,作为每一客户端对应的用户数据,所述用户数据包括用户特征数据和用户标签数据;

需要说明的是,步骤s11中可以直接采用现有的对齐算法和隐私求交算法获取每一客户端中z个客户端重叠的数据,现有的对齐算法和隐私求交算法在此不再赘述。

步骤s12、获取第z客户端数据中用户标签的类别数量wz,并判断wz是否大于等于2,若是,则构建wz个第z客户端对应的数据持有方,并以所述第z客户端对应的用户数据中的每一类用户标签数据作为一个数据持有方对应的用户标签数据集,以所述第z客户端对应的用户特征数据作为每一数据持有方对应的用户特征数据集,构建wz个训练数据集,为每一数据持有方划分一个对应的训练数据集,否则,执行步骤s13,z=1,2,…z;

步骤s13、构建一个第x客户端对应的数据持有方,并以第z客户端对应的用户标签数据作为用户标签数据集,以第z客户端对应的用户特征数据作为用户特征数据集,构建该数据持有方对应的训练数据集训;

步骤s14、将基于所述z个客户端数据生成的所有数据持有方的训练数据集,确定为所述n个数据持有方的训练数据集。

通过步骤s11-步骤s14即可使得n个数据持有方的训练数据集的每一数据持有方的训练数据集中的用户重叠对齐,且每一数据持有方对应一个用户标签。但可以理解的是,如果某一客户端只有用户特征数据集,没有对应的标签,也可将该客户端对应的用户特征数据集加入每轮训练的输入数据,参与训练。

作为一种实施例,步骤s2可包括:

步骤s21、获取所述n个用户标签中每一用户标签的目标精确度;

其中,每一用户的目标精确度可根据具体应用场景来确定。

步骤s22、根据目标精确度从小到大的顺序对应生成所述n个用户标签对应的标签排序:t(1)<t(2)<t(3)…<t(n)。

作为一种实施例,每一预测子模型mt(j)包括分散存在所述n个数据持有方上的本地预测子模型表示预测子模型mt(j)在第i数据持有方上的本地预测子模型,所述步骤s3包括并行执行的步骤s31和步骤s32:

步骤s31、若j=1,将xi作为的输入数据,预测yt(j)作为mt(j)的输出数据,进行纵向联邦学习训练,生成mt(j);

步骤s32、若j>1,则将xt(r)和yt(r)作为的输入数据,r=1,2,...j-1,将xt(p)作为的输入数据,p=j,j+1,...n,预测yt(j)作为mt(j)的输出数据,进行纵向联邦学习训练,生成mt(j)。

这样可将当前标签的前序标签也作为特征数据加入到输入数据中,即可学习到标签之间的相互关系。

当每一子模型输入数据和输出数据确认好后,可以选择预设的机器学习模型框架进行联邦学习,训练子模型,作为一种实施例,所述步骤s3中采用纵向神经网络的架构进行纵向联邦学习,生成mt(j),第i数据持有方上的本地预测子模型为其中,u为第一神经网络模型深度,第t(j)数据持有方上的本地预测子模型还包括综合神经网络其中,h为第一神经网络模型深度,所述步骤s3具体包括:

步骤s311、第i数据持有方将对应的输入数据输入生成对应的输出outputi,t(j),发送给第t(j)数据持有方;

步骤s312、第t(j)数据持有方将接收到的outputi,t(j)按顺序拼接起来,生成输入到第t(j)数据持有方的生成基于yt(j)神经网络的损失函数获取损失值loss;

步骤s313、第t(j)数据基于loss反向计算第一梯度值并更新并生成第i数据持有方对应的第二梯度值发送给第i数据持有方;

步骤s314、第i数据持有方基于对应的第二梯度值,继续反向传播计算的梯度更新各个layer;

步骤s315、循环执行步骤s311-步骤s314,直至预测子模型mt(j)收敛。

需要说明的是,步骤s315可以直接采用现有的判断模型收敛的方法判断预测子模型mt(j)是否收敛,在此不再展开描述。

作为一种实施例,所述步骤s4具体可包括:

步骤s41、将xi输入基于mt(1)生成yt(1)

步骤s42、将xt(1)和yt(1)输入将xt(k1)输入基于mt(2)生成yt(2),k1=2,...n;

步骤s43、将xt(1)和yt(1)输入将xt(2)和yt(2)输入将xt(k2)输入基于mt(3)生成yt(3),k2=3,4,...n;

步骤s4(n-1)、将xt(1)和yt(1)输入将xt(2)和yt(2)输入…将xt(n-2)和yt(n-2)输入将xt(k(n-2))输入基于mt(n-1)生成yt(n-1),k(n-2)=n-1,n;

步骤s4n、将xt(1)和yt(1)输入将xt(2)和yt(2)输入…,xt(n-1)和yt(n-1)输入将xt(n)输入基于mt(n)生成yt(n)

可以理解的是,步骤s43和步骤s4(n-1)之间的“…”表示以此规律执行。通过步骤s41-步骤s4n,最终生成所述待测用户所有标签{yt(1),yt(2),…,yt(n)},可以根据具体应用需要获取{yt(1),yt(2),…,yt(n)}中的任意一个或多个值,作为目标数据。

本发明实施例还提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明实施例所述的方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机指令用于执行本发明实施例所述的方法。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

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