利索能及
我要发布
收藏
专利号: 2022103682721
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于多方高维数据纵向联邦学习的商业信息推荐方法,其特征在于:包括以下步骤:S1:创建同态加密的密钥对,进行多方数据的预处理和加密样本对齐,所述多方数据为标签方A方、客户方B方、客户方C方和协作方P方的己方存在且不能被他方知晓的商业隐私数据;

S2:构建纵向联邦LightGBM模型;

S3:将纵向联邦LightGBM模型转换成神经网络,作为纵向联邦ECA‑DeepGBM模型的GBDT2NN部分;

S4:纵向联邦ECA‑DeepGBM模型CatNN部分前馈过程计算;

S5:构建损失函数,训练高维数据分类预测模型,基于训练好的高维数据分类预测模型,实现商业信息分类推荐。

2.根据权利要求1所述的基于多方高维数据纵向联邦学习的商业信息推荐方法,其特征在于:步骤S1具体包括以下步骤:S11:协作方P方生成同态加密的公钥pk,私钥sk,并将公钥pk发送给标签方A方、客户方B方、客户方C方;各方的所述商业隐私数据包括:A方拥有已有商业信息的标签,也是推荐需求方;B方拥有个人或企业的部分商业信息,以及B方应用场景中的其他相关数据;C方拥有个人或企业的基本信息;

S12:建立以扩充样本特征维度为目的多方纵向联邦学习分类预测样本集,用于商业信息分类推荐:使用基于加密的样本对齐技术,确保A方、B方与C方在不暴露各自原始数据的情况下就对齐共同用户;

S13:客户方B方、客户方C方将己方样本的特征进行预处理,客户方B方将己方特征拆分成连续的数值特征 与离散的类别特征 客户方C方将己方特征拆分成连续的数值特征 与离散的类别特征 将数值特征作为己方模型的GBDT2NN部分的输入,类别特征作为己方模型的CatNN部分的输入。

3.根据权利要求1所述的基于多方高维数据纵向联邦学习的商业信息推荐方法,其特征在于:步骤S2具体包括以下步骤:S21:客户方B方与客户方C方将连续的数值特征 作为共同输入进行纵向联邦LightGBM的训练:客户方B方、客户方C方通过互斥特征捆绑来得到处理后的新的数据集S22:标签方A方通过真实标签和已训练的决策树的预测值来计算每个样本损失函数的一阶导数gi和二阶导数hi的信息,i∈{1,2,3,…,Y},其中Y为样本的个数,损失函数采用交叉熵损失函数,然后通过同态加密后传输给其他持有特征的客户方;

S23:客户方B方、客户方C方接受到加密后的一阶导数[[gi]]和二阶导数[[hi]]后,根据EFB己方数据集x 里的所有特征,将每个特征对应的特征值按百分比分割进行分桶,并得到每个特征每一个桶里样本的一阶导数[[gi]]与二阶导数[[hi]]的之和,[[Gi]]与[[Hi]],之后将[[Gi]]与[[Hi]]发送给标签方A方,[[*]]表示对数据进行了同态加密;

S24:标签方A方得到客户方B方、客户方C方传递的聚合加密梯度{[[Gi]],[[Hi]]}后,进行相应的解密操作,得到每一个桶的聚合值,然后通过最大化 找到相应的最优分割点,其中λ表示L2正则项的系数,Gl表示小于等于分裂阈值v的所有桶相加得到的一阶导数之和,Gr表示大于分裂阈值v所有桶相加得到的一阶导数之和,G表示当前结点的所有样本的一阶导数之和,Hl表示小于等于分裂阈值v的所有桶相加得到的二阶导数之和,Hr表示大于分裂阈值v所有桶相加得到的二阶导数之和,H当前结点的所有样本的二阶导数之和;遍历每一个桶对应的特征值作为分界点,能够得到当前特征的score最大值;遍历所有特征,得到全局最大化score的对应的分裂的特征k、最优分裂的阈值点v;

S25:拥有最优分裂点特征的客户方保存分裂的阈值点v、用于分裂的特征k,然后对当前树结点的样本空间进行划分,通过特征k的分裂的阈值点v来划分成左右两个子数据集,并将划分后新的结点的样本空间结果发送给其他客户方以及标签方A方,进行样本空间的同步,同时该客户方返回所属客户方信息给标签方A方,用于记录在哪一个客户方的特征进行了结点分裂;

