CN115983407B - 一种纵向联邦逻辑回归训练方法及装置 - Google Patents

一种纵向联邦逻辑回归训练方法及装置 Download PDF

Info

Publication number
CN115983407B
CN115983407B CN202310263221.7A CN202310263221A CN115983407B CN 115983407 B CN115983407 B CN 115983407B CN 202310263221 A CN202310263221 A CN 202310263221A CN 115983407 B CN115983407 B CN 115983407B
Authority
CN
China
Prior art keywords
participant
data
party
gradient
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310263221.7A
Other languages
English (en)
Other versions
CN115983407A (zh
Inventor
张熙
杨宇博
杨金翠
郭三川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN202310263221.7A priority Critical patent/CN115983407B/zh
Publication of CN115983407A publication Critical patent/CN115983407A/zh
Application granted granted Critical
Publication of CN115983407B publication Critical patent/CN115983407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种纵向联邦逻辑回归训练方法及装置,各参与方使用CKKS全同态加密将本地计算的半梯度列表加密发送给对方,将接收到的对方加密后的半梯列表,与本地计算的明文半梯度列表相加并与明文数据矩阵的转置相乘,计算得到加密状态下完整的梯度。对加密状态下完整的梯度添加混淆后发送至对方参与方进行解密后返回,消除混淆后得到最终的明文梯度用于更新模型。基于纵向逻辑回归的训练模式,引入CKKS进行全同态加密,极大简化了同态加密过程,提升了计算效率。

Description

一种纵向联邦逻辑回归训练方法及装置
技术领域
本发明涉及联邦学习技术领域,尤其涉及一种纵向联邦逻辑回归训练方法及装置。
背景技术
随着上个世纪反向传播算法的出现,深度学习以更快的速度向前发展。当今世界,从医学图像分析,汽车的自动驾驶,谷歌的AlphaGo围棋机器人,到购物网站、视频网站的推荐系统等等,人工智能在各个领域都有广泛应用。但是一个性能优良的人工智能预测模型需要海量的训练数据,在人工智能高速发展的今天,如何获取海量的训练数据成为本领域内重点研究的问题。
以医学领域为例,一个医学领域的癌症预测模型需要的训练样本数量往往很难仅由一家医学机构支撑,需要两家甚至多家医学机构将数据传输至一数据中心,在数据中心对数据做统一的训练,最终得到预测模型,但是由于政策上的原因并非所有的参与机构都可以贡献自己的数据,这样会形成“数据孤岛”导致各个医疗机构的预测模型都不能正常的预测。
数据无法共享主要考虑到两个方面:数据价值方面和隐私保护方面。数据价值方面只要是因为数据是可以复制的,而参与方的数据出库后对于其他方来说是可获取的,这对提供数据的参与方是不利的。隐私保护方面,由于一些数据涉及到某些群体的个人隐私,用户方面也不愿意将涉及隐私的数据公开研究。所以数据参与方有责任和义务保护用户数据的隐私安全。纵向来看,行业顶尖的巨头公司垄断了大量的数据信息,小公司往往很难得到这些数据,导致企业间的层级和差距不断拉大;横向来看,同一层级不同行业的公司,由于系统和业务的闭塞性与阻隔性,很难实现数据信息的交流与整合,联合建模需要跨越重重壁垒。
在这些方面的限制下,为了统筹利用多方数据,亟需一种新的模型训练方法。
发明内容
鉴于此,本发明实施例提供了一种纵向联邦逻辑回归训练方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,解决由于数据分布在多方主体产生信息孤岛,从而导致模型训练无法快速高效地利用多方数据进行模型训练的问题。
本发明的一个方面提供了一种纵向联邦逻辑回归训练方法,所述方法由纵向联邦学习的两个参与方执行,该方法包括以下步骤:
由各参与方分别生成各自的CKKS公私钥对,并交换各自的CKKS公钥;
由各参与方初始化模型的权重参数;
在一轮迭代中,由有标签的第一参与方确定当前轮次参与训练的数据ID并同步至没有标签的第二参与方;
由所述第一参与方利用己方参数计算对应的第一半梯度列表,所述第一半梯度列表按照所述数据ID的顺序排列;
由所述第二参与方利用己方参数计算对应的第二半梯度列表,所述第二半梯度列表按照所述数据ID的顺序排列;
由所述第一参与方利用己方CKKS公钥对所述第一半梯度列表进行加密,并发送至对应的第二参与方;由所述第二参与方利用己方CKKS公钥对所述第二半梯度列表进行加密,并发送至所述第一参与方;
结合第二参与方的CKKS公钥,由第一参与方利用CKKS算法将接收到的加密状态下的所述第二半梯度列表与本地明文状态下的第一半梯度列表相加,得到对应的第一加法结果密文;将所述数据ID对应的本地明文数据矩阵作转置后与所述第一加法结果密文做向量乘法,得到第一中间结果密文,并添加混淆后发送至所述第二参与方;
由所述第二参与方利用己方的CKKS私钥,解密添加混淆后的所述第一中间结果密文,得到第一全梯度列表并发送至所述第一参与方,以供所述第一参与方减去混淆后更新模型;
结合第一参与方的CKKS公钥,由第二参与方利用CKKS算法将接收到的加密状态下的所述第一半梯度列表与本地明文状态下的第二半梯度列表相加,得到第二加法结果密文;所述第二参与方将所述数据ID对应的本地明文数据矩阵作转置后与所述第二加法结果密文做向量乘法,得到第二中间结果密文,并添加混淆后发送至所述第一参与方;
由所述第一参与方利用己方的CKKS私钥,解密添加混淆后的所述第二中间结果密文,得到第二全梯度列表并发送至所述第二参与方,以供所述第二参与方减去混淆后更新模型。
在一些实施例中,由所述第一参与方利用己方参数计算对应的第一半梯度列表,计算式为:
Figure SMS_1
Figure SMS_2
其中,
Figure SMS_3
表示所述第一参与方基于本地数据计算得到的第一半梯度列表,
Figure SMS_4
表示所述第一参与方本轮迭代中的模型参数的转置;
Figure SMS_5
表示所述第一参与方本地参与训练的第i条数据,
Figure SMS_6
表示第i条数据的标签信息。
在一些实施例中,由所述第二参与方利用己方参数计算对应的第二半梯度列表,计算式为:
Figure SMS_7
Figure SMS_8
其中,
Figure SMS_9
表示所述第二参与方基于本地数据计算得到的第二半梯度列表,
Figure SMS_10
表示所述第二参与方本轮迭代中的模型参数的转置,
Figure SMS_11
表示所述第二参与方本地参与训练的第i条数据。
在一些实施例中,所述第一中间结果密文的计算式为:
Figure SMS_12
其中,
Figure SMS_13
表示第一加法结果密文,
Figure SMS_14
表示加密后的第二半梯度列表,
Figure SMS_15
表示所述第一半梯度列表,
Figure SMS_16
表示所述第一参与方本地参与训练的第i条数据,n表示所述第一参与方本地参与训练的数据条数;
所述第二中间结果密文的计算式为:
Figure SMS_17
其中,
Figure SMS_18
表示第二中间结果密文,
Figure SMS_19
表示加密后的第一半梯度列表,
Figure SMS_20
表示所述第二半梯度列表,
Figure SMS_21
表示所述第二参与方本地参与训练的第i条数据,n表示所述第二参与方本地参与训练的数据条数。
在一些实施例中,将所述数据ID对应的本地明文数据矩阵作转置后与所述第一加法结果密文做向量乘法,得到第一中间结果密文,并添加混淆后发送至所述第二参与方中,添加混淆的步骤包括:在所述第一中间结果密文中的每一项上添加一个随机数,并将各随机数记录为混淆向量。
在一些实施例中,所述随机数采用不经意伪随机函数生成。
在一些实施例中,所述方法采用tenseal库实现CKKS全同态加密。
在一些实施例中,所述方法中当迭代次数达到设定数值时停止训练。
另一方面,本发明还提供一种纵向联邦逻辑回归训练装置,包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本发明的有益效果至少是:
本发明所述纵向联邦逻辑回归训练方法及装置,各参与方使用CKKS全同态加密将本地计算的半梯度列表加密发送给对方,将接收到的对方加密后的半梯列表,与本地计算的明文半梯度列表相加并与明文数据矩阵的转置相乘,计算得到加密状态下完整的梯度。对加密状态下完整的梯度添加混淆后发送至对方参与方进行解密后返回,消除混淆后得到最终的明文梯度用于更新模型。基于纵向逻辑回归的训练模式,引入CKKS进行全同态加密,极大简化了同态加密过程,提升了计算效率。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所述纵向联邦逻辑回归训练方法的流程示意图。
图2为本发明另一实施例所述纵向联邦逻辑回归训练方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
基于模型训练过程中,对数据价值和隐私保护的需求,联邦学习应运而生,旨在解决数据孤岛的问题,可以让各个数据参与方在数据不出库的前提下完成联合建模,建好的模型在各自的区域只为本地的目标服务,即保护了各方的数据安全和隐私,又避免了大量数据的传输。联邦学习分为横向联邦学习,纵向联邦学习和联邦迁移学习,横向联邦学习是多个参与方数据维度一致,但是数据id不一致,纵向联邦学习指的是多个参与方之间数据id一致,但是维度不一致,联邦迁移学习指的是多个参与方之间数据维度和id都不一致的情况,本发明主要用于纵向联邦学习场景下的逻辑回归训练过程,纵向联邦逻辑回归的实现依赖于同态加密技术:同态加密技术允许数值在密文状态下进行计算,解密后能得到密文计算之后的结果。
联邦学习方案中,各个移动设备为一个数据方,拥有的数据仅仅是一个设备上所有的数据。每个设备用本地数据在本地计算出一个模型,并将本地计算的模型或者模型更新利用同态加密算法加密后发送至中央服务器端,中央服务器收到各个参与方发送来的模型,由于同态加密的特殊性,服务器可以利用联邦平均算法FedAvg将各个参与方发来的密文模型或模型更新根据数据占比权重聚合为一个新的模型,然后将新模型发回给各个参与方。参与方在新模型的基础上进行迭代训练。重复这个过程,直到模型收敛。这个场景中数据分布在许多设备上,每个设备都是一个数据参与方,每个参与方拥有的数据是同维度的,只是样本不同,这种联邦学习称为横向联邦学习,与之相对的是纵向联邦学习,纵向联邦学习中各个数据参与方的数据样本有较大重叠,但是数据的特征维度不同,同时还有第三种联邦学习方案,在数据样本和特征维度都不同时,可以采用联邦迁移学习的方案。
其中,纵向联邦学习之前需要进行一步数据对齐,找到多个参与方中的重叠数据集,并在重叠数据集上进行训练。纵向联邦学习不能像横向联邦学习一样对所有的模型普适,它需要针对不同模型的不同目标函数进行分解,在各个参与方中计算本地可以计算的部分并加密,然后互相交换密文信息进行合并计算,最后进行解密,各个参与方即可拿到更新的模型参数。
具体的,本发明的提供了一种纵向联邦逻辑回归训练方法,所述方法由纵向联邦学习的两个参与方执行,参照图1和图2,该方法包括以下步骤S101~S110:
步骤S101:由各参与方分别生成各自的CKKS公私钥对,并交换各自的CKKS公钥。
步骤S102:由各参与方初始化模型的权重参数。
步骤S103:在一轮迭代中,由有标签的第一参与方确定当前轮次参与训练的数据ID并同步至没有标签的第二参与方。
步骤S104:由第一参与方利用己方参数计算对应的第一半梯度列表,第一半梯度列表按照数据ID的顺序排列。
步骤S105:由第二参与方利用己方参数计算对应的第二半梯度列表,第二半梯度列表按照数据ID的顺序排列。
步骤S106:由第一参与方利用己方CKKS公钥对第一半梯度列表进行加密,并发送至对应的第二参与方;由第二参与方利用己方CKKS公钥对第二半梯度列表进行加密,并发送至第一参与方。
步骤S107:结合第二参与方的CKKS公钥,由第一参与方利用CKKS算法将接收到的加密状态下的第二半梯度列表与本地明文状态下的第一半梯度列表相加,得到对应的第一加法结果密文;将数据ID对应的本地明文数据矩阵作转置后与第一加法结果密文做向量乘法,得到第一中间结果密文,并添加混淆后发送至第二参与方。
步骤S108:由第二参与方利用己方的CKKS私钥,解密添加混淆后的第一中间结果密文,得到第一全梯度列表并发送至第一参与方,以供第一参与方减去混淆后更新模型。
步骤S109:结合第一参与方的CKKS公钥,由第二参与方利用CKKS算法将接收到的加密状态下的第一半梯度列表与本地明文状态下的第二半梯度列表相加,得到第二加法结果密文;第二参与方将数据ID对应的本地明文数据矩阵作转置后与第二加法结果密文做向量乘法,得到第二中间结果密文,并添加混淆后发送至第一参与方。
步骤S110:由第一参与方利用己方的CKKS私钥,解密添加混淆后的第二中间结果密文,得到第二全梯度列表并发送至第二参与方,以供第二参与方减去混淆后更新模型。
在步骤S101中,本发明引入CKKS同态加密方案,提出一种使用CKKS同态加密算法完成纵向联邦逻辑回归的方法,大大加速了纵向联邦逻辑回归的计算过程。CKKS同态加密算法是利用分圆多项式的映射关系进行编码,其逆过程进行解码的一种同态加密方式,和paillier同态加密算法相比,CKKS同态加密拥有支持批量数据加密、支持浮点数计算、密文较小、密文计算速度快的优点,但是这些优点的前提是数据批量加密,也就是对一个数据列表进行加密。CKKS的安全性依赖于RLWE问题。明文是实数向量,表示为定点类型计算方式(实数表示方法:浮点计算和定点计算)。该方案很支持以SIMD方式在这些向量之间进行定点运算。
在实际应用过程中,各参与方可以基于预设算法自行生成CKKS公私密钥对,也可以通过请求可信任的第三方机构生成CKKS公私密钥对。各参与方包括有标签的第一参与方和没有标签的第二参与方,第一参与方记为guest方,第二参与方记为host方。
在步骤S102中,第一参与方和第二参与方分别对模型进行参数的初始化,其中,guest方的模型权重参数记为
Figure SMS_22
,host方的模型权重参数记为
Figure SMS_23
在步骤S103中,基于纵向联邦学习的原理,首先对第一参与方和第二参与方的数据进行对齐,以统一本次迭代训练过程中的训练数据。具体的,由第一参与方guest将参与本轮训练的数据的ID按照一定顺序同步至第二参与方host。
在步骤S104和S105中,第一参与方和第二参与方分别基于本地的数据计算相应的半梯度列表,由于是完整梯度能在本地计算的部分,所以称为半梯度。
在一些实施例中,由第一参与方利用己方参数计算对应的第一半梯度列表,计算式为:
Figure SMS_24
Figure SMS_25
其中,
Figure SMS_26
表示第一参与方基于本地数据计算得到的第一半梯度列表,
Figure SMS_27
表示第一参与方本轮迭代中的模型参数的转置;
Figure SMS_28
表示第一参与方本地参与训练的第i条数据,
Figure SMS_29
表示第i条数据的标签信息。
在一些实施例中,由第二参与方利用己方参数计算对应的第二半梯度列表,计算式为:
Figure SMS_30
Figure SMS_31
其中,
Figure SMS_32
表示第二参与方基于本地数据计算得到的第二半梯度列表,
Figure SMS_33
表示第二参与方本轮迭代中的模型参数的转置,
Figure SMS_34
表示第二参与方本地参与训练的第i条数据。
在步骤S106中,为了保证己方数据的隐蔽性,第一参与方利用己方的CKKS公钥对第一半梯度列表进行加密后发送至第二参与方host,这能保证其本地数据信息不会被泄露。相应的,第二参与方利用己方的CKKS公钥对第二半梯度列表进行加密后发送至第一参与方guest。
在步骤S107和S108中,第一参与方guest在接收到加密状态下的host方的第二半梯度列表后,与本地明文状态下本地的第一半梯度列表进行相加,后与本地明文矩阵的转置做向量乘法,以计算得到加密状态下完整的梯度,通过发送至第二参与方解密并返回,最终用于模型更新,这其中,添加混淆也是为了实现保密,隐藏本地数据的信息。
在一些实施例中,第一中间结果密文的计算式为:
Figure SMS_35
其中,
Figure SMS_36
表示第一加法结果密文,
Figure SMS_37
表示加密后的第二半梯度列表,
Figure SMS_38
表示第一半梯度列表,
Figure SMS_39
表示第一参与方本地参与训练的第i条数据,n表示第一参与方本地参与训练的数据条数。
步骤S109和S110同理,第二参与方host在接收到加密状态下的guest方的第一半梯度列表后,与本地明文状态下本地的第二半梯度列表进行相加,后与本地明文矩阵的转置做向量乘法,以计算得到加密状态下完整的梯度,通过发送至第一参与方解密并返回,最终用于模型更新。同样的,通过添加混淆,隐藏本地数据的信息。
所述第二中间结果密文的计算式为:
Figure SMS_40
其中,
Figure SMS_41
表示第二中间结果密文,
Figure SMS_42
表示加密后的第一半梯度列表,
Figure SMS_43
表示所述第二半梯度列表,
Figure SMS_44
表示所述第二参与方本地参与训练的第i条数据,n表示所述第二参与方本地参与训练的数据条数。
在一些实施例中,将数据ID对应的本地明文数据矩阵作转置后与第一加法结果密文做向量乘法,得到第一中间结果密文,并添加混淆后发送至第二参与方中,添加混淆的步骤包括:在第一中间结果密文中的每一项上添加一个随机数,并将各随机数记录为混淆向量。
在一些实施例中,随机数采用不经意伪随机函数生成。
在一些实施例中,所述方法采用tenseal库实现CKKS全同态加密。
在一些实施例中,所述方法中当迭代次数达到设定数值时停止训练。当然,也可以基于所构建的损失设置迭代停止的条件。
另一方面,本发明还提供一种纵向联邦逻辑回归训练装置,包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
下面结合具体实施例对本发明进行说明:
使用CKKS全同态加密提升联邦学习计算效率,由于CKKS密文采用批量加密形式,所以需要设计新的计算过程。标记有标签的参与方为guest,标记没有标签的参与方为host。
参照图1和图2,纵向联邦逻辑回归的计算过程:
步骤1:guest方和host方各自生成一对CKKS公私钥对{pka,ska}、{pkb,skb}。
步骤2:guest方和host方根据己方参数初始化模型参数
Figure SMS_45
Figure SMS_46
步骤3:host和guest交换公钥。
步骤4:host方和guest方开始并行计算。host方计算
Figure SMS_47
然后利用公钥pkb加密得到并将发送至guest方。同时guest方计算
Figure SMS_48
,然后利用公钥pka加密
Figure SMS_49
并将
Figure SMS_50
发送到host方。
步骤5:host方收到
Figure SMS_52
后计算梯度
Figure SMS_56
,并将
Figure SMS_59
添加混淆后发送到guest方。具体的,先将得到的密文半梯度
Figure SMS_53
和本地的排好序的明文半梯度
Figure SMS_57
相加,得到向量的加法结果密文
Figure SMS_60
Figure SMS_62
,之后的计算过程是将
Figure SMS_51
向量和对应的数据矩阵X逐条相加并求和,但是由于
Figure SMS_55
是密文向量,无法进行内部求和操作,但是可以进行向量相乘,故将明文数据矩阵X转置,和
Figure SMS_58
做矩阵和向量的乘法,得到结果
Figure SMS_61
,将
Figure SMS_54
添加混淆后发送到guest方。
guest方收到
Figure SMS_64
后计算梯度
Figure SMS_69
并将
Figure SMS_72
添加混淆发送至host方。具体的,先将得到的密文半梯度
Figure SMS_65
和本地的排好序的明文半梯度
Figure SMS_67
相加,得到向量的加法结果密文
Figure SMS_70
Figure SMS_73
,之后的计算过程是将
Figure SMS_63
向量和对应的数据矩阵X逐条相加并求和,但是由于
Figure SMS_68
是密文向量,无法进行内部求和操作,但是可以进行向量相乘,故将明文数据矩阵转置,同
Figure SMS_71
做矩阵和向量的乘法,得到结果
Figure SMS_74
,将
Figure SMS_66
添加混淆后发送到host方。
步骤6:host和guest分别收到对方发来的
Figure SMS_75
Figure SMS_76
。host用私钥skb解密得到
Figure SMS_77
发送给guest方,guest用私钥ska解密
Figure SMS_78
发送给host方。
步骤7:双方得到各自的明文梯度后减去混淆并更新模型,并开始下一轮迭代。
不同于以往同态加密算法中所追求的解密结果和明文完全一致,CKKS算法的目标是做近似计算。这并不偏离需求,因为现实生活中大部分运算,面对的是实数(复数),而实数(复数)的运算,往往只需要保留一部分有效数字即可。此外,允许误差,放宽准确性的限制,使得CKKS对比于其他基于LWE/RLWE难题的同态方案,细节有了较大的简化,计算效率也有了很大提升。有些python的开源库实现了CKKS全通态加密方案,比如seal库以及以seal库为基础的tenseal库,本课题选用tenseal库实现CKKS加密,将本地计算的半梯度向量整体加密发送给对方参与方,对方参与方将数据按列转为向量,由于CKKS密文长度会对加解密之后的准确率有关,这个长度在1000左右,若数据量过大需要将数据分为多个向量进行加密和计算,分别和CKKS密文做向量相乘后得到最终结果。
进一步的,对纵向联邦学习过程中,引用传统paillier同态加密算法和CKKS同态加密算法进行性能比对,使用569条的breast数据集进行纵向联邦逻辑回归,数据共有31个维度,将数据切分为10个维度+标签以及20个维度两部分,guest方持有10维数据和1维的标签信息,host方持有20维数据,两个参与方联合训练模型。为了对比paillier同态加密和CKKS同态加密的效率,实现了CKKS和paillier两个版本,paillier同态加密算法采用的是FATE中使用的paillier实现,CKKS同态加密算法的实现采用的是微软开源的tenseal库中的实现。由于加密方式的参数设置会影响计算和加密效率,查阅相关资料后,对两种加密方式采用相同安全级别的加密参数,pailleir同态加密的加密参数设置为2048,CKKS同态加密的加密参数设置为[8192,[60,40,40,60],40],其他参数均保持一致,训练结束后对得到的模型进行预测对比,结果如表1:
表1 paillier和CKKS性能对比结果(breast数据集)
Figure SMS_79
结果显示虽然CKKS在训练过程中有一些排序开销,但是使用CKKS同态加密训练的效率还是比paillier同态加密训练的效率高了10倍以上,并且得到了和paillier同样的训练结果。
综上所述,本发明所述纵向联邦逻辑回归训练方法及装置,各参与方使用CKKS全同态加密将本地计算的半梯度列表加密发送给对方,将接收到的对方加密后的半梯列表,与本地计算的明文半梯度列表相加并与明文数据矩阵的转置相乘,计算得到加密状态下完整的梯度。对加密状态下完整的梯度添加混淆后发送至对方参与方进行解密后返回,消除混淆后得到最终的明文梯度用于更新模型。基于纵向逻辑回归的训练模式,引入CKKS进行全同态加密,极大简化了同态加密过程,提升了计算效率。
与上述方法相应地,本发明还提供了一种装置/系统,该装置/系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置/系统实现如前所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种纵向联邦逻辑回归训练方法,其特征在于,所述方法由纵向联邦学习的两个参与方执行,该方法包括以下步骤:
由各参与方分别生成各自的CKKS公私钥对,并交换各自的CKKS公钥;
由各参与方初始化模型的权重参数;
在一轮迭代中,由有标签的第一参与方确定当前轮次参与训练的数据ID并同步至没有标签的第二参与方;
由所述第一参与方利用己方参数计算对应的第一半梯度列表,所述第一半梯度列表按照所述数据ID的顺序排列;
由所述第二参与方利用己方参数计算对应的第二半梯度列表,所述第二半梯度列表按照所述数据ID的顺序排列;
由所述第一参与方利用己方CKKS公钥对所述第一半梯度列表进行加密,并发送至对应的第二参与方;由所述第二参与方利用己方CKKS公钥对所述第二半梯度列表进行加密,并发送至所述第一参与方;
结合第二参与方的CKKS公钥,由第一参与方利用CKKS算法将接收到的加密状态下的所述第二半梯度列表与本地明文状态下的第一半梯度列表相加,得到对应的第一加法结果密文;将所述数据ID对应的本地明文数据矩阵作转置后与所述第一加法结果密文做向量乘法,得到第一中间结果密文,并添加混淆后发送至所述第二参与方;
由所述第二参与方利用己方的CKKS私钥,解密添加混淆后的所述第一中间结果密文,得到第一全梯度列表并发送至所述第一参与方,以供所述第一参与方减去混淆后更新模型;
结合第一参与方的CKKS公钥,由第二参与方利用CKKS算法将接收到的加密状态下的所述第一半梯度列表与本地明文状态下的第二半梯度列表相加,得到第二加法结果密文;所述第二参与方将所述数据ID对应的本地明文数据矩阵作转置后与所述第二加法结果密文做向量乘法,得到第二中间结果密文,并添加混淆后发送至所述第一参与方;
由所述第一参与方利用己方的CKKS私钥,解密添加混淆后的所述第二中间结果密文,得到第二全梯度列表并发送至所述第二参与方,以供所述第二参与方减去混淆后更新模型。
2.根据权利要求1所述纵向联邦逻辑回归训练方法,其特征在于,由所述第一参与方利用己方参数计算对应的第一半梯度列表,计算式为:
Figure QLYQS_1
Figure QLYQS_2
其中,
Figure QLYQS_3
表示所述第一参与方基于本地数据计算得到的第一半梯度列表,
Figure QLYQS_4
表示所述第一参与方本轮迭代中的模型参数的转置;
Figure QLYQS_5
表示所述第一参与方本地参与训练的第i条数据,
Figure QLYQS_6
表示第i条数据的标签信息。
3.根据权利要求2所述纵向联邦逻辑回归训练方法,其特征在于,由所述第二参与方利用己方参数计算对应的第二半梯度列表,计算式为:
Figure QLYQS_7
Figure QLYQS_8
其中,
Figure QLYQS_9
表示所述第二参与方基于本地数据计算得到的第二半梯度列表,
Figure QLYQS_10
表示所述第二参与方本轮迭代中的模型参数的转置,
Figure QLYQS_11
表示所述第二参与方本地参与训练的第i条数据。
4.根据权利要求3所述纵向联邦逻辑回归训练方法,其特征在于,所述第一中间结果密文的计算式为:
Figure QLYQS_12
其中,
Figure QLYQS_13
表示第一加法结果密文,
Figure QLYQS_14
表示加密后的第二半梯度列表,
Figure QLYQS_15
表示所述第一半梯度列表,
Figure QLYQS_16
表示所述第一参与方本地参与训练的第i条数据,n表示所述第一参与方本地参与训练的数据条数;
所述第二中间结果密文的计算式为:
Figure QLYQS_17
其中,
Figure QLYQS_18
表示第二中间结果密文,
Figure QLYQS_19
表示加密后的第一半梯度列表,
Figure QLYQS_20
表示所述第二半梯度列表,
Figure QLYQS_21
表示所述第二参与方本地参与训练的第i条数据,n表示所述第二参与方本地参与训练的数据条数。
5.根据权利要求1所述纵向联邦逻辑回归训练方法,其特征在于,将所述数据ID对应的本地明文数据矩阵作转置后与所述第一加法结果密文做向量乘法,得到第一中间结果密文,并添加混淆后发送至所述第二参与方中,添加混淆的步骤包括:
在所述第一中间结果密文中的每一项上添加一个随机数,并将各随机数记录为混淆向量。
6.根据权利要求5所述纵向联邦逻辑回归训练方法,其特征在于,所述随机数采用不经意伪随机函数生成。
7.根据权利要求1所述纵向联邦逻辑回归训练方法,其特征在于,所述方法采用tenseal库实现CKKS全同态加密。
8.根据权利要求1所述纵向联邦逻辑回归训练方法,其特征在于,所述方法中当迭代次数达到设定数值时停止训练。
9.一种纵向联邦逻辑回归训练装置,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该装置实现如权利要求1至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
CN202310263221.7A 2023-03-17 2023-03-17 一种纵向联邦逻辑回归训练方法及装置 Active CN115983407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310263221.7A CN115983407B (zh) 2023-03-17 2023-03-17 一种纵向联邦逻辑回归训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310263221.7A CN115983407B (zh) 2023-03-17 2023-03-17 一种纵向联邦逻辑回归训练方法及装置

Publications (2)

Publication Number Publication Date
CN115983407A CN115983407A (zh) 2023-04-18
CN115983407B true CN115983407B (zh) 2023-05-30

Family

ID=85970855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310263221.7A Active CN115983407B (zh) 2023-03-17 2023-03-17 一种纵向联邦逻辑回归训练方法及装置

Country Status (1)

Country Link
CN (1) CN115983407B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118133993B (zh) * 2024-05-10 2024-07-05 蓝象智联(杭州)科技有限公司 一种高效联邦逻辑回归算力外包方法、介质及系统
CN118133994B (zh) * 2024-05-10 2024-07-23 蓝象智联(杭州)科技有限公司 一种基于最小二乘估计的纵向联邦线性回归训练方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704860A (zh) * 2019-11-18 2020-01-17 深圳前海微众银行股份有限公司 提升安全性的纵向联邦学习方法、设备、系统及存储介质
CN113505894A (zh) * 2021-06-02 2021-10-15 北京航空航天大学 纵向联邦学习线性回归和逻辑回归模型训练方法及装置
CN115242372A (zh) * 2022-06-30 2022-10-25 中国电子科技集团公司第三十研究所 一种基于批打包编码的密态纵向联邦逻辑回归训练方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11907403B2 (en) * 2021-06-10 2024-02-20 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Dynamic differential privacy to federated learning systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704860A (zh) * 2019-11-18 2020-01-17 深圳前海微众银行股份有限公司 提升安全性的纵向联邦学习方法、设备、系统及存储介质
CN113505894A (zh) * 2021-06-02 2021-10-15 北京航空航天大学 纵向联邦学习线性回归和逻辑回归模型训练方法及装置
CN115242372A (zh) * 2022-06-30 2022-10-25 中国电子科技集团公司第三十研究所 一种基于批打包编码的密态纵向联邦逻辑回归训练方法

Also Published As

Publication number Publication date
CN115983407A (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN113505894B (zh) 纵向联邦学习线性回归和逻辑回归模型训练方法及装置
CN115983407B (zh) 一种纵向联邦逻辑回归训练方法及装置
WO2021197037A1 (zh) 双方联合进行数据处理的方法及装置
CN108712260B (zh) 云环境下保护隐私的多方深度学习计算代理方法
Wu et al. Privacy preserving vertical federated learning for tree-based models
CN111160573B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN112822005B (zh) 基于同态加密的安全迁移学习系统
CN113162752B (zh) 基于混合同态加密的数据处理方法和装置
CN113065145B (zh) 一种基于秘密共享和随机扰动的隐私保护线性回归方法
CN113434898B (zh) 一种非交互式的隐私保护逻辑回归联邦训练方法及系统
CN113193948A (zh) 多参与方联合隐私数据统计分析方法、信息数据处理终端
CN115913513B (zh) 支持隐私保护的分布式可信数据交易方法、系统及装置
CN114614970A (zh) 一种基于多计算方和同态加密的隐私数据安全处理方法
Wang et al. Privacy-preserving indoor localization based on inner product encryption in a cloud environment
US11569985B2 (en) Preserving inter-party data privacy in global data relationships
CN117708887A (zh) 一种基于纵向逻辑回归的联邦学习模型获取方法及系统
CN116318696B (zh) 一种双方无初始信任情况下代理重加密数字资产授权方法
CN116094686B (zh) 用于量子卷积计算的同态加密方法、系统、设备及终端
Wang et al. A secure cloud-edge collaborative logistic regression model
US20220094532A1 (en) Methods and systems for homomorphic data representation and concealment powered by clifford geometric algebra
Cao Quantum secure two-party Euclidean distance computation based on mutually unbiased bases
CN114629620A (zh) 同态加密计算方法及系统、同态请求、计算和密钥系统
Chen et al. Optical multiple images encryption system based on ellipsometry reconstruction
Blackledge et al. Phase-only digital encryption
He et al. Privacy-enhanced and non-interactive linear regression with dropout-resilience

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Yang Jincui

Inventor after: Yang Yubo

Inventor after: Zhang Xi

Inventor after: Guo Sanchuan

Inventor before: Zhang Xi

Inventor before: Yang Yubo

Inventor before: Yang Jincui

Inventor before: Guo Sanchuan