发明内容
为了解决上述技术问题,本公开实施例提供了一种纵向联邦学习方法,能够在保证各方隐私数据安全的前提下,提高纵向联邦学习的效率。
第一方面,本公开提供了一种纵向联邦学习方法,所述方法包括:
接收纵向联邦学习系统中的第二数据方发送的与第三样本集合对应的掩码矩阵;其中,所述第三样本集合为基于对所述第二数据方的第二样本集合的拆分得到,所述第二样本集合中的训练样本与本地的第一样本集合中具有标签的训练样本具有对应关系;
基于所述第三样本集合对应的掩码矩阵,计算所述第三样本集合对应的噪声矩阵;其中,所述噪声矩阵由与所述第三样本集合中的每个训练样本对应的噪音量构成,所述噪音量用于加噪处理;
确定所述第三样本集合对应的残差向量,并将所述残差向量与所述第三样本集合对应的噪声矩阵的乘积,确定为所述第三样本集合对应的加噪残差向量;其中,所述残差向量中包括所述第三样本集合中的训练样本的标签值与当前预测值之间的差值;
将所述第三样本集合对应的加噪残差向量发送至所述第二数据方;其中,所述第二数据方用于基于所述加噪残差向量计算梯度向量,并基于所述梯度向量更新所述第二数据方对应的模型参数,得到所述第二数据方对应的更新后模型参数。
一种可选的实施方式中,所述基于所述第三样本集合对应的掩码矩阵,计算所述第三样本集合对应的噪声矩阵,包括:
计算所述第三样本集合对应的掩码矩阵与所述掩码矩阵的转置矩阵的乘积;
将单位矩阵与所述乘积的差值,确定为所述第三样本集合对应的噪声矩阵。
一种可选的实施方式中,所述确定所述第三样本集合对应的残差向量,包括:
从所述第一样本集合中确定与所述第二样本集合中的第二训练样本具有对应关系的第一训练样本;
基于所述第一训练样本对应的线性预测器、所述第二训练样本对应的线性预测器以及所述第一训练样本对应的标签值,确定所述第一训练样本对应的当前残差;其中,所述第二训练样本对应的线性预测器由所述第二数据方确定并发送至所述第一数据方;
基于所述第一训练样本对应的当前残差,确定所述第一样本集合对应的残差向量;
从所述第一样本集合对应的残差向量中,确定所述第三样本集合对应的残差向量。
一种可选的实施方式中,所述第三样本集合为基于样本标识对所述第二数据方的第二样本集合进行拆分得到。
一种可选的实施方式中,所述第三样本集合中包括多媒体数据训练样本、音频数据训练样本、视频数据训练样本、图像数据训练样本、文本数据训练样本中的一种或者多种组合。
第二方面,本公开提供了一种纵向联邦学习方法,所述方法包括:
基于本地的第二样本集合确定第三样本集合,并计算所述第三样本集合对应的掩码矩阵;
将所述第三样本集合对应的掩码矩阵发送至纵向联邦学习系统中的第一数据方;其中,所述第一数据方用于基于所述掩码矩阵确定所述第三样本集合对应的加噪残差向量,所述第一数据方内存储的第一样本集合中包括具有标签的训练样本,所述第一样本集合中具有标签的训练样本与所述第二样本集合中的训练样本具有对应关系;
获取来自所述第一数据方的所述加噪残差向量,并基于所述加噪残差向量计算梯度向量;
基于所述梯度向量更新本地的模型参数,得到更新后模型参数。
一种可选的实施方式中,所述基于本地的第二样本集合确定第三样本集合,包括:
基于样本标识对本地的第二样本集合进行拆分,得到第三样本集合。
一种可选的实施方式中,所述基于样本标识对本地的第二样本集合进行拆分,得到第三样本集合,包括:
基于样本标识对本地的第二样本集合中的训练样本进行排序,得到排序后的第二样本集合;
对所述排序后的第二样本集合进行拆分,得到第三样本集合。
一种可选的实施方式中,所述计算所述第三样本集合对应的掩码矩阵,包括:
为所述第三样本集合对应的矩阵执行QR分解,得到Q矩阵和R矩阵;其中,所述Q矩阵和R矩阵的乘积为所述第三样本集合对应的矩阵,所述Q矩阵的行和列的数量相同,且等于所述第三样本集合对应的矩阵的行数量;
将所述Q矩阵的前m列去除后,从所述Q矩阵中获取g列构成所述第三样本集合对应的掩码矩阵;其中,m为所述第三样本集合对应的矩阵的列数量,所述g为预设正整数。
第三方面,本公开提供了一种纵向联邦学习系统,所述纵向联邦学习系统包括第一数据方和至少一个第二数据方,所述第一数据方的第一样本集合中具有标签的训练样本与所述第二数据方的第二样本集合中的训练样本具有对应关系;
所述第二数据方,用于基于所述第二样本集合确定第三样本集合,并计算所述第三样本集合对应的掩码矩阵,以及将所述第三样本集合对应的掩码矩阵发送至所述第一数据方;
所述第一数据方,用于基于所述第三样本集合对应的掩码矩阵,计算所述第三样本集合对应的噪声矩阵,确定所述第三样本集合对应的残差向量,并将所述残差向量与所述第三样本集合对应的噪声矩阵的乘积,确定为所述第三样本集合对应的加噪残差向量,以及将所述第三样本集合对应的加噪残差向量发送至所述第二数据方;其中,所述噪声矩阵由与所述第三样本集合中的每个训练样本对应的噪音量构成,所述噪音量用于加噪处理,所述残差向量中包括所述第三样本集合中的训练样本的标签值与当前预测值之间的差值;
所述第二数据方,还用于基于所述加噪残差向量计算梯度向量,并基于所述梯度向量更新本地的模型参数,得到所述第二数据方对应的更新后模型参数。
第四方面,本公开提供了一种纵向联邦学习装置,所述装置包括:
第一接收模块,用于接收纵向联邦学习系统中的第二数据方发送的与第三样本集合对应的掩码矩阵;其中,所述第三样本集合为基于对所述第二数据方的第二样本集合的拆分得到,所述第二样本集合中的训练样本与本地的第一样本集合中具有标签的训练样本具有对应关系;
第一计算模块,用于基于所述第三样本集合对应的掩码矩阵,计算所述第三样本集合对应的噪声矩阵;其中,所述噪声矩阵由与所述第三样本集合中的每个训练样本对应的噪音量构成,所述噪音量用于加噪处理;
第一确定模块,用于确定所述第三样本集合对应的残差向量,并将所述残差向量与所述第三样本集合对应的噪声矩阵的乘积,确定为所述第三样本集合对应的加噪残差向量;其中,所述残差向量中包括所述第三样本集合中的训练样本的标签值与当前预测值之间的差值;
第一发送模块,用于将所述第三样本集合对应的加噪残差向量发送至所述第二数据方;其中,所述第二数据方用于基于所述加噪残差向量计算梯度向量,并基于所述梯度向量更新所述第二数据方对应的模型参数,得到所述第二数据方对应的更新后模型参数。
第五方面,本公开提供了一种纵向联邦学习装置,所述装置包括:
第二确定模块,用于基于本地的第二样本集合确定第三样本集合;
第二计算模块,用于计算所述第三样本集合对应的掩码矩阵;
第二发送模块,用于将所述第三样本集合对应的掩码矩阵发送至纵向联邦学习系统中的第一数据方;其中,所述第一数据方用于基于所述掩码矩阵确定所述第三样本集合对应的加噪残差向量,所述第一数据方内存储的第一样本集合中包括具有标签的训练样本,所述第一样本集合中具有标签的训练样本与所述第二样本集合中的训练样本具有对应关系;
第三计算模块,用于获取来自所述第一数据方的所述加噪残差向量,并基于所述加噪残差向量计算梯度向量;
更新模块,用于基于所述梯度向量更新本地的模型参数,得到更新后模型参数。
第六方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第七方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
第八方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
本公开实施例提供了一种纵向联邦学习方法,应用于纵向联邦学习系统,第一数据方在接收到第二数据方发送的与第三样本集合对应的掩码矩阵后,基于该掩码矩阵计算该第三样本集合对应的噪声矩阵,并在确定该第三样本集合对应的残差向量之后,将残差向量与对应的噪声矩阵的乘积确定为加噪残差向量。第一数据方将该第三样本集合对应的加噪残差向量发送至第二数据方之后,第二数据方基于该加噪残差向量计算梯度向量,用于更新模型参数。本公开实施例中第一数据方通过为第二数据方计算噪声矩阵,并基于噪声矩阵为残差向量加密的方式,保证第一数据方计算的残差向量不会被第二数据方获取,达到了保护第一数据方的样本中标签隐私的目的。另外,相比于同态加密技术,通过噪声矩阵对残差向量加密的方式计算开销较小,因此,本公开实施例能够在保证数据隐私的基础上,提高纵向联邦学习的效率。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
联邦学习是指各方数据保留在本地,不泄露隐私的前提下,多个参与方联合数据建立虚拟的共有模型。具体的,联邦学习可以做到各方数据不出本地,通过加密机制下的参数交换方式,在不泄露隐私的情况下,建立一个虚拟的共用模型,联邦学习作为一种保障数据安全的建模方法,在各个领域都有巨大的应用前景。
纵向联邦学习属于联邦学习的多种类型中的一种,为便于对纵向联邦学习的理解,本公开以下面场景为例,对纵向联邦学习的应用场景进行描述。
假设纵向联邦学习的参与方A、B和C分别是三家公司,其中,A是社交媒体公司,B是网络教育公司,A拥有众多人群的大量社交相关特征,如下表1所示;而B拥有这部分人群的教育相关特征,如下表2所示;C是金融贷款公司,拥有这部分人群的信贷记录,以及少量相关特征,如表3所示。
表1
表2
表3
假设金融借贷公司C想要基于社交媒体公司A和网络教育公司B的数据,以及自身数据和违约记录标签进行纵向联邦学习,联合训练出共有模型,则需要在模型训练的过程中,保护各方数据(包括特征和标签)隐私不泄露给对方和第三方。在模型训练完成后,可以利用训练完成的模型进行违约预测,便于金融借贷公司C基于预测结果做后续决策,降低坏账率等等。
目前,上述纵向联邦学习的应用场景是基于同态加密的技术保证模型训练过程中各方数据隐私不泄露给对象和第三方的,然而同态加密的计算开销较大,而纵向联合学习往往需要很多轮训练才能得到效果较好的模型,这使得同态加密开销大的弊端更加显露,导致通过纵向联邦学习进行模型训练的效率较低。
为此,本公开实施例提供了一种纵向联邦学习系统,如图1所示,为本公开实施例提供的一种纵向联邦学习系统的结构示意图,其中,纵向联邦学习系统100包括第一数据方101和至少一个第二数据方102。
具体的,第一数据方101本地的第一样本集合中包括具有标签的训练样本,第二数据方102本地的第二样本集合中包括的训练样本与第一样本集合中的具有标签的训练样本具有对应关系,其中,第二样本集合中的训练样本不具有标签。
一种可选的实施方式中,在纵向联邦学习之前,首先确定第一数据方和各个第二数据方的样本集合的交集。其中,交集中可以包括各数据方样本集合中具有相同样本标识的训练样本。如上述表1、2、3所示,分别为各数据方的样本集合中具有相同用户ID的训练样本,即样本集合的交集,综合表1、2、3可以从不同的特征维度描述同一用户ID训练样本的特征。
另外,用于确定各数据方样本集合的交集的方式,在本公开实施例中不做限定。
具体的,第二数据方102,用于基于所述第二样本集合确定第三样本集合,并计算所述第三样本集合对应的掩码矩阵,以及将所述第三样本集合对应的掩码矩阵发送至所述第一数据方。
由于直接对第二样本集合进行处理所需内存较大,容易导致运行报错,因此,本公开实施例中第二数据方可以基于第二样本集合中训练样本的数量,预先将第二样本集合中的训练样本划分为至少一个第三样本集合。
一种可选的实施方式中,可以按照样本标识对第二样本集合中的各个训练样本进行排序,并将排序后的训练样本划分为至少一个第三样本集合,每个第三样本集合中包括特定数量的训练样本。
需要说明的是,如果第二样本集合中的训练样本的量级较小,则可以直接对第二样本集合进行处理,即对应于第二数据方将第二样本集合划分为一个第三样本集合。
第一数据方101,用于基于所述第三样本集合对应的掩码矩阵,计算所述第三样本集合对应的噪声矩阵,确定所述第三样本集合对应的残差向量,并将所述残差向量与所述第三样本集合对应的噪声矩阵的乘积,确定为所述第三样本集合对应的加噪残差向量,以及将所述第三样本集合对应的加噪残差向量发送至所述第二数据方。其中,所述噪声矩阵由与所述第三样本集合中的每个训练样本对应的噪音量构成,所述噪音量用于加噪处理,所述残差向量中包括所述第三样本集合中的训练样本的标签值与当前预测值之间的差值。
一种可选的实施方式中,第二数据方计算得到第二样本集合中各个第三样本集合的掩码矩阵之后,将各个掩码矩阵发送至第一数据方,其中,各个掩码矩阵携带对应的第三样本集合中的各个训练样本的样本标识,以便第一数据方能够确定各个掩码矩阵对应的样本标识。其中,样本标识用于标识训练样本,例如上述表1、2、3中的用户ID。
第一数据方基于掩码矩阵计算各个第三样本集合的噪声矩阵,并在每轮的模型训练中,将各个第三样本集合的噪声矩阵与其对应的残差向量相乘得到的乘积,确定为对应的第三样本集合的加噪残差向量。然后,由第一数据方向对应的第二数据方发送各个加噪残差向量,由于加噪残差向量是基于噪声矩阵加密的,因此,每轮的模型训练中对加噪残差向量的传输,并不会泄露第一数据方计算的残差,保护了第一数据方的样本标签隐私安全。
第二数据方102,还用于基于所述加噪残差向量计算梯度向量,并基于所述梯度向量更新所述第二数据方对应的模型参数,得到所述第二数据方对应的更新后模型参数。
实际应用中,第二数据方在每轮的模型训练中得到更新后模型参数之后,需要判断当前是否满足预设训练停止条件,并在确定满足预设训练停止条件后,获取所述第二数据方对应的更新后模型参数,否则继续迭代训练。
实际应用中,第二数据方在接收到加噪残差向量之后,基于加噪残差向量计算梯度向量即可,计算得到的梯度向量用于更新第二数据方的模型参数。其中,模型参数包括第二数据方本地的第二样本集合中各个维度特征分别对应的权重,例如上述表1中特征“登录频率”、“浏览时长”和“感兴趣话题”分别对应的权重。
在每轮的模型训练结束时,判断当前是否满足预设训练停止条件,如果未满足,则继续下一轮的模型训练,直到满足预设训练停止条件为止。如果当前满足预设训练停止条件,则可以获取第二数据方对应的更新后模型参数,用于构成纵向联邦学习系统100训练得到的模型。
第一数据方101,还用于确定所述第一样本集合对应的残差向量,基于所述残差向量计算梯度向量,并基于所述梯度向量更新所述第一数据方对应的模型参数,以及在确定满足预设训练停止条件后,获取所述第一数据方对应的更新后模型参数,否则迭代训练;其中,所述第一数据方和所述第二数据方分别对应的更新后模型参数用于构成基于所述纵向联邦学习系统训练得到的模型。
实际应用中,每轮的模型训练中,第一数据方通过计算残差向量以及计算梯度向量,实现对模型参数的更新,并在确定满足预设训练停止条件时,停止模型的训练,获取第一数据方的更新后模型参数,用于构成纵向联邦学习系统100训练得到的模型。
在利用纵向联邦学习系统训练模型的过程中,各数据方训练各自的模型参数,在训练结束后,联合各数据方分别对应的更新后模型参数,构成训练成功的模型,即全局模型,也称为共有模型。也就是说,通过纵向联邦学习得到的模型是联合多方数据训练得到。
本公开实施例提供的纵向联邦学习系统中,第一数据方通过为第二数据方计算噪声矩阵,并基于噪声矩阵为残差向量加密的方式,保证第一数据方计算的残差向量不会被第二数据方获取,达到了保护第一数据方的样本中标签隐私的目的。另外,相比于同态加密技术,通过噪声矩阵对残差向量加密的方式计算开销较小,因此,本公开实施例能够在保证数据隐私的基础上,提高纵向联邦学习的效率。
基于上述纵向联邦学习系统,本公开实施例提供了一种纵向联邦学习方法,参考图2,为本公开实施例提供的一种纵向联邦学习方法的流程图。
其中,该方法应用于纵向联邦学习系统中的第一数据方,该纵向联邦学习系统中还包括至少一个第二数据方,第一数据方的第一样本集合中具有标签的训练样本与第二数据方的第二样本集合中的训练样本具有对应关系,具体的,该方法包括:
S201:接收纵向联邦学习系统中的第二数据方发送的与第三样本集合对应的掩码矩阵。
其中,所述第三样本集合为基于对所述第二数据方的第二样本集合的拆分得到,所述第二样本集合中的训练样本与本地的第一样本集合中具有标签的训练样本具有对应关系。
第一样本集合、第二样本集合以及第三样本集合中可以包括各种数据类型的训练样本,例如,所述第三样本集合中可以包括多媒体数据训练样本、音频数据训练样本、视频数据训练样本、图像数据训练样本、文本数据训练样本中的一种或者多种组合。
本公开实施例中,第一数据方接收来自至少一个第二数据方的掩码矩阵,其中,该掩码矩阵是由对应的第二数据方基于本地的第二样本合集拆分成的第三样本集合中的训练样本计算得到的,具体计算方式在后续实施例中进行介绍。
为了便于描述,本公开实施例中,假设第一数据方本地的第一样本集合中的训练样本包括
其中,第一样本集合包括l个训练样本,每个训练样本具有m
1个维度的特征值,y∈{0,1}
l用于表示训练样本的标签所在列,每个训练样本的标签为0或1。第二数据方本地的第二样本集合中的训练样本包括/>
第一样本集合和第二样本集合中的训练样本为第一数据方和第二数据方的本地数据进行交集计算之后得到的,第一样本集合和第二样本集合中的训练样本具有对应关系,例如,第一样本集合和第二样本集合中的训练样本具有对应的样本标识。如上述表1和表3所示,第一样本集合和第二样本集合中均包括用户ID分别为1、2、3的训练样本。
由于第二样本集合中的数据量较大,为了降低系统运行报错的概率,第二数据方可以预先将本地的第二样本集合中的训练样本划分到不同的第三样本集合中。例如,将
拆分成多个/>
其中,l′<<。
一种可选的实施方式中,可以按照预设策略对第二样本集合中的各个训练样本进行排序,将排序后的训练样本划分到不同的第三样本集合中。具体的,可以按照样本标识由小到大的顺序,对第二样本集合中的各个训练样本进行排序,将排序后的训练样本划分到不同的第三样本集合中。
S202:基于所述第三样本集合对应的掩码矩阵,计算所述第三样本集合对应的噪声矩阵。
其中,所述噪声矩阵由与所述第三样本集合中的每个训练样本对应的噪音量构成,所述噪音量用于加噪处理。
本公开实施例中,第一数据方在接收到掩码矩阵之后,基于该掩码矩阵构造噪声矩阵。
一种可选的实施方式中,第一数据方在接收到掩码矩阵之后,确定该掩码矩阵的转置矩阵,并计算该转置矩阵和该掩码矩阵的矩阵乘积,然后,将单位矩阵与该矩阵乘积之间的差值,确定为该掩码矩阵对应的第三样本集合的噪声矩阵。
具体的,可以利用公式(1)计算噪声矩阵,如下:
Ci=I-ZiZi T (1);
其中,Ci用于表示第i个第三样本集合的噪声矩阵,Zi用于表示该第三样本集合对应的掩码矩阵,Zi T用于表示掩码矩阵Zi的转置矩阵,I用于表示单位矩阵,即对角线上的元素为1,其他元素为0的矩阵。
需要说明的是,第一数据方接收到的掩码矩阵与第二数据方的第三样本集合具有对应关系,因此,基于掩码矩阵计算得到的噪声矩阵,也是与该掩码矩阵对应的第三样本集合具有对应关系的,即为该第三样本集合的噪声矩阵。
S203:确定所述第三样本集合对应的残差向量,并将所述残差向量与所述第三样本集合对应的噪声矩阵的乘积,确定为所述第三样本集合对应的加噪残差向量。
其中,所述残差向量中包括所述第三样本集合中的训练样本的标签值与当前预测值之间的差值。
在基于纵向联邦学习的每轮模型训练中,第一数据方均需要确定每个训练样本对应的当前残差,以表明当前预测值与标签真实值之间的差距。
一种可选的实施方式中,首先,第一数据方从第一样本集合中确定与第二样本集合中的第二训练样本具有对应关系的第一训练样本,然后,基于所述第一训练样本对应的线性预测器、所述第二训练样本对应的线性预测器以及第一训练样本对应的标签值,确定所述第一训练样本对应的当前残差;其中,所述第二训练样本对应的线性预测器由所述第二数据方确定并发送至所述第一数据方。进而,基于所述第一训练样本对应的当前残差,确定所述第一样本集合对应的残差向量。最终,从所述第一样本集合对应的残差向量中,确定第三样本集合对应的残差向量。
实际应用中,在进行模型训练之前,首先初始化模型参数,其中,模型参数包括训练样本的各个维度的特征分别对应的权重值。假设第一数据方本地的第一样本集合中的训练样本的各个维度的特征分别对应的权重值构成权重向量
m
1用于表示特征维度的数量。对于第一样本集合中的每个训练样本,假设为x,第一数据方独立计算第一样本集合中的每个训练样本x对应的线性预测器/>
假设第二数据方本地的第二样本集合中的训练样本的各个维度的特征分别对应的权重值构成权重向量
m
2用于表示特征维度的数量。对于第二样本集合中的每个训练样本,假设为x,第二数据方独立计算第二样本集合中的每个训练样本x对应的线性预测器/>
第二数据方在独立计算得到每个训练样本的特征值之后,将线性预测器
发送至第一数据方。基于样本标识可以确定针对同一训练样本x,联合各数据方的本地数据计算得到的线性预测器为:/>
值得注意的是,如果纵向联邦学习系统中包括多个第二数据方,则针对具有同一样本标识的训练样本,需要联合第一数据方和该多个数据方的本地数据计算该训练样本对应的线性预测器。
第一数据方在计算得到训练样本x的线性预测器之后,结合来自各个第二数据方独立计算的线性预测器,计算训练样本x整体的线性预测器
并基于该线性预测器确定训练样本x的当前预测值,假设当前训练的模型为逻辑回归模型,则训练样本x的当前预测值为/>
然后,将训练样本x的当前预测值/>
与该训练样本x的标签真实值y
x之间的差值/>
确定为训练样本x的当前残差。
另外,当前训练的模型还可以为其他类型的模型,例如线性回归模型,则训练样本x的当前预测值可以为
对于其他类型的模型,本公开实施例不再一一举例。
第一数据方依照上述方式分别确定出每个训练样本的当前残差之后,将各个训练样本的当前残差组成残差向量Y=[r1,…,rn]T。
为了保证隐私数据安全,第一数据方不能将明文的残差发送至第二数据方,因此,本公开实施例可以利用噪声向量对残差进行加密后发送至第二数据方,来保证隐私数据安全。
本公开实施例中,基于第二数据方将第二样本集合划分成多个第三样本集合的策略,第一数据方将残差向量Y=[r1,…,rn]T拆分成与各个第三样本集合对应的残差向量Yi∈Rl′×1,其中,l′即为第三样本集合中包含的训练样本的数量。
一种可选的实施方式中,将第二样本集合划分成多个第三样本集合的策略,可以为按照样本标识从小到大的顺序对第二样本集合中的各个训练样本进行排序,将排序后的训练样本划分到不同的第三样本集合中。相应的,第一数据方也按照样本标识从小到大的顺序,对残差向量中的各个训练样本的当前残差进行排序,并基于排序后的各个训练样本的当前残差构成各个第三样本集合分别对应的残差向量,其中,各个残差子向量具有对应的第三样本集合,且该第三样本集合中的训练样本与对应的残差向量中的当前残差对应的训练样本具有对应关系,例如样本标识具有对应关系等。
本公开实施例中,在确定各个第三样本集合对应的残差向量之后,利用其对应的噪声矩阵对残差向量进行加密。具体的,第一数据方将同一第三样本集合对应的残差向量和噪声矩阵相乘,得到的乘积作为该第三样本集合对应的加噪残差向量,可以利用公式(2)计算加噪残差向量,如下:
Di=CiYi (2)
其中,Ci用于表示第i个第三样本集合的噪声矩阵,Yi用于表示第i个第三样本集合对应的残差向量,Di用于表示第i个第三样本集合对应的加噪残差向量。
S204:将所述第三样本集合对应的加噪残差向量发送至所述第二数据方。
其中,所述第二数据方用于基于所述加噪残差向量计算梯度向量,并基于所述梯度向量更新所述第二数据方对应的模型参数,得到所述第二数据方对应的更新后模型参数。
本公开实施例中,第一数据方在计算得到各个第三样本集合对应的加噪残差向量之后,将各个加噪残差向量发送至对应的第二数据方。第二数据方基于加噪残差向量计算梯度向量,并基于梯度向量更新第二数据方对应的模型参数,具体实现方式在后续实施例中进行介绍。
实际应用中,第一数据方可以确定本地的第一样本集合对应的残差向量,并基于所述残差向量计算梯度向量,以及基于所述梯度向量更新所述第一数据方的模型参数,得到所述第一数据方对应的更新后模型参数。
第一数据方在确定第一样本集合对应的残差向量Y=[r1,…,rn]T之后,基于残差向量计算梯度向量。具体的,可以采用如下公式(3)计算梯度向量:
其中,x1用于表示第一样本集合中的训练样本,l用于表示第一样本集合中的训练样本的数量,G1用于表示第一样本集合对应的梯度向量。
由于残差向量Y=[r1,…,rn]T是基于各数据方的训练样本计算得到,因此,第一数据方基于该残差向量计算梯度向量G1,并基于该梯度向量更新第一数据方的模型参数,也是以各数据方的训练样本为基础的,实现了联合多方数据共同训练模型的目的。
本公开实施例中,第一数据方在计算得到梯度向量之后,基于梯度向量更新第一数据方对应的模型参数,得到第一数据方对应的更新后模型参数。假设第一数据方对应的更新后模型参数为w1-ηG1,其中,w1为更新前的模型参数,G1表示第一数据方在本轮模型训练中计算得到的梯度向量,η为预设数值。
第一数据方在确定满足预设训练停止条件后,可以获取所述第一数据方对应的更新后模型参数,否则,继续执行所述S203,迭代训练。
其中,所述更新后模型参数用于构成基于所述纵向联邦学习系统训练得到的模型。
本公开实施例中,预设训练停止条件可以基于训练次数设定,例如为训练次数达到n次,则停止模型的训练。预设训练停止条件也可以基于相邻两次训练得到的更新后模型参数之间的差值设定,例如为相邻两次训练得到的更新后模型参数相差小于预设阈值时,停止模型的训练。
需要说明的是,本公开实施例可以基于需求设置训练停止条件,对此不进行限制。
实际应用中,在确定当前未满足预设训练停止条件后,继续开启新一轮的模型,具体的,重新确定在新一轮模型训练中各个第三样本集合对应的残差向量,直到确定满足预设训练停止条件为止。此时,可以获取第一数据方的最近一次模型训练得到的更新后模型参数,并利用更新后模型参数构成基于所述纵向联邦学习系统训练得到的模型。
本公开实施例提供的纵向联邦学习方法中,第一数据方通过为第二数据方计算噪声矩阵,并基于噪声矩阵为残差向量加密的方式,保证第一数据方计算的残差向量不会被第二数据方获取,达到了保护第一数据方的样本中标签隐私的目的。另外,相比于同态加密技术,通过噪声矩阵对残差向量加密的方式计算开销较小,因此,本公开实施例能够在保证数据隐私的基础上,提高纵向联邦学习的效率。
基于上述实施例,本公开还提供了一种纵向联邦学习方法,参考图3,为本公开实施例提供的另一种纵向联邦学习方法的流程图。
其中,该方法应用于纵向联邦学习系统中的第二数据方,第二数据方存储有第二样本集合,具体的,该方法包括:
S301:基于本地的第二样本集合确定第三样本集合,并计算所述第三样本集合对应的掩码矩阵。
一种可选的实施方式中,第二数据方可以基于样本标识对本地的第二样本集合进行拆分,得到第三样本集合。
一种可选的实施方式中,第二数据方按照样本标识由小到大的顺序,对第二样本集合中的各个训练样本进行排序,将排序后的训练样本划分到不同的第三样本集合中。
一种可选的实施方式中,第二数据方首先为第三样本集合对应的矩阵执行QR分解,得到Q矩阵和R矩阵;其中,所述Q矩阵和R矩阵的乘积为所述第三样本集合对应的矩阵,所述Q矩阵的行和列的数量相同,且等于所述第三样本集合对应的矩阵的行数量。然后,将所述Q矩阵的前m列去除后,从所述Q矩阵中获取g列构成所述第三样本集合对应的掩码矩阵;其中,m为所述第三样本集合对应的矩阵的列数量,所述g为预设正整数。
需要说明的是,本公开实施例针对QR分解的具体实现方式不做赘述,对矩阵执行QR分解能够得到用于构造掩码矩阵的Q矩阵。
以下以第二数据方将
拆分成多个/>
为例。第一数据方为各个第三样本集合对应的矩阵/>
计算掩码矩阵。
实际应用中,针对每个第三样本集合的矩阵执行QR分解,即找到满足条件的Q
i∈R
l ×l和
使得x
2,i=Q
iR
i。然后,去掉Q
i矩阵的前m
2列得到/>
选取/>
中的g列,用于构造掩码矩阵Z
i∈R
l′×g。其中,m
2用于表示第二数据方本地的第二样本集合中的训练样本的特征维度的数量,如上述表1所示,其对应的特征维度的数量为3,即包含“登录频率”、“浏览时长”和“感兴趣话题”三个特征维度,m
2的取值为3。另外,一种可选的实施方式中,g=(m
2/(m
2+1))*l′。
S302:将所述第三样本集合对应的掩码矩阵发送至纵向联邦学习系统中的第一数据方。
其中,所述第一数据方用于基于所述掩码矩阵确定所述纵向联邦学习系统中的对应的加噪残差向量,所述第一数据方内存储的第一样本集合中包括具有标签的训练样本,所述第一样本集合中具有标签的训练样本与所述第二样本集合中的训练样本具有对应关系。
本公开实施例中,第二数据方在计算得到各个第三样本集合对应的掩码矩阵Zi之后,将Zi发送至第一数据方。
需要说明的是,第一数据方基于掩码矩阵Zi确定各个第三样本集合对应的加噪残差向量,以及第一数据方对本地的模型参数进行训练的过程,可参照上述实施例进行理解,在此不再赘述。
S303:获取来自所述第一数据方的所述加噪残差向量,并基于所述加噪残差向量计算梯度向量。
本公开实施例中,第二数据方在接收到来自第一数据方的加噪残差向量之后,可以基于各个加噪残差向量计算梯度向量。
实际应用中,第二数据方可以利用公式(4)计算梯度向量,具体的:
其中,Di用于表示第i个第三样本集合对应的加噪残差向量,x2,i T用于表示第i个第三样本集合中的训练样本,l用于表示第二样本集合中的训练样本的数量,即所有第三样本集合中的训练样本的总数量;G2用于表示第二数据方在本轮模型训练中计算得到的梯度向量。
本公开实施例中,由于第二数据方接收到的残差向量是基于噪声矩阵加密后的加噪残差矩阵,因此第二数据方无法获知第一数据方计算得到的残差向量的明文,保证了第一数据方的隐私数据安全,另外,加噪残差矩阵能够用于梯度向量的计算,不影响第二数据方对模型参数的训练。
另外,本公开实施例基于加噪残差矩阵计算梯度向量,对系统性能消耗不大,能够在保证隐私数据安全的基础上,提升模型训练的效率。
S304:基于所述梯度向量更新本地的模型参数,得到更新后模型参数。
本公开实施例中,第二数据方在计算得到梯度向量之后,基于梯度向量更新第二数据方对应的模型参数,得到第二数据方对应的更新后模型参数。假设第二数据方对应的更新后模型参数为w2-ηG2,其中,w2为更新前的模型参数,G2表示第二数据方在本轮模型训练中计算得到的梯度向量,η为预设数值。
第二数据方在确定满足预设训练停止条件后,获取所述第二数据方对应的更新后模型参数,否则,继续执行所述获取来自所述第一数据方的所述加噪残差向量的步骤,迭代训练。
其中,所述更新后模型参数用于构成基于所述纵向联邦学习系统训练得到的模型。
本公开实施例中的预设训练停止条件可以参照上述实施例进行理解,一种可选的实施方式中,预设训练停止条件可以为第一数据方的模型训练达到N轮且至少一个第二数据方的模型训练达到N轮。
本公开实施例提供的纵向联邦学习方法中,第二数据方基于由噪声矩阵加噪后的残差向量计算梯度向量,对系统资源的消耗较低,能够在保证数据隐私的基础上,提高纵向联邦学习的效率。
基于上述方法实施例,本公开还提供了一种纵向联邦学习装置,参考图4,为本公开实施例提供的一种纵向联邦学习装置的结构示意图,所述装置包括:
第一接收模块401,用于接收纵向联邦学习系统中的第二数据方发送的与第三样本集合对应的掩码矩阵;其中,所述第三样本集合为基于对所述第二数据方的第二样本集合的拆分得到,所述第二样本集合中的训练样本与本地的第一样本集合中具有标签的训练样本具有对应关系;
第一计算模块402,用于基于所述第三样本集合对应的掩码矩阵,计算所述第三样本集合对应的噪声矩阵;其中,所述噪声矩阵由与所述第三样本集合中的每个训练样本对应的噪音量构成,所述噪音量用于加噪处理;
第一确定模块403,用于确定所述第三样本集合对应的残差向量,并将所述残差向量与所述第三样本集合对应的噪声矩阵的乘积,确定为所述第三样本集合对应的加噪残差向量;其中,所述残差向量中包括所述第三样本集合中的训练样本的标签值与当前预测值之间的差值;
第一发送模块404,用于将所述第三样本集合对应的加噪残差向量发送至所述第二数据方;其中,所述第二数据方用于基于所述加噪残差向量计算梯度向量,并基于所述梯度向量更新所述第二数据方对应的模型参数,得到所述第二数据方对应的更新后模型参数。一种可选的实施方式中,所述第一计算模块402,包括:
第一计算子模块,用于计算所述第三样本集合对应的掩码矩阵与所述掩码矩阵的转置矩阵的乘积;
第一确定子模块,用于将单位矩阵与所述乘积的差值,确定为所述第三样本集合对应的噪声矩阵。
一种可选的实施方式中,所述第一确定模块403,包括:
第二确定子模块,用于从所述第一样本集合中确定与所述第二样本集合中的第二训练样本具有对应关系的第一训练样本;
第三确定子模块,用于基于所述第一训练样本对应的线性预测器、所述第一训练样本对应的线性预测器以及所述第一训练样本对应的标签值,确定所述第一训练样本对应的当前残差;其中,所述第二训练样本对应的线性预测器是由所述第二数据方确定并发送至所述第一数据方;
第四确定子模块,用于基于所述第一训练样本对应的当前残差,确定所述第一样本集合对应的残差向量;
第五确定子模块,用于从所述第一样本集合对应的残差向量中,确定所述第三样本集合对应的残差向量。
一种可选的实施方式中,所述第三样本集合为基于样本标识对所述第二数据方的第二样本集合进行拆分得到。
一种可选的实施方式中,所述第三样本集合中包括多媒体数据训练样本、音频数据训练样本、视频数据训练样本、图像数据训练样本、文本数据训练样本中的一种或者多种组合。
本公开实施例提供的纵向联邦学习装置中,通过为第二数据方计算噪声矩阵,并基于噪声矩阵为残差向量加密的方式,保证第一数据方计算的残差向量不会被第二数据方获取,达到了保护第一数据方的样本中标签隐私的目的。另外,相比于同态加密技术,通过噪声矩阵对残差向量加密的方式计算开销较小,因此,本公开实施例能够在保证数据隐私的基础上,提高纵向联邦学习的效率。
基于上述实施例,本公开还提供了一种纵向联邦学习装置,参考图5,为本公开实施例提供的另一种纵向联邦学习装置的结构示意图,所述装置包括:
第二确定模块501,用于基于本地的第二样本集合确定第三样本集合;
第二计算模块502,用于计算所述第三样本集合对应的掩码矩阵;
第二发送模块503,用于将所述第三样本集合对应的掩码矩阵发送至纵向联邦学习系统中的第一数据方;其中,所述第一数据方用于基于所述掩码矩阵确定所述第三样本集合对应的加噪残差向量,所述第一数据方内存储的第一样本集合中包括具有标签的训练样本,所述第一样本集合中具有标签的训练样本与所述第二样本集合中的训练样本具有对应关系;
第三计算模块504,用于获取来自所述第一数据方的所述加噪残差向量,并基于所述加噪残差向量计算梯度向量;
更新模块505,用于基于所述梯度向量更新本地的模型参数,得到更新后模型参数。
一种可选的实施方式中,所述第二确定模块,具体用于:
基于样本标识对本地的第二样本集合进行拆分,得到第三样本集合。
一种可选的实施方式中,所述第二确定模块,包括:
排序子模块,用于基于样本标识对本地的第二样本集合中的训练样本进行排序,得到排序后的第二样本集合;
拆分子模块,用于对所述排序后的第二样本集合进行拆分,得到第三样本集合。
一种可选的实施方式中,所述第二计算模块502,包括:
分解子模块,用于为所述第三样本集合对应的矩阵执行QR分解,得到Q矩阵和R矩阵;其中,所述Q矩阵和R矩阵的乘积为所述第三样本集合对应的矩阵,所述Q矩阵的行和列的数量相同,且等于所述第三样本集合对应的矩阵的行数量;
获取子模块,用于将所述Q矩阵的前m列去除后,从所述Q矩阵中获取g列构成所述第三样本集合对应的掩码矩阵;其中,m为所述第三样本集合对应的矩阵的列数量,所述g为预设正整数。
本公开实施例提供的纵向联邦学习装置中,基于由噪声矩阵加噪后的残差向量计算梯度向量,对系统资源的消耗较低,能够在保证数据隐私的基础上,提高纵向联邦学习的效率。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的纵向联邦学习方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例所述的纵向联邦学习方法。
另外,本公开实施例还提供了一种纵向联邦学习设备,参见图6所示,可以包括:
处理器601、存储器602、输入装置603和输出装置604。纵向联邦学习设备中的处理器601的数量可以一个或多个,图6中以一个处理器为例。在本公开的一些实施例中,处理器601、存储器602、输入装置603和输出装置604可通过总线或其它方式连接,其中,图6中以通过总线连接为例。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行纵向联邦学习设备的各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置603可用于接收输入的数字或字符信息,以及产生与纵向联邦学习设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现上述纵向联邦学习设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。