S26:标签方A方将当前叶子结点分裂成两个新的叶子结点,将叶子结点索引与叶子结点样本空间中样本的id进行记录,用于将梯度提升树转换成神经网络;迭代步骤S22‑S26,进入对下一个叶子结点分割的选择,直到达到LightGBM训练的终止条件。

4.根据权利要求1所述的基于多方高维数据纵向联邦学习的商业信息推荐方法,其特征在于:步骤S3具体包括以下步骤:S31:将训练好的纵向LightGBM模型通过知识蒸馏的方式转换成相应的神经网络,来作为客户方B方、客户方C方处理连续的数值数据的GBDT2NN部分:首先进行LightGBM中决策树的分组,将其均分得到m个树组,对于m个树组中的某一个树组 转换成神经网络的步骤如下:S311:标签方A遍历树组 中每颗决策树,得到第i个样本对应的决策树的叶子结点的索t,i引向量,然后使用拼接操作||()将得到的所有索引向量拼接起来;L 表示树t中第i个样本的叶子结点的索引向量,利用在纵向联邦LightGBM训练中记录的叶子结点索引与样本idt,i得到L ;

S312:标签方A方利用嵌入层来得到叶子结点的嵌入表示

表示将拼接得到的multi‑hot向量 映射成嵌入表示 使用

拟合第i个样本所在树组 中的决策树叶子结点的权重之和

损失函数 使用与LightGBM中相同的损失函数,学习多棵树的叶子结点嵌入的过程表示为:T T

其中w 与w0表示嵌入后的索引映射到GBDT2NN部分输出的权重与偏置,ω 表示将multi‑hot向量转换成embedding向量的参数,n表示训练样本的总数,i表示第i个训练的样本;

S313:在客户方B方、客户方C方处,初始化两个分别在客户方B方、客户方C方的作为GBDT2NN部分的神经网络;设置客户方B方、客户方C方输入的特征为在决策树的分裂中己方使用的特征 输出的维度与 的维度一致;

S314:客户方B方、客户方C方得到己方GBDT2NN部分输出:客户方B方、客户方C方得到树组 转换得到的己方模型的子神经网络的输出 客户方B方、客户方C方同时将其进行同态加密操作,发送给标签方A方; 表示客户方B方的神经网络第i个样本的输出, 表示第i个样本在客户方B方的特征, 表示客户方B方神经网络的参数, 表示客户方C方的神经网络第i个样本的输出, 表示第i个样本在客户方C方的特征, 表示客户方C方神经网络的参数;标签方A方通过接收的信息计算将树组 的叶子结点的嵌入损失 其中 表示回归损失函数:S315:标签方A方利用之前使用嵌入表示来拟合多个叶子节点的权重之和时学习到的T权重w与偏置w0,将其发送给客户方B方、客户方C方,客户方B方得到当前树组 转换成的子神经网络的输出客户方C方得到当前树组 转换成的子神经网络的输出

S32:将m个树组按步骤S311‑S315都转换成相应神经网络后,客户方B方得到B方子模型GBDT2NN部分的输出客户方C方得到C方子模型GBDT2NN部分的输出

5.根据权利要求1所述的基于多方高维数据纵向联邦学习的商业信息推荐方法,其特征在于:步骤S4具体包括以下步骤:S41:客户方B方、C方得到己方CatNN部分输出:客户方B方和客户方C方的离散数据分别输入到各自方的FAT‑DeepFFM模型中,即是己方子模型的CatNN部分;

客户方B方、客户方C方将输入转换成one‑hot编码后,将己方特征划分为fB、fC个域;客户方B方、客户方C方首先对己方输入的特征通过嵌入层得到相应的嵌入后的向量eij,eij表示第i个域对第j个域的嵌入后得到的隐向量,vij是第i个特征对应第j个域进行嵌入的权重:eij=vijxi

得到相应的第i个域的嵌入矩阵EMi=[ei1,ei2,...,eif],其中f根据客户方自身划分的域的个数得到;

S42:客户方B方和客户方C方得到己方第i个特征组经过嵌入后的得到的矩阵EMi,通过己方模型的高效通道注意模块来对嵌入后的特征矩阵使用注意力机制,来得到新的嵌入矩阵:AEMi=F(Si,EMi)=[Si1·ei1,…,Sij·eij,…,Sif·eif]AEMi表示第i个特征组得到的经过注意力机制处理后的嵌入矩阵,Si表示经过了ECA‑Net模块后得到的EMi对应的权重值;

