产学研创新服务平台(开云优惠体育网页版入口)
专利申请类型:发明专利;一种基于联邦学习的隐私保护特征工程方法
本发明属于数据安全技术领域,具体涉及一种基于联邦学习的隐私保护特征工程方法,该方法包括:获取系统参数,系统参数包括Beaver三元组和特征策略参数;客户端和服务端根据系统参数执行安全检索协议,使得客户端和服务端分别得到对方数据集的加法秘密共享份额;客户端和服务端根据加法秘密共享份额进行联邦学习训练,得到相应的模型;本发明提出了一种安全检索协议,利用该协议,客户端能够使服务端不知道使用了哪些特征进行联邦学习,进而不知道服务端不知道客户端想要联合训练一个什么模型,同时还可以筛去不符合客户端检索策略要求的训练数据。
专利类型:发明专利
专利申请号:CN202111561091.2
专利申请(专利权)人:西藏北纬开云优惠体育网页版入口有限公司
权利人地址:西藏自治区拉萨市经济技术开发区林琼岗路双创中心A栋11层拉萨经济技术投资发展有限公司1102号
专利发明(设计)人:唐飞,凌国玮,梁世凯
主权利要求:一种基于联邦学习的隐私保护特征工程方法
技术领域
[0001] 本发明属于数据安全技术领域,具体涉及一种基于联邦学习的隐私保护特征工程方法。
背景技术
[0002] 随着计算机算力的提升,机器学习作为海量数据的分析处理技术,已经广泛服务于人类社会。然而,机器学习技术的发展过程中面临两大挑战:一是数据安全难以得到保障,隐私数据泄露问题亟待解决;二是网络安全隔离和行业隐私,不同行业、部门之间存在数据壁垒,导致数据形成“孤岛”无法安全共享,而仅凭各部门独立数据训练的机器学习模型性能无法达到全局最优化。为了谷歌提出联邦学习(FederatedLearning,FL)技术,其通过将机器学习的数据存储和模型训练阶段转移至本地用户,仅与中心服务器交互模型更新的方式有效保障了用户的隐私安全。
[0003] 特征工程(FeatureEngineering,FE)是将原始数据集转化为更好的表达问题本质的特征的过程,使得将这些特征运用到预测模型中能提高对不可见数据的模型预测精
度。简单来讲,FE就是发现对因变量y有明显影响作用的特征,通常称自变量x为特征,FE的目的是发现重要特征。看似简单的FE实际是数据挖掘模型开发中最耗时、最重要的一步。在双方进行联合训练模型前,一定会提前进行特征工程,找到那些对因变量y有明显影响作用的关键特征。但是,作为发起联邦学习的客户端,可能并不希望服务端知晓这是一个什么模型。因为作为一家机构,并不希望让其他机构,尤其是竞争对手,知道它下一步的意图。因此,也不会希望服务端知晓这是一个怎样的模型,而服务端可能只会得到客户端的相应酬劳。但是,如果不让服务端知晓因变量y代表的是什么(即训练出的模型是什么),服务端无法进行特征的筛。约肮赜谝斐J莸那逑。
发明内容
[0004] 为解决以上现有技术存在的问题,本发明提出了一种基于联邦学习的隐私保护特征工程方法,该方法包括:获取系统参数,系统参数包括Beaver三元组和特征策略参数;客户端和服务端根据系统参数执行安全检索协议,使得客户端和服务端分别得到对方数据集的加法秘密共享份额;客户端和服务端根据加法秘密共享份额进行联邦学习训练,得到相应的模型。
[0005] 优选的,获取系统参数包括:获取n个d维Beaver三元组{αi,βi,γi},其中将数据集A={α1,…,αn}存储在客户端中,数据集B={β1,…,βn}存储在服务端中,其中数据集A和数据集B中的数据满足αi·βi=<γi>;获取服务端的数据集Ds={v1,…,vn},并将服务端的数据集进行加法秘密共享,使得服务端和客户端分别得到
[0006] 进一步的,服务端对数据加法秘密共享过程中,客户端将划分的份额样本顺序与特征顺序进行混淆。
[0007] 优选的,客户端和服务端根据系统参数执行安全检索协议的过程包括:
[0008] S1:服务端和客户端采用密钥生成算法对生成对应的密钥对(pks,sks)和(pkc,skc),并将密钥对的公钥公开;其中,pks表示服务端生成的公钥,sks表示服务端生成的私钥,pkc表示客户端生成的公钥,skc表示客户端生成的私钥;
[0009] S2:根据客户端和服务端生成的密钥对对服务端的每个样本执行安全检索协议,得到数据集的加法秘密共享份额。
[0010] 进一步的,服务端和客户端采用密钥生成算法为加法同态Exp?ElGamal方案的秘钥生成算法。
[0011] 进一步的,对服务端的每个样本执行安全检索协议的过程包括:
[0012] S21:服务端根据得到的参数<γi>1和<τ>1计算服务端的中间参数d1,i;客户端根据得到的参数<γi>2和<τ>2计算客户端的中间参数d2,i,并根据客户端的中间参数d2,i计算ei=(d2,i?<γi>2)/βi;其中,ei表示协议计算过程第一中间值;
[0013] S22:服务端利用自己的公钥pks对αi进行加密,得到密文 将密文 发送给客户端;
[0014] S23:客户端遍历j∈[1,d],若协议参数的第j个值ν[j]=1,则用服务端的公钥加密ei的第j个值ei[j],得到密文 根据得到的密文 计算若ν[i]=0,则 其中,d表示服务端数据集
的特征个数,ν[i]表示协议参数的第i个值,ei[j]表示协议计算过程中间值ei的第j个值,表示 的第j个密文, 表示空集;
[0015] S24:客户端采用特征置换函数Πd混淆 的顺序,得到混淆后的协议输出第一中间值的密文 并将 发送给服务端;
[0016] S25:服务端通过自身私钥sks解密 得到协议输出第一中间值χ1,i;遍历χ1,i,若χ1,i[j]不为空且χ1,i[j]>1,则ω1,i[j]=1,若χ1,i[j]≤0,则ω1,i[j]=?1;若χ1,i[j]为空,则 其中,χ1,i表示协议输出中间值,χ1,i[j]表示χ1,i的第j个值,ω1,i[j]表示ω1,i的第j个值,ω1,i表示服务端发送给的客户端加法秘密共享份额;
[0017] S26:服务端根据服务端的中间参数d1,i和<γi>1计算fi=d1,i?<γi>1,然后将fi发送给客户端;其中,fi表示协议计算过程第二中间值;
[0018] S27:客户端通过特征置换函数Πd混淆fi得到混淆后的协议计算过程第二中间值fi′,并采用自身的公钥pkc加密fi′得到密文 将 发送给服务端;
[0019] S28:服务端根据接收的 计算密文 将计算得到的?1
发送给客户端;其中, 表示hi被公钥pkc加密得到的密文,χ1,i 表示χ1,i的逆元;
[0020] S29:客户端利用通过特征置换函数Πd置换βi得到βi′,并用自身公钥pkc加密得到客户端遍历j∈[1,d],若ν[j]=1,且客户端设置的检索符号为“<”时,计算协议输出第二中间值的第j个密文 客户端解密 得到协议
输出第二中间值χ2,i[j],若χ2,i[j]>0,则ω2,i[j]=?1,否则ω2,i[j]=1;若ν[j]=0,则当客户端设置的检索符号为“>”时,ω2,i[j]的符号相反,ω2,i表示客户端发送
给服务端的加法秘密共享份额。
[0021] 优选的,客户端和服务端得到加法秘密共享份额时设置联邦学习条件,若客户端和服务端得到加法秘密共享份额满足设置的联邦学习条件,则执行联邦学习训练,否则不执行联邦学习训练。
[0022] 进一步的,执行联邦学习条件为:客户端加法秘密共享份额和服务端加法秘密共享份额满足(ω1,i[j]·ω2,i[j]+1)/2=1,其中,ω2,i表示客户端发送给服务端的加法秘密共享份额,ω1,i表示服务端发送给的客户端加法秘密共享份额。
[0023] 客户端和服务端根据加法秘密共享份额进行联邦学习训练的过程包括:服务端使用本地数据进行本轮的模型训练,且在训练过程中客户端协助服务端进行完整的单轮训练;服务端将自身的模型参数同态加密后发送给客户端,服务端使用保存的数据集
[0024] 本发明提出了一种安全检索协议,利用该协议,客户端能够使服务端不知道使用了哪些特征进行联邦学习,进而不知道服务端不知道客户端想要联合训练一个什么模型,同时还可以筛去不符合客户端检索策略要求的训练数据;本发明不仅能使客户端根据服务端的数据特征灵活的选择检索条件,并且可以保护客户端的检索条件以及检索的具体特征,同时服务端也不知道客户端的目的,也可看作是一种“单向”的联邦学习框架。
附图说明
[0025] 图1为本发明的隐私保护特征工程的整体流程图;
[0026] 图2为本发明的客户端和服务端的数据集样例图;
[0027] 图3为本发明的安全检索协议整体代码示意图。
具体实施方式
[0028] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 一种基于联邦学习的隐私保护特征工程方法,如图1所示,该方法包括:获取系统参数,系统参数包括Beaver三元组和特征策略参数;客户端和服务端根据系统参数执行安全检索协议,使得客户端和服务端分别得到对方数据集的加法秘密共享份额;客户端和服务端根据加法秘密共享份额进行联邦学习训练,得到相应的模型。
[0030] 比如医院A希望与医院B进行联邦学习,训练出一个模型预测患者是否患有小儿麻痹症(polio)。该病症常发于6岁以下孩童,且通常有明显的临床特征,比如肌肉质量较差。为了方便描述,此处假设适合训练预测polio的病人样本应该满足:“年龄6岁以下的孩童且肌肉质量小于0.5”。因此特征策略ρ={“age”<6and“musclemass”<0.5},如图2所示。假设服务端数据集一共有n个样本,每个样本有d个特征,且年龄与肌肉质量分别是服务端的第2个与第3个特征,那么策略参数τ=[0,6,0.5,0,0],进而生成安全检索协议的检索参数ν。
[0031] 生成安全检索协议的检索参数ν的生成方法为:遍历i∈[1,|τ|],若τ[i]≠0,则ν[i]=1,否则ν[i]=0。
[0032] 服务端与客户端提前得到n个d维Beaver三元组{αi,βi,γi},客户端掌握A={α1,…,αn},服务端掌握B={β1,…,βn},其中αi·βi=<γi>。<γi>代表γi的加法秘密共享份额,即γi=<γi>1+<γi>2,其中<γi>1由服务端掌握,<γi>2由客户端掌握。设服务端部分的数据集为Ds={v1,…,vn}。服务端将自身数据进行加法秘密共享,服务端与客户端分别得到
[0033] 双方利用上述系统参数开始执行安全检索协议,服务端与客户端分别使用加法同λ态Exp?ElGamal方案的秘钥生成算法KeyGen(1)生成自身的秘钥对(pks,sks)、(pkc,skc),然后双方公开他们的公钥pks、pkc。其中,pks表示服务端生成的公钥,sks表示服务端生成的私钥,pkc表示客户端生成的公钥,skc表示客户端生成的私钥。
[0034] 客户端和服务端根据系统参数执行安全检索协议的过程,如图3所示,包括:
[0035] 步骤1:服务端根据得到的参数<γi>1和<τ>1计算服务端的中间参数d1,i;客户端根据得到的参数<γi>2和<τ>2计算客户端的中间参数d2,i,并根据客户端的中间参数d2,i计算ei=(d2,i?<γi>2)/βi;其中,ei表示协议计算过程第一中间值;
[0036] 步骤2:服务端利用自己的公钥pks对αi进行加密,得到密文 将密文发送给客户端;
[0037] 步骤3:客户端遍历j∈[1,d],若协议参数的第j个值ν[j]=1,则用服务端的公钥加密ei的第j个值ei[j],得到密文 根据得到的密文 计算若ν[i]=0,则 其中,d表示服务端数据集
的特征个数,ν[i]表示协议参数的第i个值,ei[j]表示协议计算过程中间值ei的第j个值,表示 的第j个密文, 表示空集;
[0038] 步骤4:客户端采用特征置换函数Πd混淆 的顺序,得到混淆后的协议输出第一中间值的密文 并将 发送给服务端;
[0039] 步骤5:服务端通过自身私钥sks解密 得到协议输出第一中间值χ1,i;遍历χ1,i,若χ1,i[j]不为空且χ1,i[j]>1,则ω1,i[j]=1,若χ1,i[j]≤0,则ω1,i[j]=?1;若χ1,i[j]为空,则 其中,χ1,i表示协议输出中间值,χ1,i[j]表示χ1,i的第j个值,ω1,i[j]表示ω1,i的第j个值,ω1,i表示服务端发送给的客户端加法秘密共享份额;
[0040] 步骤6:服务端根据服务端的中间参数d1,i和<γi>1计算fi=d1,i?<γi>1,然后将fi发送给客户端;其中,fi表示协议计算过程第二中间值;
[0041] 步骤7:客户端通过特征置换函数Πd混淆fi得到混淆后的协议计算过程第二中间值fi′,并采用自身的公钥pkc加密fi′得到密文 将 发送给服务端;
[0042] 步骤8:服务端根据接收的 计算密文 将计算得到的?1
发送给客户端;其中, 表示hi被公钥pkc加密得到的密文,χ1,i 表示χ1,i的逆元;
[0043] 步骤9:客户端利用通过特征置换函数Πd置换βi得到βi′,并用自身公钥pkc加密得到 客户端遍历j∈[1,d],若ν[j]=1,且客户端设置的检索符号为“<”时,计算协议输出第二中间值的第j个密文 客户端解密 得到协
议输出第二中间值χ2,i[j],若χ2,i[j]>0,则ω2,i[j]=?1,否则ω2,i[j]=1;若ν[j]=0,则当客户端设置的检索符号为“>”时,ω2,i[j]的符号相反,ω2,i表示客户端发送
给服务端的加法秘密共享份额。
[0044] 完成了对服务端的每一个样本的安全检索协议以后,客户端利用特征置换函数Πd混淆ν的顺序得到ν′,将ν′发送服务端。
[0045] 客户端将自身所有ω2,i发送给服务端,服务端将ω1,i发送给客户端。若(ω1,i[j]·ω2,i[j]+1)/2=1,则说明服务端数据集混淆后的第i个样本的第j个特征满足作为预测polio的训练数据的条件。若(ω1,i·ω2,i+1)/2=0,则说明不满足条件。
[0046] 客户端和服务端根据加法秘密共享份额进行联邦学习训练的过程包括:服务端使用本地数据进行本轮的模型训练,且在训练过程中客户端协助服务端进行完整的单轮训练;服务端将自身的模型参数同态加密后发送给客户端,服务端使用保存的数据集
[0047] 服务端与客户端通过(ω1,i·ω2,i+1)/2的值从
本地训练并与服务端交互。服务端的训练数据集
知道
[0048] 以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
专利地区:西藏
专利申请日期:2021-12-15
专利公开日期:2023-12-01
专利公告号:CN114285556B