CN116681141A - 隐私保护的联邦学习方法、终端及存储介质 - Google Patents

隐私保护的联邦学习方法、终端及存储介质 Download PDF

Info

Publication number
CN116681141A
CN116681141A CN202310076733.2A CN202310076733A CN116681141A CN 116681141 A CN116681141 A CN 116681141A CN 202310076733 A CN202310076733 A CN 202310076733A CN 116681141 A CN116681141 A CN 116681141A
Authority
CN
China
Prior art keywords
server
model parameters
client
data
privacy protection
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.)
Pending
Application number
CN202310076733.2A
Other languages
English (en)
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.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
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 Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202310076733.2A priority Critical patent/CN116681141A/zh
Publication of CN116681141A publication Critical patent/CN116681141A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及计算机技术领域,具体涉及隐私保护的联邦学习方法、终端及存储介质。该方法包括S10、建立全局参数模型,并将其发送给每个客户端;S20、所述客户端接收全局参数模型,并使用客户端数据训练,获得客户端模型参数,和对应的损失函数;S30、使用DBSCAN算法的隐私保护方案对所述客户端模型参数进行聚类,获得多个类别;S40、基于模型参数对每个所述类别进行平均聚合,获得平均聚合后的模型参数;根据平均聚合后的模型参数,输出全局模型。本发明通过使用一种DBCSCAN算法的隐私保护方法,保密地进行了客户端的聚类;利用加法秘密共享,实现了在每个类别内模型参数的安全聚合。

Description

