CN113919513A - 一种联邦学习安全聚合方法、装置及电子设备 - Google Patents
一种联邦学习安全聚合方法、装置及电子设备 Download PDFInfo
- Publication number
- CN113919513A CN113919513A CN202111234985.0A CN202111234985A CN113919513A CN 113919513 A CN113919513 A CN 113919513A CN 202111234985 A CN202111234985 A CN 202111234985A CN 113919513 A CN113919513 A CN 113919513A
- Authority
- CN
- China
- Prior art keywords
- users
- user
- model
- determining
- federal learning
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000004931 aggregating effect Effects 0.000 title claims abstract description 7
- 210000002569 neuron Anatomy 0.000 claims abstract description 59
- 230000002776 aggregation Effects 0.000 claims abstract description 48
- 238000004220 aggregation Methods 0.000 claims abstract description 48
- 230000004913 activation Effects 0.000 claims abstract description 46
- 238000012360 testing method Methods 0.000 claims abstract description 38
- 238000012549 training Methods 0.000 claims description 56
- 230000002159 abnormal effect Effects 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000006116 polymerization reaction Methods 0.000 claims 1
- 238000012795 verification Methods 0.000 abstract description 4
- 239000011159 matrix material Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010606 normalization Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Neurology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种联邦学习安全聚合方法、装置及电子设备,该方法包括:获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;根据模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;从预设的测试集中提取与当前样本类别相对应的测试样本,并将测试样本输入到新的全局模型,得到各新的全局模型对应的神经元平均激活值;根据各新的全局模型对应的神经元平均激活值,确定用户聚类结果;根据用户聚类结果,确定当前参与联邦学习的恶意用户。通过根据不同用户针对某种样本类别的模型神经元激活情况,确定恶意用户,实现了对联邦学习参与用户身份的验证,提高了联邦学习聚合结果的可靠性。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种联邦学习安全聚合方法、装置及电子设备。
背景技术
联邦学习可以解决安卓手机端用户在本地更新模型的问题,联邦学习的目标是在保证数据隐私安全及合法合规的基础上,实现共同建模,提升模型的效果,其本质是一种分布式机器学习技术。
但是,在实际应用中,可能会出现恶意用户通过GAN攻击窃取其他用户的某一类训练数据的情况,降低了联邦学习聚合结果的可靠性。
发明内容
本申请提供一种联邦学习安全聚合方法、装置及电子设备,以解决现有技术降低了联邦学习聚合结果的可靠性等缺陷。
本申请第一个方面提供一种联邦学习安全聚合方法,包括:
获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;
根据所述模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;
从预设的测试集中提取与当前样本类别相对应的测试样本,并将所述测试样本输入到所述新的全局模型,得到各所述新的全局模型对应的神经元平均激活值;
根据各所述新的全局模型对应的神经元平均激活值,确定用户聚类结果;
根据所述用户聚类结果,确定当前参与联邦学习的恶意用户。
可选的,所述根据各所述新的全局模型对应的神经元平均激活值,确定用户聚类结果,包括:
根据各所述新的全局模型对应的神经元平均激活值的生成顺序,将所述神经元平均激活值构建为不同用户对应的时间序列数据;
根据各所述用户对应的时间序列数据之间的相似度,确定不同类别的聚类质心;
根据其他用户的时间序列数据与各所述聚类质心之间的相似度,确定用户聚类结果。
可选的,所述根据所述用户聚类结果,确定当前参与联邦学习的恶意用户,包括:
根据所述聚类结果中各类别包含的用户数量,将包含用户数量最少的类别确定为异常类;
将所述异常类中的用户,确定为当前参与联邦学习的恶意用户。
可选的,在获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息之前,所述方法还包括:
监控所有参与联邦学习的用户针对当前样本类别的模型训练结果,其中,所述模型训练结果包括各用户当前本地模型与所述当前样本类别强相关的神经元交集;
判断各所述用户得到的模型训练结果是否相同;
若不同,则根据各所述用户得到的模型训练结果的分布情况,确定当前参与联邦学习的恶意用户。
可选的,还包括:
当各所述用户得到的模型训练结果是否相同时,执行所述获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息的步骤。
可选的,所述根据各所述用户得到的模型训练结果的分布情况,确定当前参与联邦学习的恶意用户,包括:
根据各所述用户得到的模型训练结果的分布情况,确定各模型训练结果所占的分布比例;
将所述分布比例最小的模型训练结果对应的用户,确定为当前参与联邦学习的恶意用户。
可选的,还包括:
将当前确定的恶意用户添加到恶意用户列表;
当任一用户累计被添加的次数达到预设阈值时,剔除该用户,使该用户无法参与后续的联邦学习。
本申请第二个方面提供一种联邦学习安全聚合装置,包括:
获取模块,用于获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;
更新模块,用于根据所述模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;
测试模块,用于从预设的测试集中提取与当前样本类别相对应的测试样本,并将所述测试样本输入到所述新的全局模型,得到各所述新的全局模型对应的神经元平均激活值;
聚类模块,用于根据各所述新的全局模型对应的神经元平均激活值,确定用户聚类结果;
聚合模块,用于根据所述用户聚类结果,确定当前参与联邦学习的恶意用户。
可选的,所述聚类模块,具体用于:
根据各所述新的全局模型对应的神经元平均激活值的生成顺序,将所述神经元平均激活值构建为不同用户对应的时间序列数据;
根据各所述用户对应的时间序列数据之间的相似度,确定不同类别的聚类质心;
根据其他用户的时间序列数据与各所述聚类质心之间的相似度,确定用户聚类结果。
可选的,所述聚合模块,具体用于:
根据所述聚类结果中各类别包含的用户数量,将包含用户数量最少的类别确定为异常类;
将所述异常类中的用户,确定为当前参与联邦学习的恶意用户。
可选的,所述装置还包括:
监控模块,用于监控所有参与联邦学习的用户针对当前样本类别的模型训练结果,其中,所述模型训练结果包括各用户当前本地模型与所述当前样本类别强相关的神经元交集;判断各所述用户得到的模型训练结果是否相同;若不同,则根据各所述用户得到的模型训练结果的分布情况,确定当前参与联邦学习的恶意用户。
可选的,所述监控模块,还用于:
当各所述用户得到的模型训练结果是否相同时,执行所述获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息的步骤。
可选的,所述监控模块,具体用于:
根据各所述用户得到的模型训练结果的分布情况,确定各模型训练结果所占的分布比例;
将所述分布比例最小的模型训练结果对应的用户,确定为当前参与联邦学习的恶意用户。
可选的,所述聚合模块,还用于:
将当前确定的恶意用户添加到恶意用户列表;
当任一用户累计被添加的次数达到预设阈值时,剔除该用户,使该用户无法参与后续的联邦学习。
本申请第三个方面提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计所述的方法。
本申请第四个方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计所述的方法。
本申请技术方案,具有如下优点:
本申请提供一种联邦学习安全聚合方法、装置及电子设备,该方法包括:获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;根据模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;从预设的测试集中提取与当前样本类别相对应的测试样本,并将测试样本输入到新的全局模型,得到各新的全局模型对应的神经元平均激活值;根据各新的全局模型对应的神经元平均激活值,确定用户聚类结果;根据用户聚类结果,确定当前参与联邦学习的恶意用户。上述方案提供的结果,通过根据不同用户针对某种样本类别的模型神经元激活情况,确定恶意用户,实现了对联邦学习参与用户身份的验证,提高了联邦学习聚合结果的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例基于的联邦学习安全聚合系统的结构示意图;
图2为本申请实施例提供的联邦学习安全聚合方法的流程示意图;
图3为本申请实施例提供的示例性的联邦学习安全聚合方法的流程示意图;
图4为本申请实施例提供的联邦学习安全聚合装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
联邦学习在实际应用中,可能会出现恶意用户通过GAN攻击窃取其他用户的某一类训练数据的情况,降低了联邦学习聚合结果的可靠性。如果存在恶意用户,则模型的神经元激活值必然存在异常,因此可以通过某种方式检测出这种异常,以达到检测恶意用户的效果。
针对上述问题,本申请实施例提供的联邦学习安全聚合方法、装置及电子设备,通过获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;根据模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;从预设的测试集中提取与当前样本类别相对应的测试样本,并将测试样本输入到新的全局模型,得到各新的全局模型对应的神经元平均激活值;根据各新的全局模型对应的神经元平均激活值,确定用户聚类结果;根据用户聚类结果,确定当前参与联邦学习的恶意用户。即通过根据不同用户针对某种样本类别的模型神经元激活情况,确定恶意用户,实现了对联邦学习参与用户身份的验证,提高了联邦学习聚合结果的可靠性。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明实施例进行描述。
首先,对本申请所基于的联邦学习安全聚合系统的结构进行说明:
本申请实施例提供的联邦学习安全聚合方法、装置及电子设备,适用于检测参与联邦学习的恶意用户,以实现安全聚合。如图1所示,为本申请实施例基于的联邦学习安全聚合系统的结构示意图,主要包括数据采集装置和联邦学习安全聚合装置,其中,联邦学习安全聚合系统可以嵌入在联邦学习的中心服务器中。具体地,利用数据采集装置采集当前参与联邦学习的所有用户的针对当前样本类别的模型参数更新信息,并将采集到的信息发送到联邦学习安全聚合装置,该装置根据得到的信息,检测当前参与联邦学习的恶意用户。
本申请实施例提供了一种联邦学习安全聚合方法,用于检测参与联邦学习的恶意用户,以实现安全聚合。本申请实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于检测参与联邦学习的恶意用户的电子设备,如联邦学习的中心服务器等。
如图2所示,为本申请实施例提供的联邦学习安全聚合方法的流程示意图,该方法包括:
步骤201,获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息。
具体地,用户在参与联邦学习的过程中,用户将从联邦学习系统的中心服务器下载当前全局模型的模型参数,并根据得到的模型参数,在本地建立对应的本地模型,并基于本地数据训练当前的本地模型,最后将训练后的本地模型的模型参数更新信息发送到中心服务器。
其中,本申请实施例提供的联邦学习安全聚合方法主要可以应用在电力环境下,中心服务器具体可以为电力中心服务器,用户包括其他电力子系统,具体可以为其他相关电力企业的电力系统。
步骤202,根据模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型。
具体地,在得到所有参与联邦学习的用户针对当前样本类别的模型参数更新信息之后,可以根据这些模型参数更新信息,对中心服务器中预设的全局模型的模型参数进行相应的更新。其中,由于每个用户都生成一个模型参数更新信息,因此中心服务器将为每个用户生成一个新的全局模型。
步骤203,从预设的测试集中提取与当前样本类别相对应的测试样本,并将测试样本输入到新的全局模型,得到各新的全局模型对应的神经元平均激活值。
需要说明的是,由于用户本地通常存储大量的本地模型训练数据(本地数据),在进行本地模型训练之前,一般先对本地数据进行分类,每次进行针对某一类样本数据(本地数据)进行模型训练。
具体地,在得到任一用户的训练后的本地模型对应的新的全局模型后,从中心服务器预存的测试集中,提取与该用户采用的本地数据的类别相同的测试样本,并利用这些测试样本对该全局模型进行测试,以得到该全局模型中与当前样本类别强相关的神经元集合中的每一个神经元的激活值,并将这些激活值在样本层次求平均值,得到神经元平均激活值。
其中,具体如何确定神经元激活值可以参考现有技术,本申请实施例对此不做限定。
步骤204,根据各新的全局模型对应的神经元平均激活值,确定用户聚类结果。
需要说明的是,由于不同的用户的本地数据不同,所以最终得到的神经元平均激活值也存在一定的差异。
具体地,当得到的神经元平均激活值数据累计到一定数量时,如达到某一预设数量阈值,可以利用目前现有的聚类算法,如基于密度的聚类算法(DBSCAN)等,根据各新的全局模型对应的神经元平均激活值,确定用户聚类结果,以分别得到正常类和异常类。
步骤205,根据用户聚类结果,确定当前参与联邦学习的恶意用户。
需要说明的是,在参与联邦学习的众多用户中,恶意用户一般较少,可能只有一两个,多数用户是正常用户,因此可以根据用户聚类结果,初步估计哪个用户为恶意用户。
具体地,在一实施例中,可以根据聚类结果中各类别包含的用户数量,将包含用户数量最少的类别确定为异常类;将异常类中的用户,确定为当前参与联邦学习的恶意用户。
具体地,可以通过聚类算法,将用户分为两类,分别为正常类和异常类,其中,异常类中的用户数量一定远小于正常类中的用户数量,最后将异常类中的用户,确定为当前参与联邦学习的恶意用户。
在上述实施例的基础上,为了提高用户聚类结果的可靠性,作为一种可实施的方式,在一实施例中,根据各新的全局模型对应的神经元平均激活值,确定用户聚类结果,包括:
步骤2041,根据各新的全局模型对应的神经元平均激活值的生成顺序,将神经元平均激活值构建为不同用户对应的时间序列数据;
步骤2042,根据各用户对应的时间序列数据之间的相似度,确定不同类别的聚类质心;
步骤2043,根据其他用户的时间序列数据与各聚类质心之间的相似度,确定用户聚类结果。
示例性的,若当前得到两条时间序列数据X=[x1,x2,...,xn]和Y=[y1,y2,...,yn],分别由用户x和用户y的本地模型对应的新的全局模型的神经元平均激活值,为了解决左右平移的问题,需要考虑一个偏移量s,然后计算它们之间的内积。通过这个偏移量s就可以计算出最大的相似度,然后计算出这两条时间序列之间的距离(相似度):SBD(X,Y)=1-NCC(X,Y),其中NCC∈[-1,1]指的是Normalized version of Cross-Correlation,SBD∈[0,2]指的是Shape-based distance。
最后,在得到了每个类的聚类质心后,对每个时间序列数据,计算时间序列数据和每个聚类质心之间的SBD(相似度或距离),并将其分配到最接近聚类质心的类别中。最终所有的用户对应的时间序列数据被分为两类,将基数小的一类对应的所有参与方(用户)确定为恶意用户。
具体地,在一实施例中,由于直接得到的时间序列数据的数据质量难以保障,所以在进行用户聚类处理之前,可以对时间序列数据预处理和基线提取,以提高参与用户聚类的时间序列数据的数据质量。
其中,预处理主要包括缺失值处理和标准化处理,缺失值指的是在该上报数据的时间戳上并没有相应的数据上报,数据处于缺失的状态。通常的办法就是把数据补齐,而数据补齐的方法有很多种,最简单的就是使用线性插值的方式来补齐。对于一个时间序列数据而言,有可能它的均值是10万,有可能只有10,但是它们的走势有可能都是一样的。所以在这个时候需要进行归一化的操作。最常见的有两种归一化方法一种是标准化,另外一种是最大最小值归一化。如果[x1,x2,...,xn]表示原始的时间序列数据的话,标准化指的是其中μ和σ分别表示均值和标准差,最大最小值归一化指的是其中max,min分别表示这段时间内的最大值与最小值。
具体地,可以通过提取基线消除数据噪声,基线提取指的是把时间序列数据分成基线和剩余项两个部分,假设时间序列数据是[x1,x2,...,xn],基线提取就是:xi=baselinei+residuali,其中baselinei和residuali分别指的是xi的基线和剩余项。在基线提取的过程中,通常需要移除一些明显异常的值,然后使用线性插值等方法来把这些移除的值补上。使用简单的移动平均算法加上一个窗口值w来提取基线。假设时间序列数据是[x1,x2,...,xn],Ri=xi-SMAi,即xi=SMAi+Ri。
其中,提取基线的方式其实还有很多,使用带权重的移动平均算法,指数移动平均算法都可以提取基线,甚至使用深度学习中的Autoencoder或者VAE算法都能够提取基线,具体采用哪种基线提取方式本申请实施例不做限定。
在上述实施例的基础上,为了进一步提高恶意用户检测结果的严谨性,作为一种可实施的方式,在一实施例中,在获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息之前,该方法还包括:
步骤301,监控所有参与联邦学习的用户针对当前样本类别的模型训练结果,其中,模型训练结果包括各用户当前本地模型与当前样本类别强相关的神经元交集;
步骤302,判断各用户得到的模型训练结果是否相同;
步骤303,若不同,则根据各用户得到的模型训练结果的分布情况,确定当前参与联邦学习的恶意用户。
相反地,当各用户得到的模型训练结果是否相同时,执行获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息的步骤。
示例性的,若模型首次在测试集上的精度不小于0.6,则可以控制用户端的本地模型执行Grad-CAM算法,利用CNN+中最后一个卷积层的梯度信息,找出最后一个卷积层中与每一个与当前样本类别强相关的一组神经元集合Sjc,具体步骤如下:
在得到了与卷积特征图大小相同的粗粒度的热力图之后,将Relu应用于热力图的线性组合,因为通常只关注对类别c有正面影响的特征,即那些应增加强度以增大yc的像素(负像素可能属于其他类别)。
然后,取中top10%的神经元作为与当前样本类别强相关的神经元集合Sjc。集合中每一个神经元用它在神经网络中的坐标表示,不妨假设最后一个卷积层为神经网络的第1层,该层的输出是三维的,则该层每一个神经元可以用坐标(l,x,y,z)表示,其中x,y,z分别为该神经元分别在该层输出三个维度上的索引。
由于参与方之间拥有的本地数据类别可能存在重叠,因此在拥有c类样本数据的所有参与方j(0≤j≤n-1)都计算出各自的Sjc后,需要n个参与方合作执行n-1次PSI(隐私保护集合交集)协议,求出样本类别c下所有Sjc的交集Sc(模型训练结果)。隐私保护集合交集(Private SetIntersection,PSI)协议允许持有各自数据集合的两方执行双方集合的交集运算。PSI协议结束之后,一方或两方能够得到交集结果,但是双方都无法获知交集以外的对方集合数据的任何信息。
其中,为了便于本领域技术人员更好地了解模型训练结果的计算原理,本申请实施例提供如下PSI协议执行原理:
1.初始化阶段
发送方P1与接收方P2共同协商两个哈希函数H1,H2以及一个伪随机数函数Fk,并且双方都持有F对应的相同密钥k,同时双方也共同协商了协议参数m,w。这里的伪随机数函数Fk的输出是长度为w×logmbit的字符串。也就是说协议开始之前双方拥有相同的H1,H2,Fk,m,w,k。
2.预计算阶段
发送方P1:随机选择一个长度是wbit的字符串S。
接收方P2:生成w×m的二进制的单位矩阵D(也就是矩阵的元素是0或1),这个矩阵有w行,m列。生成随机的密钥k,这个密钥将用于伪随机数函数F的输入。对于数据集合Y的每一个元素y,计算v=Fk(H1(y))。V是一个长度为w×log mbit的随机字符串。将v分成w个长度为log mbit的部分,也就是可以得到w个范围在[0,m-1]的随机数,本申请实施例用符号v[i]表示这个随机数。将D[i][v[i]]设置为0。注意符号D[x][y]表示矩阵的第x行、第y列对应的值。
3.OT阶段
发送方P1:本申请实施例忽略OT阶段的细节,0T执行完毕之后得到一个矩阵C,这个矩阵有w行,m列。
接收方P2:随机选择一个w×m的矩阵A,并计算出矩阵B,其满足忽略OT阶段的细节。矩阵C的每一行与随机数S有关,如果S[i]=0,那么就选择矩阵A的第i行作为矩阵C的第i行;如果S[i]=1,那么就选择矩阵B的第i行作为矩阵C的第i行;这里i的范围是0,1,...,w-1。
4.PSI阶段
接收方P2:将密钥k发送给P1。对于数据集合Y的每个元素y,计算出v=Fk(H1(y))。收到P1发来的一些哈希值的集合CX。本申请实施例用ai来代表A[i][v[i]]的值,ai是矩阵A的元素,要么是0要么是1,符号||表示位的拼接。计算出H2(a0||a1||…||aw-1)的值,这里的H2()的输入是长度为wbit的随机字符串。所有这些值得到哈希值的集合AY。求交集AY∩CX,进而反推出X∩Y。
发送方P1:对于数据集合X的每个元素x,计算出v=Fk(H1(y))。本申请实施例用ci来代表C[i][v[i]]的值。计算出H2(a0||a1||…||aw-1)的值,并将这些值发送给P2。
需要说明的是,参与方0与参与方1执行一次PSI协议,得到S0c∩S1c,参与方1再与参与方2执行一次PSI协议,得到S0c∩S1c∩S2c。依此类推,直到执行n-1次PSI协议得到S0c∩S1c…Sn-1c。这里每一次PSI协议执行时,每个参与方既是发送方也是接收方,因此每一个参与方都拥有一份最终的交集S0c∩S1c…Sn-1c,所有参与方都将S0c∩S1c…Sn-1c发送给中心服务器。由于恶意参与方的存在,如果仅有一个参与方将S0c∩S1c…Sn-1c发送给电力中心服务器,有可能该参与方就是恶意用户,恶意用户可以任意篡改交集的结果。
具体地,在一实施例中,根据各用户得到的模型训练结果的分布情况,确定各模型训练结果所占的分布比例;将分布比例最小的模型训练结果对应的用户,确定为当前参与联邦学习的恶意用户。
需要说明的是,参与联邦网络学习的恶意用户可能不会严格遵守中心服务器下达的控制指令,即可能没有按照标准执行PSI协议,那么恶意用户得到的模型训练结果也一定和正常用户得到的不一样。
示例性的,若当前得到10个用户发送的模型训练结果,其中,有9个用户的模型训练结果的是一样,有1个用户的模型训练结果与众不同,即可以确定两种情况所占的分布比例分别为9/10和1/10,因此,可以确定那个模型训练结果与众不同的用户为恶意用户。
具体地,在一实施例中,为了由于恶意用户检测结果可能存在一定的偶然性,为了避免出现错误报警的情况,可以将当前确定的恶意用户添加到恶意用户列表;当任一用户累计被添加的次数达到预设阈值时,剔除该用户,使该用户无法参与后续的联邦学习。
类似的,也可以当任一用户连续被添加的次数达到预设阈值时,剔除该用户。
进一步地,中心服务器将所有正常用户的本地模型的更新参数求平均值,作为全局模型的参数更新,将更新后的模型参数发送给各参与方,以完成联邦学习。
其中,参与联邦学习的每个用户的模型结构、学习率、参数上传比例、参数下载比例和训练过程(顺序、异步等)是一致的,各自拥有的本地数据的类别是可以公开的,如用户A声称拥有类别[a,b],用户B声称拥有类别[b,c]。
示例性的,如图3所示,为本申请实施例提供的示例性的联邦学习安全聚合方法的流程示意图,其中,如图3所示的方法是如图2所示的方法的一种示例性的实现方式,二者原理相同,不再赘述。
本申请实施例提供的联邦学习安全聚合方法,通过获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;根据模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;从预设的测试集中提取与当前样本类别相对应的测试样本,并将测试样本输入到新的全局模型,得到各新的全局模型对应的神经元平均激活值;根据各新的全局模型对应的神经元平均激活值,确定用户聚类结果;根据用户聚类结果,确定当前参与联邦学习的恶意用户。即通过根据不同用户针对某种样本类别的模型神经元激活情况,确定恶意用户,实现了对联邦学习参与用户身份的验证,提高了联邦学习聚合结果的可靠性。并且,还通过根据所有参与联邦学习的用户的模型训练结果,对所有用户的身份进行了检测,进一步提高了恶意用户检测结果的准确性,有利于进一步提高联邦学习聚合结果的可靠性。
本申请实施例提供了一种联邦学习安全聚合装置,用于执行上述实施例提供的联邦学习安全聚合方法。
如图4所示,为本申请实施例提供的联邦学习安全聚合装置的结构示意图。该联邦学习安全聚合装置40包括获取模块401、更新模块402、测试模块403、聚类模块404和聚合模块405。
其中,获取模块,用于获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;更新模块,用于根据模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;测试模块,用于从预设的测试集中提取与当前样本类别相对应的测试样本,并将测试样本输入到新的全局模型,得到各新的全局模型对应的神经元平均激活值;聚类模块,用于根据各新的全局模型对应的神经元平均激活值,确定用户聚类结果;聚合模块,用于根据用户聚类结果,确定当前参与联邦学习的恶意用户。
具体地,在一实施例中,聚类模块,具体用于:
根据各新的全局模型对应的神经元平均激活值的生成顺序,将神经元平均激活值构建为不同用户对应的时间序列数据;
根据各用户对应的时间序列数据之间的相似度,确定不同类别的聚类质心;
根据其他用户的时间序列数据与各聚类质心之间的相似度,确定用户聚类结果。
具体地,在一实施例中,聚合模块,具体用于:
根据聚类结果中各类别包含的用户数量,将包含用户数量最少的类别确定为异常类;
将异常类中的用户,确定为当前参与联邦学习的恶意用户。
具体地,在一实施例中,该装置还包括:
监控模块,用于监控所有参与联邦学习的用户针对当前样本类别的模型训练结果,其中,模型训练结果包括各用户当前本地模型与当前样本类别强相关的神经元交集;判断各用户得到的模型训练结果是否相同;若不同,则根据各用户得到的模型训练结果的分布情况,确定当前参与联邦学习的恶意用户。
具体地,在一实施例中,监控模块,还用于:
当各用户得到的模型训练结果是否相同时,执行获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息的步骤。
具体地,在一实施例中,监控模块,具体用于:
根据各用户得到的模型训练结果的分布情况,确定各模型训练结果所占的分布比例;
将分布比例最小的模型训练结果对应的用户,确定为当前参与联邦学习的恶意用户。
具体地,在一实施例中,聚合模块,还用于:
将当前确定的恶意用户添加到恶意用户列表;
当任一用户累计被添加的次数达到预设阈值时,剔除该用户,使该用户无法参与后续的联邦学习。
关于本实施例中的联邦学习安全聚合装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的联邦学习安全聚合装置,用于执行上述实施例提供的联邦学习安全聚合方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种电子设备,用于执行上述实施例提供的联邦学习安全聚合方法。
如图5所示,为本申请实施例提供的电子设备的结构示意图。该电子设备50包括:至少一个处理器51和存储器52;
存储器存储计算机执行指令;至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上实施例提供的联邦学习安全聚合方法。
本申请实施例提供的一种电子设备,用于执行上述实施例提供的联邦学习安全聚合方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上任一实施例提供的联邦学习安全聚合方法。
本申请实施例的包含计算机可执行指令的存储介质,可用于存储前述实施例中提供的联邦学习安全聚合方法的计算机执行指令,其实现方式与原理相同,不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种联邦学习安全聚合方法,其特征在于,包括:
获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;
根据所述模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;
从预设的测试集中提取与当前样本类别相对应的测试样本,并将所述测试样本输入到所述新的全局模型,得到各所述新的全局模型对应的神经元平均激活值;
根据各所述新的全局模型对应的神经元平均激活值,确定用户聚类结果;
根据所述用户聚类结果,确定当前参与联邦学习的恶意用户。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述新的全局模型对应的神经元平均激活值,确定用户聚类结果,包括:
根据各所述新的全局模型对应的神经元平均激活值的生成顺序,将所述神经元平均激活值构建为不同用户对应的时间序列数据;
根据各所述用户对应的时间序列数据之间的相似度,确定不同类别的聚类质心;
根据其他用户的时间序列数据与各所述聚类质心之间的相似度,确定用户聚类结果。
3.根据权利要求1所述的方法,其特征在于,所述根据所述用户聚类结果,确定当前参与联邦学习的恶意用户,包括:
根据所述聚类结果中各类别包含的用户数量,将包含用户数量最少的类别确定为异常类;
将所述异常类中的用户,确定为当前参与联邦学习的恶意用户。
4.根据权利要求1所述的方法,其特征在于,在获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息之前,所述方法还包括:
监控所有参与联邦学习的用户针对当前样本类别的模型训练结果,其中,所述模型训练结果包括各用户当前本地模型与所述当前样本类别强相关的神经元交集;
判断各所述用户得到的模型训练结果是否相同;
若不同,则根据各所述用户得到的模型训练结果的分布情况,确定当前参与联邦学习的恶意用户。
5.根据权利要求4所述的方法,其特征在于,还包括:
当各所述用户得到的模型训练结果是否相同时,执行所述获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息的步骤。
6.根据权利要求4所述的方法,其特征在于,所述根据各所述用户得到的模型训练结果的分布情况,确定当前参与联邦学习的恶意用户,包括:
根据各所述用户得到的模型训练结果的分布情况,确定各模型训练结果所占的分布比例;
将所述分布比例最小的模型训练结果对应的用户,确定为当前参与联邦学习的恶意用户。
7.根据权利要求1所述的方法,其特征在于,还包括:
将当前确定的恶意用户添加到恶意用户列表;
当任一用户累计被添加的次数达到预设阈值时,剔除该用户,使该用户无法参与后续的联邦学习。
8.一种联邦学习安全聚合装置,其特征在于,包括:
获取模块,用于获取所有参与联邦学习的用户针对当前样本类别的模型参数更新信息;
更新模块,用于根据所述模型参数更新信息,对预设的全局模型进行模型参数的更新,以得到各用户对应的新的全局模型;
测试模块,用于从预设的测试集中提取与当前样本类别相对应的测试样本,并将所述测试样本输入到所述新的全局模型,得到各所述新的全局模型对应的神经元平均激活值;
聚类模块,用于根据各所述新的全局模型对应的神经元平均激活值,确定用户聚类结果;
聚合模块,用于根据所述用户聚类结果,确定当前参与联邦学习的恶意用户。
9.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111234985.0A CN113919513A (zh) | 2021-10-22 | 2021-10-22 | 一种联邦学习安全聚合方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111234985.0A CN113919513A (zh) | 2021-10-22 | 2021-10-22 | 一种联邦学习安全聚合方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113919513A true CN113919513A (zh) | 2022-01-11 |
Family
ID=79242545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111234985.0A Pending CN113919513A (zh) | 2021-10-22 | 2021-10-22 | 一种联邦学习安全聚合方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113919513A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114202397A (zh) * | 2022-02-17 | 2022-03-18 | 浙江君同智能科技有限责任公司 | 基于神经元激活值聚类的纵向联邦学习后门防御方法 |
CN115062320A (zh) * | 2022-04-26 | 2022-09-16 | 西安电子科技大学 | 异步机制的隐私保护联邦学习方法、装置、介质及系统 |
CN115186285A (zh) * | 2022-09-09 | 2022-10-14 | 闪捷信息科技有限公司 | 联邦学习的参数聚合方法和装置 |
CN115333825A (zh) * | 2022-08-10 | 2022-11-11 | 浙江工业大学 | 针对联邦学习神经元梯度攻击的防御方法 |
CN116957067A (zh) * | 2023-06-28 | 2023-10-27 | 北京邮电大学 | 公共安全事件预测模型的强化联邦学习方法及装置 |
-
2021
- 2021-10-22 CN CN202111234985.0A patent/CN113919513A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114202397A (zh) * | 2022-02-17 | 2022-03-18 | 浙江君同智能科技有限责任公司 | 基于神经元激活值聚类的纵向联邦学习后门防御方法 |
CN114202397B (zh) * | 2022-02-17 | 2022-05-10 | 浙江君同智能科技有限责任公司 | 基于神经元激活值聚类的纵向联邦学习后门防御方法 |
CN115062320A (zh) * | 2022-04-26 | 2022-09-16 | 西安电子科技大学 | 异步机制的隐私保护联邦学习方法、装置、介质及系统 |
CN115062320B (zh) * | 2022-04-26 | 2024-04-26 | 西安电子科技大学 | 异步机制的隐私保护联邦学习方法、装置、介质及系统 |
CN115333825A (zh) * | 2022-08-10 | 2022-11-11 | 浙江工业大学 | 针对联邦学习神经元梯度攻击的防御方法 |
CN115333825B (zh) * | 2022-08-10 | 2024-04-09 | 浙江工业大学 | 针对联邦学习神经元梯度攻击的防御方法 |
CN115186285A (zh) * | 2022-09-09 | 2022-10-14 | 闪捷信息科技有限公司 | 联邦学习的参数聚合方法和装置 |
CN115186285B (zh) * | 2022-09-09 | 2022-12-02 | 闪捷信息科技有限公司 | 联邦学习的参数聚合方法和装置 |
CN116957067A (zh) * | 2023-06-28 | 2023-10-27 | 北京邮电大学 | 公共安全事件预测模型的强化联邦学习方法及装置 |
CN116957067B (zh) * | 2023-06-28 | 2024-04-26 | 北京邮电大学 | 公共安全事件预测模型的强化联邦学习方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113919513A (zh) | 一种联邦学习安全聚合方法、装置及电子设备 | |
CN111475804A (zh) | 一种告警预测方法及系统 | |
JP6812086B2 (ja) | 網状パターン除去システムのトレーニング方法、網状パターン除去方法、装置、機器及び媒体 | |
CN108428132B (zh) | 欺诈交易识别方法、装置、服务器及存储介质 | |
CN111783875A (zh) | 基于聚类分析的异常用户检测方法、装置、设备及介质 | |
WO2019105163A1 (zh) | 目标人物的搜索方法和装置、设备、程序产品和介质 | |
CN109684797B (zh) | 基于区块链的对抗网络生成图片的虚拟ip保护方法及系统 | |
CN110598019B (zh) | 重复图像识别方法及装置 | |
CN114331829A (zh) | 一种对抗样本生成方法、装置、设备以及可读存储介质 | |
CN113553582A (zh) | 恶意攻击检测方法、装置及电子设备 | |
CN112446310A (zh) | 基于区块链的年龄识别系统、方法及装置 | |
WO2023082641A1 (zh) | 电子档案生成方法、装置、终端设备及存储介质 | |
CN116307671A (zh) | 风险预警方法、装置、计算机设备、存储介质 | |
CN115545103A (zh) | 异常数据识别、标签识别方法和异常数据识别装置 | |
CN112308093B (zh) | 基于图像识别的空气质量感知方法、模型训练方法及系统 | |
CN112085051A (zh) | 基于加权投票的图像分类方法、系统及电子设备 | |
CN115455457B (zh) | 基于智慧大数据的链数据管理方法、系统和存储介质 | |
CN104200222B (zh) | 一种基于因子图模型的图片中对象识别方法 | |
CN112766320B (zh) | 一种分类模型训练方法及计算机设备 | |
CN112950222A (zh) | 资源处理异常检测方法、装置、电子设备及存储介质 | |
CN114418767A (zh) | 一种交易意图识别方法及装置 | |
Yang et al. | TAPESTRY: A blockchain based service for trusted interaction online | |
Wu | A method of character verification code recognition in network based on artificial intelligence technology | |
CN110855467A (zh) | 一种基于计算机视觉技术的网络综合态势预测方法 | |
CN117291615B (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 |