S43:客户方B方、客户方C方在己方FAT‑DeepFFM模型的特征交互层,对向量两两进行交互,采用哈达玛积的方式进行向量交互:S44:客户方B方、客户方C方将己方得到的哈达玛积向量使用拼接操作连接起来,然后将其输入到深度神经网络中:S45:客户方B方、客户方C方分别用一个深度神经网络来负责高阶的特征交互,前向传播的输出结果为DNN(finteraction(Vx))S46:客户方B方通过加上相应的线性部分输出,得到客户方B方CatNN部分的总输出:其中 表示线性部分B方部分的偏置项, 表示B方第i个特征的权重, 表示B方样本的第f个特征, 表示B方得到的拼接后的哈达玛积向量;

客户方C方通过加上相应的线性部分输出,得到客户方C方CatNN部分的总输出:其中 表示线性部分C方部分的偏置项, 表示C方第i个特征的权重, 表示C方样本的第i个特征, 表示C方得到的拼接后的哈达玛积向量。

6.根据权利要求1所述的基于多方高维数据纵向联邦学习的商业信息推荐方法,其特征在于:步骤S5具体包括以下步骤:S51:纵向联邦ECA‑DeepGBM的损失函数涉及模型整体预测损失 将LightGBM中决策树分成m组后的梯度提升树叶子结点的嵌入过程的损失 将其进行加权得到纵向联邦ECA‑DeepGBM的总体损失整体预测损失 通过标签方A方拥有的真实标签y、B方子模型预测值 与C方子模型预测值 计算得到,LightGBM转换成神经网络的嵌入损失 通过将每个树组的嵌入损失加起来得到;

表示第j个树组的嵌入损失,α与β是超参数,用于控制损失值的大小;

S52:其中 使用的损失函数 为交叉熵损失函数,涉及指数运算,将其进行同态加密,将加密后的预测损失 通过泰勒展开做一个多项式近似;令则:

S53:客户方B方通过客户方B方子模型GBDT2NN部分输出 与CatNN部分的输出 将其结果进行加权得到B方模型的预测输出,并将其经过加密得到客户方C方得到C方模型的加密预测输出

其中,w1与w2也是可训练的参数,通过训练过程中进行更新;

S54:客户方B方将 发送给标签方A方与客户方C方,客户方C方通过自身的预测值与客户方B方发送的 计算[[dBC]],然后将[[dBC]]与 也发送给标签方A方;

S55:标签方A方通过真实标签y以及B方与C方发送的 [[dBC]]计算根据客户方B方GBDT2NN部分的预测值 客户方C方预测值

标签 以相同的方式计算 将其进行加权相加,得到模型的

整体损失

S56:标签方A方发送给客户方B方、客户方C方模型的整体损失 客户方B方、客户方C方分别根据 计算客户方B方、客户方C方子模型线性层的梯度信息从而分别更新 与 与

S57:发送加密后的梯度信息给协作方P方,协作方P方进行解密后,返回给客户方B方、客户方C方的梯度信息 进行更新 与 与 的值;

S58:客户方B方通过中间信息,即己方模型CatNN部分的输出 与 来计算CatNN部分神经网络的第L层梯度信息 通过GBDT2NN部分的输出 与来计算GBDT2NN部分神经网络的第L层梯度信息 客户方C方同理计算得到然后根据梯度信息来更新相应的神经元的参数;

S59:通过第L层的梯度信息,神经网络进行反向传播,各方在不同NN网络的第L层对中间信息进行加密计算,得到发送给协作者P方进行解密;P方将解密后的结果分别返给客户方B方和客户方C方,客户方B方和客户方C方在接收到解密信息后,各自分别计算前一层的损失函数梯度信息 然后更新第L‑1层的神经元的参数信息;

S510:反向传播过程一直从第L层传播到第1层,更新完成各方不同NN网络中所有神经元的参数;继续迭代步骤S53‑S59,直到模型收敛或是达到指定迭代次数,模型训练结束;

S511:基于训练得到的纵向联邦ECA‑DeepGBM模型,进行样本对齐后,客户方B方根据客户方B方的特征得到己方的预测输出 客户方C方根据C方的特征得到己方的预测输出然后分别将己方输出发送给协作方P方;协作方P方将客户方B方与客户方C方的预测输入相加后,使用sigmoid函数激活,得到基于纵向联邦学习的多方高维数据的商业信息推荐结果,将其输出返回给客户方B方与客户方C方。

7.一种基于多方高维数据纵向联邦学习的商业信息推荐装置,其特征在于:包括存储器和处理器;

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

所述处理器,用于当执行所述计算机程序时,实现如权利要求1‑6任一项所述的基于多方高维数据纵向联邦学习的商业信息推荐方法。