隐私保护的联邦学习方法、终端及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及隐私保护的联邦学习方法、终端及存储介质。
背景技术
随着网络通讯技术的快速发展,个人信息很容易被各种智能终端设备所采集、传递和使用。如果平台监管不力,个人隐私信息很容易遭到泄露。在企业层面,一旦某些商业秘密遭到泄露,会造成在与竞争对手的博弈中失去先机,进而对企业造成巨大的人力和财产损失。传统的机器学习需要先把信息都收集到中心服务器,客户端的隐私数据很容易遭到泄露。联邦学习作为一种分布式的机器学习模式,它不需要让数据离开本地客户端,进而对数据的隐私起到保护作用。在联邦学习中,由于数据来源于各种各样的终端设备,会很自然地产生数据异质性问题,也就是说这些数据是非独立同分布的(non-IID)。在推荐终端和个性化广告投放等应用中,利用数据异质性尤为关键,这对用户和企业都有好处。比较早的联邦学习方法中,所有的用户数据都带入同一个全局模型中训练,训练完成之后,所有的用户也都使用同一个模型进行预测。这种做法将non-IID的数据作为独立同分布的数据进行了处理,忽略了用户数据之间的差异,从而不能产生一些个性化的预测。
为了解决该技术问题现提出隐私保护的联邦学习方法、终端及存储介质。
发明内容
为了解决上述现有技术中存在的技术问题,本发明提供了一种隐私保护的联邦学习方法、终端及存储介质,提供组raid功能的全自动化实现后,在自动化测试终端可将多个用例放在同一任务中按照顺序自动执行测试,每条用例的组raid操作自动完成。
为实现上述目的,本发明实施例提供了如下的技术方案:
第一方面,在本发明提供的一个实施例中,提供了隐私保护的联邦学习方法,该方法包括以下步骤:
S10、建立全局参数模型,并将其发送给每个客户端;
S20、所述客户端接收全局参数模型,并使用客户端数据训练,获得客户端模型参数,和对应的损失函数;
S30、使用DBSCAN算法的隐私保护方案对所述客户端模型参数进行聚类,获得多个类别;
S40、基于模型参数对每个所述类别进行平均聚合,获得平均聚合后的模型参数;根据平均聚合后的模型参数,输出全局模型。
作为本发明的进一步方案,所述服务器A,B两个相互之间不会串通。
作为本发明的进一步方案,所述使用DBSCAN算法的隐私保护方案对所述客户端模型参数进行聚类,获得多个类别,包括以下步骤:
通过DH协议分别建立客户端与服务器A,B之间的密钥;
所述客户端利用加法秘密共享,将数据点划分为两部分,分别使用对应的密钥加密后发送给对应的所述服务器A,B;
所述服务器A,B分别对接收到的数据点的秘密共享值解密,并得到任意两个数据点间的距离与M的大小;
所述服务器A通过两个数据点间的距离与ε的大小关系,得到每一点的ε-邻域内的点集,然后所述服务器A可以直接接着使用DBSCAN算法进行计算,得到聚类结果,所述聚类结果为多个类别。
作为本发明的进一步方案,所述模型参数的聚类结果,即为客户端的聚类结果。
作为本发明的进一步方案,所述客户端与服务器A,B之间的密钥,通过DH协议分别建立。
作为本发明的进一步方案,所述分别建立客户端与服务器A,B之间的密钥,还包括:
设第l个客户端与服务器A之间的密钥为与服务器B之间的密钥为/>
作为本发明的进一步方案,所述服务器A,B分别对接收到的数据点的秘密共享值解密,得到任意两个数据点间的距离与M的大小,还包括:
服务器A得到的任意两个数据点间的秘密共享值为服务器B得到的任意两个数据点的秘密共享值为/>得到任意两个数据点间的距离与M的大小。
作为本发明的进一步方案,服务器A得到的任意两个数据点的秘密共享值为服务器B得到的任意两个数据点的秘密共享值为/>得到任意两个数据点间的距离与M的大小,包括如下步骤:
服务器A计算服务器B计算
通过乘法秘密共享,服务器A,B分别得到数据且/>和/>满足
服务器A计算得到数据服务器B计算得到数据/>
服务器B将sign(VB)发送给服务器A,由服务器A初步判断与ε的大小;
在两个服务器之间采用方法OT_Compare(|VA|,|VB|)比较|VA|与|VB|的大小,进而得到与ε的大小。
作为本发明的进一步方案,所述服务器B将sign(VB)发送给服务器A,由服务器A初步判断与ε的大小,其包括如下情况:
I、VA和VB都大于等于0,可以得到
II、VA和VB都小于等于0,可以得到
III、VA大于等于0和VB小于0、VA小于等于0和VB大于0,则在两个服务器之间采用方法OT_Compare(|VA|,|VB|)比较|VA|与|VB|的大小,进而得到与ε的大小。
作为本发明的进一步方案,所述服务器B将sign(VB)发送给服务器A,由服务器A初步判断与ε的大小,其包括如下情况:
I、VA和VB都大于等于0,可以得到
II、VA和VB都小于等于0,可以得到
III、VA大于等于0和VB小于0、VA小于等于0和VB大于0,则在两个服务器之间采用方法OT_Compare(|VA|,|VB|)比较|VA|与|VB|的大小,进而得到与ε的大小。
作为本发明的进一步方案,在两个服务器之间采用方法OT_Compare(|VA|,|VB|)比较|VA|与|VB|的大小,进而得到与ε的大小,其包括如下情况:
I、如果sign(VA)·sign(|VA|-|VB|)≥0可以得到
II、如果sign(VA)·sign(|VA|-|VB|)≤0可以得到
作为本发明的进一步方案,所述S40、包括以下步骤:
S401、如果是第一轮迭代,则跳过此步骤;否则,类别内的客户端通过加法秘密共享将本地模型参数划分为两部分,对每一部分使用对应密钥加密后分别发送给服务器A,B;
S402、服务器A,B分别在每个类别内对客户端发送的本地模型参数的秘密共享值求平均;
S403、服务器B将每个类别的模型秘密共享值的平均值发送给服务器A,由服务器A计算得到模型参数的平均值,将类别的模型参数更新为此平均值;
S404、客户端将本地损失函数发送给服务器A,由服务器A计算类别内客户端损失函数的平均值,如果平均损失函数收敛,或者迭代次数达到要求,停止迭代,则服务器A输出全局模型;
S405、若未停止迭代则服务器A将类别内更新后的模型参数发送给类别内的客户端;
S406、客户端接收到更新后的模型参数后,用其作为初始值,使用本地数据训练得到新的模型参数,然后转到步骤S401。
作为本发明的进一步方案,所述服务器A,B分别在每个类别内对客户端发送的本地模型参数的秘密共享值求平均,其中,对于第i个类别,服务器A计算模型参数秘密共享值的平均数服务器B计算模型参数秘密共享值的平均数
作为本发明的进一步方案,所述服务器A计算得到类别内的平均模型参数
第二方面,在本发明提供的又一个实施例中,提供了一种终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现隐私保护的联邦学习方法的步骤。
第三方面,在本发明提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述隐私保护的联邦学习方法的步骤。
本发明提供的技术方案,具有如下有益效果:
本发明提供的隐私保护的联邦学习方法、终端及存储介质,通过使用一种DBCSCAN算法的隐私保护方法,保密地进行了客户端的聚类;利用加法秘密共享,实现了在每个类别内模型参数的安全聚合;另外使用了密钥交换算法,使用交换后的密钥对客户端和服务器之间传递的秘密共享值进行加密,防止他人的窃听攻击。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例的隐私保护的联邦学习方法的流程图。
图2为本发明一个实施例的隐私保护的联邦学习方法中步骤S30的具体流程图。
图3为本发明一个实施例的隐私保护的联邦学习方法中步骤S50的具体流程图。
图4为本发明一个实施例的终端结构图。
图中:处理器-501、通信接口-502、存储器-503、通信总线-504。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
联邦学习(Federated Learning):联邦学习最早在2016年由谷歌提出,原本用于解决安卓手机终端用户在本地更新模型的问题。联邦学习本质上是一种分布式机器学习技术,它的目标是在保证数据隐私安全及合法合规的基础上,实现共同建模。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)算法:是一基于密度的聚类算法,DBSCAN将簇定义为密度相连点的最大集合,能够把具有足够高密度的区域划分为簇,并可在存在噪声的空间数据库中发现任意形状的聚类。
秘密共享(Secret Sharing):秘密共享的思想是将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能对秘密消息进行恢复。
不经意传输(Oblivious Transfer简称OT):是一个密码学协议,在这个协议中,消息发送者从一些待发送的消息中发送一条给接收者,但事后并不知道接收者获取的是哪一条消息。有时也被翻译为茫然传输。
符号表示:表示集合{0,1,…,n-1},amodc读作a模c,表示a除以c的余数,a=bmodc表示a,b除以c的余数相同。/>表示实数空间,/>表示n维欧式空间。我们一般使用小写字母(例如x)表示标量,用/>的形式表示向量。/>表示x与y做按位异或运算。sign(x)表示符号函数,它的取值为/>
具体地,下面结合附图,对本发明实施例作进一步阐述。
请参阅图1,图1是本发明实施例提供的一种隐私保护的联邦学习方法的流程图,如图1所示,该隐私保护的联邦学习方法包括步骤S10至步骤S30。隐私保护的联邦学习方法应用与终端,所述终端包括不少于一个的客户端和服务器A,B。所述服务器A,B两个相互之间不会串通。
S10、建立全局参数模型,并将其发送给每个客户端;
S20、所述客户端接收全局参数模型,并使用客户端数据训练,获得客户端模型参数,和对应的损失函数;
其中,设第l个客户端训练得到的本地模型参数为本地损失函数为Fl
通过获得本地损失函数为Fl能够除了一些恶意客户端。
S30、使用DBSCAN算法的隐私保护方案对所述客户端模型参数进行聚类,获得多个类别。
其中,模型参数的聚类结果,即为客户端的聚类结果。设在DBSCAN算法的隐私保护方案中建立的第l个客户端与服务器A之间的密钥为与服务器B之间的密钥为/>第l个客户端发送给服务器A的参数是用/>加密/>的结果,发送给服务器B的参数是用/>加密/>的结果,也就是/>得到的类别划分为C={C1,C2,···,Ck}。
另外,关于DBSCAN算法的隐私保护方案中的内容。关于数据点距离的度量方式,在此方案中采用的是欧几里得距离。
设备需求:两个相互之间不会串通的服务器A,B。S个客户端(客户端的个数可以是一个或者多个)。
数据需求:客户端数据其中/>即所有的数据点都是n维向量。邻域参数(ε,M)。
在本发明实施例中,S30、使用DBSCAN算法的隐私保护方案对所述客户端模型参数进行聚类,获得多个类别,包括如下步骤:
S301、通过DH协议分别建立客户端与每个服务器之间的密钥;
设第l个客户端与服务器A之间的密钥为与服务器B之间的密钥为/>
S302、客户端利用加法秘密共享,将数据点划分为两部分,分别使用对应的密钥加密后发送给对应的服务器A,B;
例如数据点用加法秘密划分为/> 然后分别使用对应的密钥对/>加密后发送给服务器A,B。
S303、服务器A,B分别对接收到的数据点的秘密共享值解密,并利用如下步骤得到任意两个数据点间的距离与M的大小。
其中,我们以数据点和/>为例说明。假设服务器A得到数据点/>和/>的秘密共享值为/> 服务器B得到的数据点和/>的秘密共享值为具体步骤如下:
S3031、服务器A计算服务器B计算/>
S3032、通过乘法秘密共享,服务器A,B分别得到数据 它们满足/>
S3033、服务器A计算得到数据服务器B计算得到数据
可以看出VA+VB的结果就是只要能判断出VA+VB与0的关系,即可判断/>与ε的大小。
S3034、服务器B将sign(VB)发送给服务器A,由服务器A初步判断与ε的大小。分以下几种情况
I、VA和VB都大于等于0,可以得到
II、VA和VB都小于等于0,可以得到
III、VA大于等于0和VB小于0、VA小于等于0和VB大于0,则转入步骤S3035。
S3035、在两个服务器之间采用方法OT_Compare(|VA|,|VB|)比较|VA|与|VB|的大小,进而得到与ε的大小。分以下几种情况
I、如果sign(VA)·sign(|VA|-|VB|)≥0可以得到
II、如果sign(VA)·sign(|VA|-|VB|)≤0可以得到
S304、服务器A通过两个数据点间的距离与ε的大小关系,得到每一点的ε-邻域内的点集。然后服务器A可以直接接着使用DBSCAN算法的步骤进行计算,得到聚类结果。所述聚类结果为多个类别。
S40、基于模型参数对每个所述类别进行平均聚合,获得平均聚合后的模型参数;根据平均聚合后的模型参数,输出全局模型。
所述S40、基于模型参数对每个所述类别进行平均聚合,获得平均聚合后的模型参数;根据平均聚合后的模型参数,输出全局模型;具体包括:
a:基于模型参数对每个所述类别进行平均聚合;
b:服务器A,B获得平均聚合后的模型参数;
c:对平均聚合后的所述模型参数进行本地训练;
d:对经过本地训练后的类别内的所述模型参数进行再次聚合;
e:重复上述a-d步骤,直到迭代次数达到要求,或者类别的平均损失函数收敛,输出全局模型。
具体的,在每个类别内,两个服务器分别对客户端模型参数的秘密共享值求平均,接着合并两部分得到对每个类别模型参数平均聚合后的结果,并将此结果发送给类别内的客户端。在客户端收到聚合后的模型参数后,进行本地模型训练,并根据加法秘密共享将训练后模型参数的秘密共享值分别发送给每个服务器A,B。服务器A,B再次对类别内的模型参数进行聚合,直到迭代次数达到要求,或者类别的平均损失函数收敛。
本发明利用DBSCAN算法的隐私保护方法实现在联邦学习中对用户的模型参数进行安全的聚类,从而对客户端进行分组,分别在每个组内进行联邦学习。由于在一种DBSCAN算法的隐私保护方案中使用到了两个相互之间不会串通的服务器,因此在联邦学习的模型参数聚合时,我们采用加法秘密共享技术,对用户的模型参数进行隐私保护。
所述S40、包括以下步骤:
具体的,以第个类为例说明,也就是索引满足的客户端,记第个类客户端的个数为。
S401、如果是第一轮迭代,则跳过此步骤;否则,类别内的客户端通过加法秘密共享将本地模型参数划分为两部分,对每一部分使用对应密钥加密后分别发送给服务器A,B。
由于在使用DBSCAN聚类阶段,已经实现了此步骤的目的,所以第一轮循环中,直接跳过此步骤即可。
S402、服务器A,B分别在每个类别内对客户端发送的本地模型参数的秘密共享值求平均。
其中,对于第i个类别,服务器A计算模型参数秘密共享值的平均数服务器B计算模型参数秘密共享值的平均数/>
S403、服务器B将每个类别的模型秘密共享值的平均值发送给服务器A,由服务器A计算得到模型参数的平均值,将类别的模型参数更新为此平均值。
其中,服务器A计算得到类别内的平均模型参数
S404、客户端将本地损失函数发送给服务器A,由服务器A计算类别内客户端损失函数的平均值,如果平均损失函数收敛,或者迭代次数达到要求,停止迭代,则服务器A输出全局模型。
S405、若未停止迭代则服务器A将类别内更新后的模型参数发送给类别内的客户端。
S406、客户端接收到更新后的模型参数后,用其作为初始值,使用本地数据训练得到新的模型参数,然后转到步骤S401。
具体的,DBSCAN算法是基于邻域内的样本个数来描述样本集的紧致程度的。DBSCAN算法相关的参数进行描述。
假设数据点集是有以下相关定义:
ε-邻域。对于它的ε-邻域是指数据点集D中与/>的距离不大于ε的样本的集合,即/>这个集合的个数记为/>
核心点。对于任一数据点如果它的ε-邻域/>中至少包含M个样本,即则/>是核心点。
密度直达。如果位于/>的ε-邻域内,且/>是核心点,则称/>由/>密度直达。反之则不一定,除非/>也是核心点。所以密度直达不具有对称性。
密度可达。对于和/>如果存在样本序列/>满足/>并且/>由/>密度直达,则称/>由/>密度可达。容易看出密度可达具有传递性。和密度直达一样,密度可达同样不具有对称性。
密度相连。对于和/>如果存在核心对象/>使/>和/>均由/>密度可达,则称/>和/>密度相连。可以得到密度相连具有对称性。
在本发明的实施例中,DBSCAN算法是将密度相连的数据点归为一类,或者说一簇。它的主要步骤如下:
输入:样本集邻域参数(ε,M)。
输出:类划分C={C1,C2,···,Ck},其中k的数值在程序运行前并不知晓。
其中,所述DBSCAN算法是将密度相连的数据点归为一类的具体步骤包括:
1、求出所有的核心点。
其中,如果某一点(例如)的ε-邻域内点的个数大于M(即/> ),这一点则为核心点。设所有核心点的集合为Ω。
2、将所有点标记为未访问。
3、从Ω取出一个核心点(取出后/>),将此点标记为已访问,设置当前类别序号k,创建当前核心点的队列/>创建当前类别点集/>
4、从核心点队列Ωk中取出一个元素(取出后/>),获取所有在的ε-邻域内未访问的点集/>未访问的核心点集/>的ε-邻域内的这些点都标记为已访问,将当前类别点集更新为/>将这些点中的核心点集/>加入到核心点队列中(加入后/>)。
5、重复步骤4,直到执行完步骤4后,核心点队列Ωk为空。此时当前类别点集Ck构成一类,从Ω中剔除标记为已访问的核心点。
6、重复步骤3-5,直至Ω中的元素为空,得到类别划分为C={C1,C2,···,Ck}。
本发明采用使用一种DBCSCAN算法的隐私保护方法,在保护用户隐私信息的前提下完成客户端的聚类。使用DBCSCAN聚类后,可以剔除一些异常客户端。在每个类别内,我们使用加法秘密共享对客户端的模型参数进行了安全聚合。对客户端按类别分别进行联邦学习可以显著地提高模型的准确率。并且在所有秘密参数的传递过程中,均对数据进行了加密,防止他们对隐私数据的窃听。
OT是多方安全计算的最基础的协议之一,利用OT可以构造混淆电路、零知识证明协议等方案。我们直接介绍1-out-of-N OT协议。它用于解决如下问题:
Alice拥有N个数值v0,…,vN-1,Bob想知道其中的一个vσ,σ∈{0,…,N-1},通过执行OT协议,Bob可以获取vσ的值,但是不能获取vi,i≠σ的值。而Alice不知道Bob获取的是哪个值,也就是Alice不知道σ的值。
1-out-of-N OT可以按照如下方式进行实现:
1、准备阶段。协议在阶数为大素数q的群上运算(也就是本协议中的运算结果都是在模q意义下的结果),选择群/>的一个本原根g。选择随机预言函数H(例如SHA-1)。参数q,g,H由Alice和Bob共享。
2、初始化阶段:Alice选择N-1个随机数C1,C2,…,CN-1。然后选择一个随机数r,并计算gr,然后将C1,C2,…,CN-1,gr发送给Bob。Alice预先计算(C1)r,(C2)r,…,(CN-1)r。(由于离散对数困难性,Bob不能获取C1,C2,…,CN-1的离散对数以及r的值)。
3、在线计算阶段:
a、Bob选择一个随机数k,设置
然后将PK0发送Alice。(Alice不能获取k的值)。
b、Alice计算(PK0)r,然后计算(PKi)r=(Ci/PK0)r,1≤i≤N-1。然后选择一个随机字符串R(这里R的选择要足够长,确保两个不同数据对应的Hash值不同)对每个Mi,0≤i≤N-1进行加密然后将加密结果和R发送给Bob。
c、Bob可以计算得到(PKσ)r=(Cσ/PK0)r=(gk)r=(gr)k,然后使用H((PKσ)r,R,σ)解密得到Mi
然后利用此协议可以安全地进行两个数的大小比较。
假设Alice拥有数据x,Bob拥有数据y。并且x,y∈{0,…,N-1}。我们可以用如下步骤比较x,y的大小。
1、Alice构造N条明文消息
2、Bob通过1-out-of-N OT获取my的值,可以得到结果
然后Bob将两者的大小结果发送给Alice。
如果x,y是一般的实数,可以将x表示为N进制的形式,比如x=xp-1…x0.x-1…x-q,也就是整数有p位,小数有q位。y同样可以表示为N进制的形式y=yp-1…y0.y-1…y-q。然后从最高位开始比较两者的大小,
1、若xi=yi,-q≤i≤p-1,则x=y。
2、若存在k,当i>k时有xi=yi,当i=k时有xi>yi,则x>y。
3、若存在k,当i>k时有xi=yi,当i=k时有xi<yi,则x<y。
我们用OT_Compare(x,y)表示以上比较两者大小的过程。
秘密共享是多方安全计算中的一项重要的技术,由于它使用起来比较简单,因而被广泛地使用于隐私保护领域。
在两方加法秘密共享中,数据x被随机分割为两个数据(x0,x1)的和,也就是x=x0+x1,然后x0,x1分别保存在参与方P0,P1。必须结合参与方P0,P1的数据才能进行恢复数据x。
不妨设参与方P0拥有数据x,另一参与方P1拥有数据y。按照如下流程,可以实现加法秘密共享。
1、P0生成随机数x0,并计算得到x1=x-x0,然后将x1发送至P1
2、P1生成随机数y0,并计算得到y1=y-y0,然后将y0发送至P0
3、P0计算得到z0=x0+y0,P1计算得到z1=x1+y1
此时要计算得到x与y的和,只需要将z0和z1汇总到需求方,所得结果为z0+z1。可以看出在此过程中,并没有泄露数据x与y,很好地保护了数据隐私。
可以利用1-out-of-N OT实现两方乘法秘密共享。
设参与方P0拥有数据x,参与方P1拥有数据y。将x表示为N进制的形式x=xp-1…x0.x-1…x-q,也就是整数有p位,小数有q位。y同样可以表示为N进制的形式y=yp-1…y0.y-1…y-q。当i=-q,…,p-1时,分别使用如下方法进行计算
1、Bob生成(mi,0,…,mi,N-1),其中mi,0是一随机数,mi,j=Nijy-mi,0
2、Alice使用1-out-of-N OT获取
3、Alice计算Bob计算/>容易看出有zA+zB=x·y,即要得到x·y的值,只需要汇总zA,zB的值即可,不需要泄露x,y的值。
应该理解的是,上述虽然是按照某一顺序描述的,但是这些步骤并不是必然按照上述顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,本实施例的一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,参见图4所示,在本发明的实施例中还提供了一种终端,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的计算机程序时,执行所述的隐私保护的联邦学习方法,该处理器执行指令时实现上述方法实施例中的步骤。
上述终端提到的通信总线可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(ApplicationSpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
所述终端包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述终端可单独运行来实现本发明,也可接入网络并通过与网络中的其他终端的交互操作来实现本发明。其中,所述终端所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
所述终端包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述终端可单独运行来实现本发明,也可接入网络并通过与网络中的其他终端的交互操作来实现本发明。其中,所述终端所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
还应当进理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在本发明的一个实施例中还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (10)

1.一种隐私保护的联邦学习方法,其特征在于,该方法包括:
S10、建立全局参数模型,并将其发送给每个客户端;
S20、所述客户端接收全局参数模型,并使用客户端数据训练,获得客户端模型参数,和对应的损失函数;
S30、使用DBSCAN算法的隐私保护方案对所述客户端模型参数进行聚类,获得多个类别;
S40、基于模型参数对每个所述类别进行平均聚合,获得平均聚合后的模型参数;根据平均聚合后的模型参数,输出全局模型。
2.如权利要求1所述的隐私保护的联邦学习方法,其特征在于,所述使用DBSCAN算法的隐私保护方案对所述客户端模型参数进行聚类,获得多个类别,包括以下步骤:
分别建立客户端与服务器A,B之间的密钥;
所述客户端利用加法秘密共享,将数据点划分为两部分,分别使用对应的密钥加密后发送给对应的所述服务器A,B;
所述服务器A,B分别对接收到的数据点的秘密共享值解密,并得到任意两个数据点间的距离与M的大小;
所述服务器A通过两个数据点间的距离与ε的大小关系,得到每一点的ε-邻域内的点集,然后所述服务器A使用DBSCAN算法进行计算,得到聚类结果。
3.如权利要求1所述的隐私保护的联邦学习方法,其特征在于,所述服务器A,B分别对接收到的数据点的秘密共享值解密,得到任意两个数据点间的距离与M的大小,还包括:
服务器A得到的任意两个数据点的秘密共享值为服务器B得到任意两个数据点的秘密共享值为/>得到任意两个数据点间的距离与M的大小。
4.如权利要求3所述的隐私保护的联邦学习方法,其特征在于,所述服务器A得到的任意两个数据点的秘密共享值为 服务器B得到任意两个数据点的秘密共享值为/> 得到任意两个数据点间的距离与M的大小,包括如下步骤:
服务器A计算服务器B计算
通过乘法秘密共享,服务器A,B分别得到数据 且/>和/>满足
所述服务器A计算得到数据服务器B计算得到数据/>
所述服务器B将sign(VB)发送给所述服务器A,由所述服务器A初步判断与ε的大小;
在所述服务器A和服务器B之间采用方法OT_Compare(|VA|,|VB|)比较|VA|与|VB|的大小,得到与ε的大小。
5.如权利要求4所述的隐私保护的联邦学习方法,其特征在于,所述服务器B将sign(VB)发送给服务器A,由服务器A初步判断与ε的大小,其包括如下情况:
I、VA和VB都大于等于0,则得到
II、VA和VB都小于等于0,则得到
III、VA大于等于0和VB小于0、VA小于等于0和VB大于0,则在两个服务器之间采用方法OT_Compare(|VA|,|VB|)比较|VA|与|VB|的大小,得到与ε的大小。
6.如权利要求4所述的隐私保护的联邦学习方法,其特征在于,在两个服务器之间采用方法OT_Compare(|VA|,|VB|)比较|VA|与|VB|的大小,进而得到与ε的大小,其包括:
I、如果sign(VA)·sign(|VA|-|VB|)≥0,得到
II、如果sign(VA)·sign(|VA|-|VB|)≤0,得到
7.如权利要求1所述的隐私保护的联邦学习方法,其特征在于,所述S40、包括以下步骤:
S401、如果是第一轮迭代,则跳过此步骤;否则,类别内的客户端通过加法秘密共享将本地模型参数划分为两部分,对每一部分使用对应密钥加密后分别发送给服务器A,B;
S402、服务器A,B分别在每个类别内对客户端发送的本地模型参数的秘密共享值求平均;
S403、服务器B将每个类别的模型秘密共享值的平均值发送给服务器A,由服务器A计算得到模型参数的平均值,将类别的模型参数更新为此平均值;
S404、客户端将本地损失函数发送给服务器A,由服务器A计算类别内客户端损失函数的平均值,如果平均损失函数收敛,或者迭代次数达到要求,停止迭代,则服务器A输出全局模型;
S405、若未停止迭代则服务器A将类别内更新后的模型参数发送给类别内的客户端;
S406、客户端接收到更新后的模型参数后,用其作为初始值,使用本地数据训练得到新的模型参数,然后转到步骤S401。
8.如权利要求7所述的隐私保护的联邦学习方法,其特征在于,所述服务器A,B分别在每个类别内对客户端发送的本地模型参数的秘密共享值求平均,其中,对于第i个类别,服务器A计算模型参数秘密共享值的平均数服务器B计算模型参数秘密共享值的平均数/>
9.一种终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现如权利要求1-8任一项所述的隐私保护的联邦学习方法的步骤。
10.一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现如权利要求1-8任一项所述的隐私保护的联邦学习方法的步骤。
CN202310076733.2A 2023-01-30 2023-01-30 隐私保护的联邦学习方法、终端及存储介质 Pending CN116681141A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310076733.2A CN116681141A (zh) 2023-01-30 2023-01-30 隐私保护的联邦学习方法、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310076733.2A CN116681141A (zh) 2023-01-30 2023-01-30 隐私保护的联邦学习方法、终端及存储介质

Publications (1)

Publication Number Publication Date
CN116681141A true CN116681141A (zh) 2023-09-01

Family

ID=87779744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310076733.2A Pending CN116681141A (zh) 2023-01-30 2023-01-30 隐私保护的联邦学习方法、终端及存储介质

Country Status (1)

Country Link
CN (1) CN116681141A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117811722A (zh) * 2024-03-01 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 全局参数模型构建方法、秘钥生成方法、装置及服务器
CN117811722B (zh) * 2024-03-01 2024-05-24 山东云海国创云计算装备产业创新中心有限公司 全局参数模型构建方法、秘钥生成方法、装置及服务器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117811722A (zh) * 2024-03-01 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 全局参数模型构建方法、秘钥生成方法、装置及服务器
CN117811722B (zh) * 2024-03-01 2024-05-24 山东云海国创云计算装备产业创新中心有限公司 全局参数模型构建方法、秘钥生成方法、装置及服务器

Similar Documents

Publication Publication Date Title
Liu et al. An efficient privacy-preserving outsourced calculation toolkit with multiple keys
Jha et al. Towards practical privacy for genomic computation
WO2022237450A1 (zh) 多方安全计算方法、装置、设备及存储介质
CN110719159A (zh) 抗恶意敌手的多方隐私集合交集方法
WO2018184407A1 (zh) 一种具有隐私保护的K-means聚类方法及系统
CN106487503B (zh) 基于剪裁的霍普菲尔德神经网络的多元公钥密码系统和方法
Jia et al. Quantum private comparison using genuine four-particle entangled states
CN108632261B (zh) 多方量子求和方法及系统
CN116506124B (zh) 多方隐私求交系统及方法
WO2021106077A1 (ja) ニューラルネットワークの更新方法、端末装置、計算装置及びプログラム
CN109995739A (zh) 一种信息传输方法、客户端、服务器及存储介质
CN112818369A (zh) 一种联合建模方法及装置
CN115630713A (zh) 样本标识符不相同下的纵向联邦学习方法、设备和介质
CN111767411A (zh) 知识图谱表示学习优化方法、设备及可读存储介质
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
CN115664629A (zh) 一种基于同态加密的智慧物联平台数据隐私保护方法
CN114760023A (zh) 基于联邦学习的模型训练方法、装置及存储介质
CN116502732B (zh) 基于可信执行环境的联邦学习方法以及系统
CN115510502B (zh) 一种隐私保护的pca方法及系统
CN117349685A (zh) 一种通信数据的聚类方法、系统、终端及介质
CN115361196A (zh) 一种基于区块链网络的业务交互方法
WO2023059501A1 (en) Statistically private oblivious transfer from cdh
Zhou et al. A survey of security aggregation
CN115580443A (zh) 一种图数据的处理方法、装置、设备和介质
CN116681141A (zh) 隐私保护的联邦学习方法、终端及存储介质

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