本发明涉及信息安全技术领域,特别是指一种5g通信标准下的分布式隐私保护机器学习方法。
背景技术:
随着机器学习的出现与不断完善,使得我们有机会从海量数据集中提取潜在有用的信息和规律,彰显数据背后的真实意义。比如机器学习在医学方面用来做临床诊断决策支持系统,帮助分析医学图像;在金融行业,银行用机器学习来组织运作,金融投资和资产管理;机器学习与人工智能相结合,生产可以自动学习的机器人帮助人们工作。
第五代(5g)移动通信技术的提出吸引了大众的注意力,随后多个国家加速了对5g网络技术的研究,5g是一种全新的技术,5g是特指传输速率达到10gb/s的新一代移动通信技术,相比于4g技术,5g网络技术有更多的创新,4g是对3g网络技术的扩展,提高了网络带宽的利用率,增强了网络传输速率,4g网络是以通信设备为核心的格局,5g是以功能为核心的网络,并结合了网络功能虚拟化、定义网络等关键技术,体现出了高灵活性和高动态扩展等特性。
综上分析,如何在5g通信标准下还能够在各个站点(例如,客户端)之间通过数据共享的方式得到有效的机器学习结果,已成为当前的热门研究方向之一,但是,在各个站点协同工作过程中,没有保护原始数据隐私及保证数据在传输过程中的安全。
技术实现要素:
本发明要解决的技术问题是提供一种5g通信标准下的分布式隐私保护机器学习方法,以解决现有技术所存在的没有保护原始数据隐私及保证数据在传输过程中的安全的问题。
为解决上述技术问题,本发明实施例提供一种5g通信标准下的分布式隐私保护机器学习方法,包括:
s1,在计算器端,利用同态加密算法生成公钥和私钥,并将私钥发送到服务器端保存,同时将公钥发布给各个客户端,每个客户端包括从原始数据中选取的样本集和服务器端中发送至客户端的多个属性;
s2,在各个客户端,利用接收到的公钥对各属性的局部信息增益进行同态加密,并将加密后的局部信息增益发送至计算器端,其中,各属性的局部信息增益由相应客户端样本集中的数据确定;
s3,计算器端将接收到的各个客户端发送的加密后的局部信息增益进行求和,得到全局信息增益,并将所述全局信息增益发送至服务器端;
s4,服务器端利用接收到私钥对所述全局信息增益进行解密,获取解密结果中的最大值,所述最大值对应的属性为最佳分裂属性,将所述最佳分裂属性发送至各个客户端;
s5,各个客户端根据接收到的最佳分裂属性进行决策树的分裂,直至完成一颗决策树的构建。
进一步地,所述原始数据通过hash取模的方式水平分布在各个客户端。
进一步地,所述利用同态加密算法生成公钥和私钥包括:
利用paillier公钥同态加密体制,生成公钥和私钥。
进一步地,所述在各个客户端,利用接收到的公钥对各属性的局部信息增益进行同态加密,并将加密后的局部信息增益发送至计算器端包括:
s21,在第一客户端,分别计算各属性所产生的局部信息增益ta={ta1,ta2,...,tam},其中,m表示第一客户端属性的数目;
s22,利用接收到的公钥对各属性所产生的局部信息增益ta进行同态加密,得到加密后的局部信息增益ta'={ta1',ta2',...,tam'};
s23,重复执行s21、s22,得到各个客户端对应的加密后的局部信息增益ta',tb',…,tn',其中,n表示客户端的数目;
s24,各个客户端将加密后的局部信息增益ta',tb',…,tn'发送至计算器端。
进一步地,所述计算器端将接收到的各个客户端发送的加密后的局部信息增益进行求和,得到全局信息增益,并将所述全局信息增益发送至服务器端包括:
计算器端接收各个客户端发送的加密后的局部信息增益ta',tb',…,tn';
对加密后的局部信息增益ta',tb',…,tn'中各个元素进行统计之和,得到全局信息增益t'={t1',t2',…,tm'};
将得到的所述全局信息增益t'={t1',t2',…,tm'}发送至服务器端;
其中,m表示每个客户端属性的数目,n表示客户端的数目。
进一步地,所述服务器端利用接收到私钥对所述全局信息增益进行解密,获取解密结果中的最大值,所述最大值对应的属性为最佳分裂属性,将所述最佳分裂属性发送至各个客户端包括:
通过私钥对全局信息增益t'={t1',t2',…,tm'}进行解密,得到明文t={t1,t2,…,tm},其中,明文中的元素t1、t2、…、tm为各个属性所产生的全局信息增益;
对明文中的元素t1、t2、…、tm进行排序,取出最大值,所述最大值对应的属性为最佳分裂属性;
将所述最佳分裂属性发送至各个客户端。
进一步地,在各个客户端根据接收到的最佳分裂属性进行决策树的分裂,直至完成一颗决策树的构建之后,所述方法还包括:
在各个客户端各生成一棵决策树后,通过随机抽样bagging思想从原始数据中重新选择样本集,并通过特征子空间思想重新选择属性;
根据重新选择的样本集和属性,重复执行s1-s5进行另外一棵决策树的构建,直到生成k棵决策树,其中,k大于1。
进一步地,所述通过特征子空间思想重新选择属性包括:
服务器端随机选取m个属性传回各个客户端,作为下一次决策树分裂所需要的属性,其中,m小于m,m为服务器端属性总数。
进一步地,m=[(log2m)+1]。
进一步地,在生成k棵决策树后,所述方法还包括:
输入待分类样本,通过生成的k棵决策树分别预测所述待分类样本的类别;
根据k棵决策树分别预测的所述待分类样本的类别,利用投票表决法,确定待分类样本最终所属的类别。
本发明的上述技术方案的有益效果如下:
上述方案中,在各个客户端,利用接收到的公钥对样本集中数据的各个属性的局部信息增益进行同态加密,基于同态加密算法的同态特性,在密文情况下,计算器端能够对同态加密后得到的局部信息增益进行求和计算,得到全局信息增益,服务器端利用私钥对全局信息增益进行解密,确定最佳分裂属性;客户端根据确定的最佳分裂属性进行决策树的分裂,完成决策树的构建;这样,通过对各个属性的局部信息增益进行同态加密,使得各个客户端得到有效的机器学习结果的同时,又不泄露客户端用户的原始数据信息,同时还能保证传输过程中数据的安全性。
附图说明
图1为本发明实施例提供的5g通信标准下的分布式隐私保护机器学习方法的流程示意图;
图2为本发明实施例提供的分布式隐私保护机器学习方法的模型示意图;
图3为本发明实施例提供的5g通信标准下的分布式隐私保护机器学习方法的详细流程示意图;
图4为本发明实施例提供的多棵决策树决策流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的没有保护原始数据隐私及保证数据在传输过程中的安全的问题,提供一种5g通信标准下的分布式隐私保护机器学习方法。
参看图1所示,本发明实施例提供的5g通信标准下的分布式隐私保护机器学习方法,包括:
s1,在计算器端,利用同态加密算法生成公钥和私钥,并将私钥发送到服务器端保存,同时将公钥发布给各个客户端,每个客户端包括从原始数据中选取的样本集和服务器端中发送至客户端的多个属性;
s2,在各个客户端,利用接收到的公钥对各属性的局部信息增益进行同态加密,并将加密后的局部信息增益发送至计算器端,其中,各属性的局部信息增益由相应客户端样本集中的数据确定;
s3,计算器端将接收到的各个客户端发送的加密后的局部信息增益进行求和,得到全局信息增益,并将所述全局信息增益发送至服务器端;
s4,服务器端利用接收到私钥对所述全局信息增益进行解密,获取解密结果中的最大值,所述最大值对应的属性为最佳分裂属性,将所述最佳分裂属性发送至各个客户端;
s5,各个客户端根据接收到的最佳分裂属性进行决策树的分裂,直至完成一颗决策树的构建。
本发明实施例所述的5g通信标准下的分布式隐私保护机器学习方法,在各个客户端,利用接收到的公钥对样本集中数据的各个属性的局部信息增益进行同态加密,基于同态加密算法的同态特性,在密文情况下,计算器端能够对同态加密后得到的局部信息增益进行求和计算,得到全局信息增益,服务器端利用私钥对全局信息增益进行解密,确定最佳分裂属性;客户端根据确定的最佳分裂属性进行决策树的分裂,完成决策树的构建;这样,通过对各个属性的局部信息增益进行同态加密,使得各个客户端得到有效的机器学习结果的同时,又不泄露客户端用户的原始数据信息,同时还能保证传输过程中数据的安全性。
为了实现本实施例所述的5g通信标准下的分布式隐私保护机器学习方法,需要一套相应的系统,如图2所示,所述系统包括:客户端、计算器端、服务器端;各客户端根据各自样本集中的数据,计算各个属性所产生的局部信息增益,并对计算得到的局部信息增益进行同态加密,将同态加密得到的局部信息增益提交到计算器端;计算器端负责对各个客户端加密后的局部信息增益进行汇总计算,得到全局信息增益并将得到的全局信息增益发送至服务器端;服务器端对接收到的全局信息增益进行解密分析,选取最佳分裂属性,将选取的最佳分裂属性传递给各个客户端,各个客户端根据接收到的最佳分裂属性进行决策树的分裂,直至完成一颗决策树的构建。
在前述5g通信标准下的分布式隐私保护机器学习方法的具体实施方式中,进一步地,所述原始数据通过hash取模的方式水平分布在各个客户端。
如图3所示,原始数据可以以水平分布的形式存储在各个客户端(db1,db2,…,dbn)中,其中,n表示客户端的数目;优选地,所述原始数据通过hash取模的方式水平分布在各个客户端。
在前述5g通信标准下的分布式隐私保护机器学习方法的具体实施方式中,进一步地,所述利用同态加密算法生成公钥和私钥包括:
利用paillier公钥同态加密体制,生成公钥和私钥。
本实施例中,在计算器端,利用paillier公钥同态加密体制,通过随机数发送器以及随机选取的两个大素数p,q,生成公钥pk和对应的私钥sk,其中,大素数是指超过预定阈值的素数;并将私钥sk发送至服务器端保存,将公钥pk发布给各个客户端执行同态加密操作。
在前述5g通信标准下的分布式隐私保护机器学习方法的具体实施方式中,进一步地,所述在各个客户端,利用接收到的公钥对各属性的局部信息增益进行同态加密,并将加密后的局部信息增益发送至计算器端包括:
s21,在第一客户端,分别计算各属性所产生的局部信息增益ta={ta1,ta2,...,tam},其中,m表示第一客户端属性的数目;
s22,利用接收到的公钥对各属性所产生的局部信息增益ta进行同态加密,得到加密后的局部信息增益ta'={ta1',ta2',...,tam'};
s23,重复执行s21、s22,得到各个客户端对应的加密后的局部信息增益ta',tb',…,tn',其中,n表示客户端的数目;
s24,各个客户端将加密后的局部信息增益ta',tb',…,tn'发送至计算器端。
本实施例中,客户端以db1为例,hek代表对db1中的样本集数据经过k次随机化后分别经过同态加密过后生成的局部数据,这里局部数据是指客户端db1的属性产生的局部信息增益,k=1,2,…,k,k表示决策树的数目。
本实施例中的客户端为各个样本集拥有方,各个客户端中的样本集记作rsa,rsb,...,rsn,其中,db1中的样本集为rsa,db2中的样本集为rsb,以此类推;客户端具体执行步骤包括:首先输入本地样本集rsa,rsb,...,rsn,然后计算各属性产生的局部信息增益;以样本集rsa为例,对样本集rsa经过有放回抽取形成一个与原始样本集相同大小的新的样本集rsa';保存经服务器端随机选取的m个属性作为一个属性子集,其中,m=[(log2m)+1],m为服务器端属性总数;根据新的样本集rsa',计算m个属性所产生的局部信息增益ta={ta1,ta2,...,tam};利用paillier同态加密体制中给定的公钥pk对ta中的各个元素进行同态加密,得到加密后的局部信息增益ta'={ta1',ta2',...,tam'};按照上述方法得到n个客户端加密后的局部信息增益ta',tb',…,tn',n个客户端将加密后的局部信息增益传递给计算器端进行汇总计算,其中,db1对应的加密后的局部信息增益为ta',db2对应的加密后的局部信息增益为tb',以此类推。
在前述5g通信标准下的分布式隐私保护机器学习方法的具体实施方式中,进一步地,所述计算器端将接收到的各个客户端发送的加密后的局部信息增益进行求和,得到全局信息增益,并将所述全局信息增益发送至服务器端包括:
计算器端接收各个客户端发送的加密后的局部信息增益ta',tb',…,tn';
对加密后的局部信息增益ta',tb',…,tn'中各个元素进行统计之和,得到全局信息增益t'={t1',t2',…,tm'};
将得到的所述全局信息增益t'={t1',t2',…,tm'}发送至服务器端;
其中,m表示每个客户端属性的数目,n表示客户端的数目。
本实施例中,计算器端首先接收n个客户端经过同态加密得到的局部信息增益,然后求各局部信息增益统计之和,将n个客户端的局部信息增益转换为全局信息增益;具体步骤包括:计算器端首先接收n个客户端经过同态加密得到的局部信息增益ta',tb',…,tn';利用同态加密可以直接对密文进行计算的特性,计算同态加密后的局部信息增益ta',tb',…,tn'中各个元素的统计之和,得到全局信息增益t'={t1',t2',…,tm'},其中,m表示每个客户端属性的数目,tk'=tak'+tbk'+...+tnk',tak'表示客户端db1中第k属性对应的局部信息增益,tbk'表示客户端db2中第k属性对应的局部信息增益,以此类推,tnk'表示表示客户端dbndb1中第k属性对应的局部信息增益;基于同态加密可以直接对密文进行操作的特性,对加密前后的数据运算能得到一致的结果,将计算得到的t'={t1',t2',…,tm'}传输给服务器端,由服务器端对t'={t1',t2',…,tm'}进行解密分析。
本实施例中,计算器端根据公式tk'=tak'+tbk'+...+tnk'对同态加密得到的ta',tb',…,tn'进行统计计算,计算器端对各个客户端的原始数据信息、属性信息及同态加密结果所代表的含义都一无所知,在保证客户端用户隐私的前提下,还能够有效保证数据传输过程中的隐私信息。
在前述5g通信标准下的分布式隐私保护机器学习方法的具体实施方式中,进一步地,所述服务器端利用接收到私钥对所述全局信息增益进行解密,获取解密结果中的最大值,所述最大值对应的属性为最佳分裂属性,将所述最佳分裂属性发送至各个客户端包括:
通过私钥对全局信息增益t'={t1',t2',…,tm'}进行解密,得到明文t={t1,t2,…,tm},其中,明文中的元素t1、t2、…、tm为各个属性所产生的全局信息增益;
对明文中的元素t1、t2、…、tm进行排序,取出最大值,所述最大值对应的属性为最佳分裂属性;
将所述最佳分裂属性发送至各个客户端。
本实施例中,决策树的生成可以采用id3算法,id3采取具有最大信息增益的属性作为最佳分裂属性。
本实施例中,服务器端为半可信的第三方,服务器端负责数据结果对比整理,确定最佳分裂属性,并将确定的最佳分裂属性传回给各个客户端,各个客户端根据接收到的最佳分裂属性进行决策树的分裂,直到完成一颗决策树的构建完成为止。服务器端只知道样本集中属性信息和经计算器端传过来的全局信息增益,对各客户端中的原始数据信息一无所知。
本实施例中,服务器端确定最佳分裂属性的步骤可以包括:首先接收由计算器端传来的全局信息增益t'={t1',t2',…,tm'},通过私钥sk对全局信息增益t'={t1',t2',…,tm'}进行解密,得到明文t={t1,t2,…,tm},明文里面的元素即为各个属性所产生的全局信息增益,对明文t={t1,t2,…,tm}里面元素进行排序(例如,升序排序,)取出最大值选取明文t={t1,t2,…,tm}里面的最大值,该最大值对应的属性即为具有最大信息增益的属性,具有最大信息增益的属性为最佳分裂属性。
在前述5g通信标准下的分布式隐私保护机器学习方法的具体实施方式中,进一步地,在各个客户端根据接收到的最佳分裂属性进行决策树的分裂,直至完成一颗决策树的构建之后,所述方法还包括:
在各个客户端各生成一棵决策树后,通过随机抽样bagging思想从原始数据中重新选择样本集,并通过特征子空间思想重新选择属性;
根据重新选择的样本集和属性,重复执行s1-s5进行另外一棵决策树的构建,直到生成k棵决策树,其中,k大于1。
本实施例中,为了提高该分布式环境下的决策树分类准确率,采用随机森林思想生成多棵决策树共同预测最终的分类结果,假设随机森林由k棵决策树{h(x,θk),k=1,2,…,k}组成,其中,k为大于1的预设值,x代表原始样本集中的数据,{θk,k=1,2,…,k}是一个随机变量序列,该随机变量序列由随机森林的两大思想决定:特征子空间思想以及bagging思想;也就是说,当输入待分类的样本时,决策结果由这k个决策树的分类结果共同决定,为了降低生成的每一棵决策树之间的关联性,提高分类准确率,生成每一棵决策树时,采用特征子空间思想以及bagging思想。
本实施例中,特征子空间思想具体体现为:当随机森林中的每个决策树生成时,并不使用全部的属性,而是从全部属性中随机等概率抽取一个属性子集。为了降低每个决策树之间的关联性,在服务器端,通常抽取[(log2m)+1]个属性作为属性子集,其中,m为服务器端属性总数。决策树的分裂结点从这些属性子集中选取,通过特征子空间思想,可以有效降低计算所需的特征维度,进而降低每棵决策树生成时的时间复杂度。
本实施例中,bagging思想表现为:从原始样本集x中有放回的抽取k个与原始样本集相同大小的样本集{θk,k=1,2,…,k},为每一个抽取出来的样本集θk分别生成一个决策树。通过bagging思想的随机选取策略,有效的降低了数据源中因数据分布不均匀造成决策树分类准确率降低的问题。
本实施例中,综上,在各个客户端各生成一棵决策树后,通过随机抽样bagging思想从原始数据中重新选择样本集,并通过特征子空间思想重新选取m=[(log2m)+1]个属性传回给各个客户端,作为下一次决策树分裂所需要的属性子集;根据重新选择的样本集和属性,重复执行s1-s5进行另外一棵决策树的构建,直到生成k棵决策树。
在前述5g通信标准下的分布式隐私保护机器学习方法的具体实施方式中,进一步地,在生成k棵决策树后,所述方法还包括:
输入待分类样本,通过生成的k棵决策树分别预测所述待分类样本的类别;
根据k棵决策树分别预测的所述待分类样本的类别,利用投票表决法,确定待分类样本最终所属的类别。
如图4所示,生成多棵决策树后,为了提高分类准确率,通过生成的k棵决策树分别预测所述待分类样本的类别,根据k棵决策树分别预测的所述待分类样本的类别,利用投票表决法,确定待分类样本最终所属的类别,从而通过同态加密、决策树分类以及随机森林思想,在保证传输过程中客户端用户隐私的同时,实现在数据分布式环境中隐私保护的机器学习。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。