CN116628504A - 一种基于联邦学习的可信模型训练方法 - Google Patents
一种基于联邦学习的可信模型训练方法 Download PDFInfo
- Publication number
- CN116628504A CN116628504A CN202310739221.XA CN202310739221A CN116628504A CN 116628504 A CN116628504 A CN 116628504A CN 202310739221 A CN202310739221 A CN 202310739221A CN 116628504 A CN116628504 A CN 116628504A
- Authority
- CN
- China
- Prior art keywords
- client
- training
- local
- data
- matrix
- 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
- 238000012549 training Methods 0.000 title claims abstract description 94
- 238000000034 method Methods 0.000 title claims abstract description 60
- 239000011159 matrix material Substances 0.000 claims abstract description 74
- 230000002776 aggregation Effects 0.000 claims abstract description 57
- 238000004220 aggregation Methods 0.000 claims abstract description 57
- 230000008569 process Effects 0.000 claims abstract description 27
- 239000003999 initiator Substances 0.000 claims abstract description 20
- 238000012795 verification Methods 0.000 claims abstract description 18
- 238000011176 pooling Methods 0.000 claims abstract description 16
- 230000004913 activation Effects 0.000 claims abstract description 6
- 238000007781 pre-processing Methods 0.000 claims description 13
- 238000013496 data integrity verification Methods 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 4
- 101100356682 Caenorhabditis elegans rho-1 gene Proteins 0.000 claims description 3
- 238000013524 data verification Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 abstract description 6
- 238000010801 machine learning Methods 0.000 abstract description 3
- 238000013528 artificial neural network Methods 0.000 description 4
- 201000010099 disease Diseases 0.000 description 3
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000007728 cost analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06N3/098—Distributed learning, e.g. federated learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种基于联邦学习的可信模型训练方法,属于机器学习领域。针对现有技术中证明开销较大的问题,本申请中,初始化阶段任务发起者发布任务,生成公共参数,多个客户端协作生成和发布crs,解决陷门泄漏问题,客户端对本地数据集进行预处理,对数据子集进行承诺并上传至聚合服务器;证明阶段,客户端训练本地模型,并对训练过程中的卷积、池化、激活层分别转换为矩阵乘法操作,进行zk‑SNARK证明,生成可信证据;验证阶段分别验证了数据真实性,数据完整性和训练完整性,这三种特性确保了本地训练过程的真实可行。本申请的技术方案在不影响准确性的情况下同时优化了联邦学习的在线证明效率和存储开销。
Description
技术领域
本发明涉及一种基于联邦学习的可信模型训练方法,属于机器学习领域。
背景技术
联邦学习(FL)是一个分布式机器学习框架,能够在不共享数据的情况下进行多方协作训练以获得高质量的全局模型,从而提供默认的隐私保护。虽然FL为参与的客户提供了隐私保护,但其特殊的架构也带来了许多安全问题。为了保护隐私,FL的模型训练过程只对客户本身可见,这为恶意客户端发动攻击提供了环境基础。
联邦学习在防御恶意攻击上的的缺陷,一些工作已经指出,恶意客户端可能不使用真实的本地数据集,或不按要求执行本地训练任务,使用中毒的数据来训练本地模型,或者上传过时的、虚假的模型更新参数。这些不当行为可能会影响本地模型的正确性,破坏模型的准确性或阻碍全局模型的收敛。特别是在基于联邦学习的现实应用中,它可能导致模型判断不及时或不正确,或造成严重的经济损失。
现有联邦学习框架很少考虑节点不可信的情况,大部分可验证的联邦学习方案是验证聚合结果的正确性,因为聚合服务器可能会受到破坏或恶意攻击。大多数现有的工作验证校正通过证明、签名和区块链的聚合结果。然而,它们都依赖于参与节点提交的梯度的假设是正确的,但它们都没有考虑到真实的本地数据集是否在模型训练过程中被使用。以跨机构的联邦学习场景为例,不诚实的客户端只使用部分本地数据来更新本地模型,然后他们可以用较少的数据集和训练工作来骗取奖励。此外,训练数据集的真实性也是联邦训练结果可用性的先决条件,它可以与上述的解决方案结合起来以实现在有恶意客户的联邦学习中建立模型可信。据我们所知,很少有作品探讨过这个问题。
现有的联邦学习方案通常使用基于可信硬件的可信执行环境来确保本地执行过程的可信,但由于很难为具有异构硬件资源的所有客户端提供统一的可信执行环境。最近,基于zk-SNARK证明确保本地训练过程可信的方式被提出,通过采用基于软件的zk-SNARK与各种加密技术实现对联邦学习本地训练进行证明和隐私保护,确保训练完整性,即客户端能够按预期正确执行训练任务,从而防止懒惰客户端不完全执行训练过程或恶意客户端提供虚假的模型更新,实现了公平可信的联邦学习。
现有方案直接使用zk-SNARK生成证明会导致性能急速下降,因为证明时间使得基于zk-SNARK的证明性能陷入瓶颈。一些工作致力于通过优化可信模型训练中的神经网络训练的证明来提高证明zk-SNARK的效率。因为卷积计算中涉及大量的乘法门,使得卷积运算时性能瓶颈的主导因素。此外,zk-SNARK适用于处理加法门和乘法门,如何进行变换使得其能处理神经网络中的非线性层的处理。所以,如何优化神经网络计算减少证明开销是实现联邦学习本地训练可信的一项挑战。
发明内容
针对现有技术中存在的问题,本申请提出一种基于联邦学习的可信模型训练方法,在不影响准确性的情况下,实现在恶意环境下的联邦学习可信安全的全局模型聚合。
本发明采取的技术方案是,一种基于联邦学习的可信模型训练方法,包括初始化阶段、证明阶段和验证阶段,具体包括以下步骤:
初始化阶段包括,
任务发起者发布FL任务并生成公共参数;
客户端接受任务,下载公共参数对数据集进行预处理;
聚合服务器AS分发全局模型;
证明阶段包括,
客户端本地训练,获得本地梯度更新,并根据训练过程生成可信证明;
客户端对数据承诺、可信证据、本地梯度进行打包发送到聚合服务器AS;
验证阶段包括,
聚合服务器AS接受消息,查询bloom过滤器,验证数据承诺,并验证可信证据。
优化的,上述基于联邦学习的可信模型训练方法,初始化阶段中,任务发起者发布联邦学习任务,公布初始全局模型θ0,生成公共参数pp并将其发送至聚合服务器AS;多个节点协作生成和发布crs;
客户端Pj将本地数据集的子集承诺发送到聚合服务器AS,聚合服务器AS将承诺存储至布隆过滤器后,将公共参数pp公开给各参与客户端Pj;
客户端Pj在接收到公共参数pp后,使用其中的模数序列H={h1,h2,...,hn-m+1}对本地数据集D中的样本矩阵X进行预处理,预处理操作包括中国剩余定理和im2col变化,之后获得处理后的矩阵E。
优化的,上述基于联邦学习的可信模型训练方法,证明阶段中,
在联邦学习任务的每轮迭代中,参与客户端Pj使用本地数据子集训练新一轮的本地模型,并使用预处理后的矩阵E对训练的过程中的卷积神经网络操作生成一个本地证明,包含卷积层和非线性层证明,生成可信证据,用于证明客户端正确执行了本地训练操作,本地模型的生成过程是可信的;
参与客户端Pj将本轮训练子集的承诺、可信证据,一同发送至聚合服务器AS。
优化的,上述基于联邦学习的可信模型训练方法,验证阶段中,
聚合服务器AS收到客户端Pj发送的消息后,首先查询对应数据子集的承诺是否存储在布隆过滤器中,验证客户端的数据真实性;
聚合服务器AS对客户端Pj的可信证据进行验证,验证客户端的训练完整性;
聚合服务器AS对客户端完整数据集的承诺和数据子集的承诺进行检验,验证客户端参与联邦学习的数据完整性。
优化的,上述基于联邦学习的可信模型训练方法,任务发起者发布联邦学习任务,公布初始全局模型θ0,生成公共参数pp并将其发送至聚合服务器AS的具体过程包括,
任务发起者分发联邦学习任务,初始化全局模型θ0和公共参数pp,任务发起者选择一个大素数p,生成一个p阶素数群其中p>2λ,λ是安全参数,并生成一个双线性映射包含三个群G1,G2,GT满足e(G1,G2)→GT,其中g,h分别是G1,G2的生成元;
接着选择期望的训练轮数T,样本矩阵的维度n×n,卷积核维度m×m,构造一个m2×m2的奇异方阵U,最后计算一个模数序列H={h1,h2,...,hn-m+1};
任务发起者将公共参数发送给聚合服务器AS;
多个节点协作生成和发布crs的具体过程包括,
假设有ρ个节点协同生成crs,每个节点首先将本地证明的约束条件从一种NP语言转换为对应的关系,然后每个节点选择6个随机数xi,αi,βi,γi,δi,zi∈Zq,计算如下:
每个节点广播(αi,βi,γi,δi,xi,zi),接收来自其他ρ-1节点的广播,并将所有节点的参数聚合如下:
接着,每个节点计算如下,
最后,将公开给所有节点。
优化的,上述基于联邦学习的可信模型训练方法,对本地数据集D中的样本矩阵X进行预处理的具体过程包括,
客户端Pj下载公共参数pp后,使用其中的模数序列H={h1,h2,...,hn-m+1}对本地数据集D中的样本矩阵X进行预处理ei,j=CRT(xi,j,xi+1,j,...,xi+n-m,j),
客户端Pj将本地数据子集Dj的承诺comm(Dj)=U×Ej发送到聚合服务器AS,聚合服务器AS将承诺comm(Dj)存储至布隆过滤器BF中。
优化的,上述基于联邦学习的可信模型训练方法,在联邦学习任务的每轮迭代中,参与客户端Pj使用本地数据子集训练新一轮的本地模型,其具体过程包括,
假设客户端Pj在第t轮训练中获得了全局模型θt-1,客户端Pj在数据集Dj的子集上训练本地模型,提取卷积核矩阵W和特征矩阵E;
使用预处理后的矩阵E对训练的过程中的卷积神经网络操作生成一个本地证明,其具体过程包括,
客户端Pj使用优化zk-SNARK证据生成算法生成可信证据;
客户端Pj首先对卷积层操作进行证明,客户端Pj将批量卷积操作构造为多个矩阵乘法W×E=Z,并通过设定不确定变量Q将多个矩阵乘法联立,使得ΣQiWi×ΣQiEi=ΣQiZi成立;
根据基于QMP的zk-SNARK定义,左线输入为右线输入为输出线为/>客户端Pj设置φ为(Q1,Q2,...,Qs),设置ω为(Qs+1,Qs+2,...,QN),并生成可信证据通过执行算法π←Prove(crs,φ,ω),客户端Pj随机在/>选取r,s,并计算证据如下:
客户端Pj得到证据π=(A,B,C,D),能够使得等式e(A,B)==e(gα,hβ)·e(D,hγ)·e(C,hδ)成立;
对于最大池化层和激活函数层等非线性层,采用0/1矩阵来模拟非线性操作,并将非线性运算转换为矩阵运算;
在最大池化层,根据每个池化区域中最大元素的位置,将最大池化运算矩阵PM的相应元素设置为1,其余元素设置为0,以此将非线性最大池化操作转换为与前一层的输出矩阵Z的矩阵乘法运算
在激活层,构造具有0和1个元素的ReLU运算矩阵RM,其中1对应于输入ReLU激活层中大于0的元素,将其与从卷积层输出的特征矩阵Z进行矩阵相乘并使用上述设计的基于QMP优化证据生成算法进行处理;
客户端Pj在完成模型训练和证据生成后,将子集承诺Comm(Dji),可信证据π和本地梯度更新打包,发送至聚合服务器AS。
优化的,上述基于联邦学习的可信模型训练方法,聚合服务器AS收到客户端Pj发送的消息后,首先查询对应数据子集的承诺是否存储在布隆过滤器中,验证客户端的数据真实性,其具体过程为,
数据真实性验证,聚合服务器AS使用布隆过滤器的ξ个无偏哈希函数来计算数据子集承诺的哈希,并同余布隆过滤器的长度L以将子集承诺的哈希存储至布隆过滤器中,具体bitk←Hk(hash(Comm(Dji)))modL,判定对应的比特位在布隆过滤器中是否为1;
每个比特都将以ò的误判率被错误的判断,如果经过全部ξ次查询结果都为1,则有1-òξ的极大概率来确认布隆过滤器中包含改子集的承诺,即数据真实性验证成功,
聚合服务器AS对客户端Pj的可信证据进行验证,验证客户端的训练完整性,其具体过程为,
数据完整性验证,假设经过t轮训练,全局模型收敛,模型精度达到要求;
当t<T时,说明在所有的承诺子集使用完之前全局模型达到任务发起者的需求,联邦学习任务完成,此时我们要求所有客户端将剩下的承诺上传用于数据完整性验证;
当t=T时,直接进行数据完整性验证;
当t>T时,意味着在所有子集都经过训练后,全局模型一人没有达到要求,我们使用相同的数据子集对下T轮进行训练,每一个T轮执行一次完整性验证,直到模型收敛;
聚合服务器计算挑战值η=hash(Comm(D)),验证等式是否成立,若成立,则数据完整性验证通过,得到b2=1;
聚合服务器AS对客户端完整数据集的承诺和数据子集的承诺进行检验,验证客户端参与联邦学习的数据完整性,其具体过程为,
训练完整性验证,聚合服务器AS通过执行算法b3←Verify(crs,φ,π),解析π为(A,B,C,D),并计算等式e(A,B)=e(gα,hβ)·e(D,hγ)·e(C,hδ)是否成立,若成立,则训练完整性通过;
最后,验证若b为1,则证明客户端本地模型训练是真实执行的,否则,就认定该客户端是恶意的,将其梯度更新舍弃。
本申请的有益效果为:
本申请的技术方案中,设计实现联邦学习对本地训练完整性的可信证明,在不影响准确性的情况下,实现了在恶意环境下的客户端可信模型训练的证明生成。
通过使用中国剩余定理对数据集进行预处理操作,显著减少在线证据生成时间;优化了神经网络中的非线性层操作,减少了可信证据生成的证明开销。
解决了卷积神经网络模型中卷积运算开销过大的问题。
实现客户端/服务器架构下的数据真实性和数据完整性的轻量级验证;利用了一个基于零知识简洁的非交互式知识论证的电路改进来提高批量证明的证明效率。
本申请的技术方案还利用率轻量级的承诺方案和布隆过滤器,使得联邦学习的通信和存储开销得到较大改善。
附图说明
图1为本发明提出的基于联邦学习的可信模型训练方法的系统模型图。
具体实施方式
下面结合具体实施例进一步阐述本发明的技术特点。
本申请中,提出了一个在恶意环境下基于联邦学习的可信模型训练方法,如图1所示,实体主要包含任务发起者,客户端和聚合服务器(Aggregation server,AS),其具体过程主要包括以下步骤。
1)任务发起者发布FL任务并生成公共参数;
2)客户端接受任务,下载公共参数对数据集进行预处理;
3)聚合服务器AS分发全局模型;
4)客户端本地训练,获得本地梯度更新,并根据训练过程生成可信证明;
5)客户端对数据承诺、可信证据、本地梯度进行打包发送到聚合服务器AS;
6)聚合服务器AS接受消息,查询bloom过滤器,验证数据承诺,并验证可信证据。
下面我们分三个阶段描述具体流程:分别是初始化阶段、证明阶段和验证阶段。
初始化阶段:
任务发起者分发联邦学习任务,初始化全局模型θ0和公共参数pp,任务发起者选择一个大素数p,生成一个p阶素数群其中p>2λ,λ是安全参数,并生成一个双线性映射包含三个群G1,G2,GT满足e(G1,G2)→GT,其中g,h分别是G1,G2的生成元,接着选择期望的训练轮数T,样本矩阵的维度n×n,卷积核维度m×m,构造一个m2×m2的奇异方阵U,最后计算一个模数序列H={h1,h2,...,hn-m+1}。任务发起者将公共参数发送给聚合服务器AS。
假设有ρ个节点协同生成crs,每个节点首先将本地证明的约束条件从一种NP语言转换为对应的关系,然后每个节点选择6个随机数xi,αi,βi,γi,δi,zi∈Zq,计算如下:
每个节点广播(αi,βi,γi,δi,xi,zi),接收来自其他ρ-1节点的广播,并将所有节点的参数聚合为,
接着,每个节点计算如下,
最后,将公开给所有节点。
客户端Pj下载公共参数pp后,使用其中的模数序列H={h1,h2,...,hn-m+1}对本地数据集D中的样本矩阵X进行预处理ei,j=CRT(xi,j,xi+1,j,...,xi+n-m,j),如下所示:
客户端Pj将本地数据子集Dj的承诺comm(Dj)=U×Ej发送到聚合服务器AS,聚合服务器AS将承诺comm(Dj)存储至布隆过滤器BF中。
证明阶段:每个节点都会执行以下操作,以完成可信证据生成:
本地模型训练:假设Pj在第t轮训练中获得了全局模型θt-1,Pj在数据集Pj的子集上训练本地模型,提取卷积核矩阵W和特征矩阵E。
本地证据生成:Pj使用优化zk-SNARK证据生成算法生成可信证据。Pj首先对卷积层操作进行证明,Pj将批量卷积操作构造为多个矩阵乘法W×E=Z,并通过设定不确定变量Q将多个矩阵乘法联立,使得ΣQiWi×ΣQiEi=ΣQiZi成立。根据基于QMP的zk-SNARK定义,左线输入为右线输入为/>输出线为/>客户端Pj设置φ为(Q1,Q2,...,Qs),设置ω为(Qs+1,Qs+2,...,QN),并生成可信证据通过执行算法π←Prove(crs,φ,ω),客户端Pj随机在/>选取r,s,并计算证据如下:
客户端Pj得到证据π=(A,B,C,D),能够使得等式e(A,B)==e(gα,hβ)·e(D,hγ)·e(C,hδ)成立。
对于最大池化层和激活函数层等非线性层,我们采用0/1矩阵来模拟非线性操作,并将非线性运算转换为矩阵运算。在最大池化层,我们根据每个池化区域中最大元素的位置,我们将最大池化运算矩阵PM的相应元素设置为1,其余元素设置为0,这可以将非线性最大池化操作转换为与前一层的输出矩阵Z的矩阵乘法运算在激活层,我们构造具有0和1个元素的ReLU运算矩阵RM,其中1对应于输入ReLU激活层中大于0的元素。我们将其与从卷积层输出的特征矩阵Z进行矩阵相乘/>并使用我们上述设计的基于QMP优化证据生成算法进行处理。
客户端Pj在完成模型训练和证据生成后,将子集承诺Comm(Dji),可信证据π和本地梯度更新打包,发送至聚合服务器AS。
验证阶段:聚合服务器完成以下操作。
数据真实性验证,聚合服务器AS使用布隆过滤器的ξ个无偏哈希函数来计算数据子集承诺的哈希,并同余布隆过滤器的长度L以将子集承诺的哈希存储至布隆过滤器中,具体bitk←Hk(hash(Comm(Dji)))mod L,判定对应的比特位在布隆过滤器中是否为1。每个比特都将以ò的误判率被错误的判断,如果经过全部ξ次查询结果都为1,则有1-òξ的极大概率来确认布隆过滤器中包含改子集的承诺,即数据真实性验证成功。
数据完整性验证,假设经过t轮训练,全局模型收敛,模型精度达到要求。当t<T时,说明在所有的承诺子集使用完之前全局模型达到任务发起者的需求,联邦学习任务完成,此时我们要求所有客户端将剩下的承诺上传用于数据完整性验证;当t=T时,直接进行数据完整性验证;当t>T时,意味着在所有子集都经过训练后,全局模型一人没有达到要求,我们使用相同的数据子集对下T轮进行训练,每一个T轮执行一次完整性验证,直到模型收敛。聚合服务器计算挑战值η=hash(Comm(D)),验证等式是否成立,若成立,则数据完整性验证通过,得到b2=1。
训练完整性验证,聚合服务器AS通过执行算法b3←Verify(crs,φ,π),解析π为(A,B,C,D),并计算等式e(A,B)=e(gα,hβ)·e(D,hγ)·e(C,hδ)是否成立,若成立,则训练完整性通过。最后,验证若b为1,则证明客户端本地模型训练是真实执行的,否则,就认定该客户端是恶意的,将其梯度更新舍弃。
数据集预处理算法如下:
输入:n×n的样本矩阵X和模数序列H={h1,h2,...,hn-m+1}
输出:预处理后的矩阵E
1、客户端P对样本矩阵X计算中国剩余定理
2、对于j=1到n,客户端P随机选取列向量(x1,j,x2,j,...,xn,j)T
3、对于i=1到m,客户端使用模数序列计算ei,j=CRT(xi,j,xi+1,j,...,xi+n-m,j)
4、进而获得系数矩阵Xi′,其中{ei,j}是矩阵X′i的每一项元素。
5、为了将m×n的系数矩阵Xi′通过m×m的卷积核卷积转换为矩阵乘法,通过im2col算法将X′i变换为Ei=im2col(X′i)。
6、返回Ei。
改进的基于zk-SNARK的证据生成算法是:
输入:处理后的矩阵E;特征矩阵Z;公共参考字符串crs;全局模型参数θ;
输出:可信证据π;
客户端解析全将模型参数θ得到卷积核W和偏置b;
解析陈述φ为(Q1,Q2,...,Qs),解析证据ω为(Qs+1,Qs+2,...,QN);
对于i=1到N,使得ΣQiWi×ΣQiEi=ΣQiZi等式成立;
客户端在域上随机选取r,s;
计算等式
构造证据π=(A,B,C,D);
返回π。
本申请的技术方案与其他可验证卷积神经网络方案的对比:
从功能上分析,我们与VeriML、vCNN、pvCNN类似,都是对可验证卷积神经网络的证明过程进行优化,我们在此基础上将其进一步应用至联邦学习场景下。本方案提出了一种可信模型更新方法,所有的本地模型训练均需要生成可信证据来证明真实执行了卷积神经网络操作,且相较于VeriML、vCNN、pvCNN方案,我们在卷积操作计算上进行了优化,使用中国剩余定理对样本矩阵进行了预处理操作,此外,我们改进了基于QMP的zk-SNARK方案对算术电路的运算,显著降低了方案的在线证明时间。从理论上,我们对比其他方案的在线证明时间如下表所示:
表1在线证明时间分析
方案 | 在线证明时间 |
VeriML | O(N·M·n2m2) |
vCNN | O(N·M(n2+m2)) |
pvCNN | O(N·M·n2) |
TMT-FL | O(N·n2) |
从计算代价分析,我们对比其他方案的CRS生成时间和证明时间如下表所示:
表2证明时间
矩阵维度 | Groth16 | vCNN | pvCNN | TMT-FL |
16×16 | 1020s | 602s | 198s | 123s |
20×20 | 1950s | 884s | 346s | 148s |
24×24 | 3160s | 1331s | 508s | 158s |
28×28 | 4400s | 1782s | 648s | 264s |
表3 CRS生成时间
矩阵维度 | Groth16 | vCNN | pvCNN | TMT-FL |
16×16 | 1530s | 682s | 331s | 268s |
20×20 | 2925s | 963s | 611s | 334s |
24×24 | 4740s | 1486s | 913s | 378s |
28×28 | 6588s | 1895s | 1331s | 651s |
本方案计算代价在设置阶段和证明阶段都低于其他方案,计算效率高,特别是相较于Groth16,随着样本矩阵维度的增加,CRS生成开销和证明开销大幅增加。
从存储代价分析,我们对比其他方案的客户端在矩阵维度不同的情况下存储开销如下表所示:
表4客户端存储开销
矩阵维度 | Groth16 | vCNN | pvCNN | TMT-FL |
16×16 | 404.97kb | 239.01kb | 93.40kb | 194.23kb |
20×20 | 629.26kb | 285.81kb | 239.04kb | 301.81kb |
24×24 | 903.40kb | 380.52kb | 537.96kb | 433.30kb |
28×28 | 1227.39kb | 497.09kb | 1053.51kb | 588.69kb |
由表中可知,随着矩阵维度的增加,本方案的存储开销小于Groth16和pvCNN方案,略高于vCNN方案。特别是,存储大小的随着矩阵维度的增长速率远优于pvCNN方案。
下面,结合具体应用,对本申请的方案进行阐述。
在智能医疗场景下:针对医院某项不常见疾病的检测十分困难,单个医疗机构的样本库中记录较少,无法训练出一个稳定精确的预测模型,且样本信息包含患者的隐私信息,不可以直接泄露。为了防止恶意用户对构建虚假梯度破坏全局模型,或是不愿使用隐私数据参与训练,伪造梯度以获取全局模型结果。
针对这样情况,本申请的方案适用于多家医疗机构针对某一项疾病联合训练出一个高精确度的预测模型,各医疗机构根据自己的样本数据不断修正全局模型,并提供训练过程的可信证据。直到达到任务发布者要求,这对某项疾病的研究和诊断都是十分有效的,且不用担心模型被破化或嵌入后门,这对每个参与机构都是公平的。
智慧金融中:针对金融行业中的信息不对称,用户信用记录不完善,银行人工核验成本高且难以全面覆盖等难点,风险控制能力以及贷款用户的风险识别能力的不足都对金融机构进行风险控制带来了机遇和挑战。
面对这样的情况,本申请的方案适用于多家机构利用多维度数据建立联合金融风险模型。一方面,联邦学习技术可以保护客户端数据不出本地的前提下训练获得更多元的全局模型,因此,多家机构的多维度数据能构建更精准的风控模型。另一方面,申请的方案也能防止其中的恶意客户端使用中毒攻击给全局风控模型造成破化,造成经济上的损失,同样,它还能防止恶意用户使用一部分数据集而不是全部数据集参与训练,且能正常获取聚合结果的搭便车行为,保证各客户端本地梯度更新的真实可信,进而确保全局风控模型的效果更加精准。
当然,上述说明并非是对本发明的限制,本发明也并不限于上述举例,本技术领域的普通技术人员,在本发明的实质范围内,作出的变化、改型、添加或替换,都应属于本发明的保护范围。
Claims (8)
1.一种基于联邦学习的可信模型训练方法,其特征在于:包括初始化阶段、证明阶段和验证阶段,具体包括以下步骤:
初始化阶段包括,
任务发起者发布FL任务并生成公共参数;
客户端接受任务,下载公共参数对数据集进行预处理;
聚合服务器AS分发全局模型;
证明阶段包括,
客户端本地训练,获得本地梯度更新,并根据训练过程生成可信证明;
客户端对数据承诺、可信证据、本地梯度进行打包发送到聚合服务器AS;
验证阶段包括,
聚合服务器AS接受消息,查询bloom过滤器,验证数据承诺,并验证可信证据。
2.根据权利要求1所述的基于联邦学习的可信模型训练方法,其特征在于:初始化阶段中,任务发起者发布联邦学习任务,公布初始全局模型θ0,生成公共参数pp并将其发送至聚合服务器AS;多个节点协作生成和发布crs;
客户端Pj将本地数据集的子集承诺发送到聚合服务器AS,聚合服务器AS将承诺存储至布隆过滤器后,将公共参数pp公开给各参与客户端Pj;
客户端Pj在接收到公共参数pp后,使用其中的模数序列H={h1,h2,...,hn-m+1}对本地数据集Dj中的样本矩阵X进行预处理,预处理操作包括中国剩余定理和im2col变换,之后获得处理后的矩阵Ej。
3.根据权利要求1所述的基于联邦学习的可信模型训练方法,其特征在于:
证明阶段中,
在联邦学习任务的每轮迭代中,参与客户端Pj使用本地数据子集训练新一轮的本地模型,并使用预处理后的矩阵Ej对训练的过程中的卷积神经网络操作生成一个本地证明,包含卷积层和非线性层证明,生成可信证据,用于证明客户端正确执行了本地训练操作,本地模型的生成过程是可信的;
参与客户端Pj将本轮训练子集的承诺、可信证据,一同发送至聚合服务器AS。
4.根据权利要求1所述的基于联邦学习的可信模型训练方法,其特征在于:
验证阶段中,
聚合服务器AS收到客户端Pj发送的消息后,首先查询对应数据子集的承诺是否存储在布隆过滤器中,验证客户端的数据真实性;
聚合服务器AS对客户端Pj的可信证据进行验证,验证客户端的训练完整性;
聚合服务器AS对客户端完整数据集的承诺和数据子集的承诺进行检验,验证客户端参与联邦学习的数据完整性。
5.根据权利要求2所述的基于联邦学习的可信模型训练方法,其特征在于:
任务发起者发布联邦学习任务,公布初始全局模型θ0,生成公共参数pp并将其发送至聚合服务器AS的具体过程包括,
任务发起者分发联邦学习任务,初始化全局模型θ0和公共参数pp,任务发起者选择一个大素数p,生成一个p阶素数群其中p>2λ,λ是安全参数,并生成一个双线性映射包含三个群G1,G2,GT满足e(G1,G2)→GT,其中g,h分别是G1,G2的生成元;
接着选择期望的训练轮数T,样本矩阵的维度n×n,卷积核维度m×m,构造一个m2×m2的奇异方阵U,最后计算一个模数序列H={h1,h2,...,hn-m+1};
任务发起者将公共参数发送给聚合服务器AS;
多个节点协作生成和发布crs的具体过程包括,
假设有ρ个节点协同生成crs,每个节点首先将本地证明的约束条件从一种NP语言转换为对应的关系,然后每个节点选择6个随机数xi,αi,βi,γi,δi,zi∈Zq,计算如下:
每个节点广播(αi,βi,γi,δi,xi,zi),接收来自其他ρ-1节点的广播,并将所有节点的参数聚合如下:
接着,每个节点计算如下,
最后,将公开给所有节点。
6.根据权利要求2所述的基于联邦学习的可信模型训练方法,其特征在于:
对本地数据集D中的样本矩阵X进行预处理的具体过程包括,
客户端Pj下载公共参数pp后,使用其中的模数序列H={h1,h2,...,hn-m+1}对本地数据集D中的样本矩阵X进行预处理
客户端Pj将本地数据子集Dj的承诺comm(Dj)=U×Ej发送到聚合服务器AS,聚合服务器AS将承诺comm(Dj)存储至布隆过滤器BF中。
7.根据权利要求3所述的基于联邦学习的可信模型训练方法,其特征在于:
在联邦学习任务的每轮迭代中,参与客户端Pj使用本地数据子集训练新一轮的本地模型,其具体过程包括,
假设客户端Pj在第t轮训练中获得了全局模型θt-1,客户端Pj在数据集Dj的子集上训练本地模型,提取卷积核矩阵W和特征矩阵E;
使用预处理后的矩阵E对训练的过程中的卷积神经网络操作生成一个本地证明,其具体过程包括,
客户端Pj使用优化zk-SNARK证据生成算法生成可信证据;
客户端Pj首先对卷积层操作进行证明,客户端Pj将批量卷积操作构造为多个矩阵乘法W×E=Z,并通过设定不确定变量Q将多个矩阵乘法联立,使得成立;
根据基于QMP的zk-SNARK定义,左线输入为右线输入为/>输出线为/>客户端Pj设置φ为(Q1,Q2,...,Qs),设置ω为(Qs+1,Qs+2,...,QN),并生成可信证据通过执行算法π←Prove(crs,φ,ω),客户端Pj随机在/>选取r,s,并计算证据如下:
客户端Pj得到证据π=(A,B,C,D),能够使得等式e(A,B)==e(gα,hβ)·e(D,hγ)·e(C,hδ)成立;
对于最大池化层和激活函数层等非线性层,采用0/1矩阵来模拟非线性操作,并将非线性运算转换为矩阵运算;
在最大池化层,根据每个池化区域中最大元素的位置,将最大池化运算矩阵PM的相应元素设置为1,其余元素设置为0,以此将非线性最大池化操作转换为与前一层的输出矩阵Z的矩阵乘法运算
在激活层,构造具有0和1个元素的ReLU运算矩阵RM,其中1对应于输入ReLU激活层中大于0的元素,将其与从卷积层输出的特征矩阵Z进行矩阵相乘并使用上述设计的基于QMP优化证据生成算法进行处理;
客户端Pj在完成模型训练和证据生成后,将子集承诺Comm(Dji),可信证据π和本地梯度更新打包,发送至聚合服务器AS。
8.根据权利要求4所述的基于联邦学习的可信模型训练方法,其特征在于:
聚合服务器AS收到客户端Pj发送的消息后,首先查询对应数据子集的承诺是否存储在布隆过滤器中,验证客户端的数据真实性,其具体过程为,
数据真实性验证,聚合服务器AS使用布隆过滤器的ξ个无偏哈希函数来计算数据子集承诺的哈希,并同余布隆过滤器的长度L以将子集承诺的哈希存储至布隆过滤器中,具体bitk←Hk(hash(Comm(Dji)))modL,判定对应的比特位在布隆过滤器中是否为1;
每个比特都将以ò的误判率被错误的判断,如果经过全部ξ次查询结果都为1,则有的极大概率来确认布隆过滤器中包含改子集的承诺,即数据真实性验证成功,
聚合服务器AS对客户端Pj的可信证据进行验证,验证客户端的训练完整性,其具体过程为,
数据完整性验证,假设经过t轮训练,全局模型收敛,模型精度达到要求;
当t<T时,说明在所有的承诺子集使用完之前全局模型达到任务发起者的需求,联邦学习任务完成,此时我们要求所有客户端将剩下的承诺上传用于数据完整性验证;
当t=T时,直接进行数据完整性验证;
当t>T时,意味着在所有子集都经过训练后,全局模型依然没有达到要求,我们使用相同的数据子集对下T轮进行训练,每一个T轮执行一次完整性验证,直到模型收敛;
聚合服务器计算挑战值η=hash(Comm(D)),验证等式是否成立,若成立,则数据完整性验证通过,b2=1;
聚合服务器AS对客户端完整数据集的承诺和数据子集的承诺进行检验,验证客户端参与联邦学习的数据完整性,其具体过程为,
训练完整性验证,聚合服务器AS通过执行算法b3←Verify(crs,φ,π),解析π为(A,B,C,D),并计算等式e(A,B)=e(gα,hβ)·e(D,hγ)·e(C,hδ)是否成立,若成立,则训练完整性通过;
最后,验证若b为1,则证明客户端本地模型训练是真实执行的,否则,就认定该客户端是恶意的,将其梯度更新舍弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739221.XA CN116628504A (zh) | 2023-06-21 | 2023-06-21 | 一种基于联邦学习的可信模型训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310739221.XA CN116628504A (zh) | 2023-06-21 | 2023-06-21 | 一种基于联邦学习的可信模型训练方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116628504A true CN116628504A (zh) | 2023-08-22 |
Family
ID=87597392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310739221.XA Pending CN116628504A (zh) | 2023-06-21 | 2023-06-21 | 一种基于联邦学习的可信模型训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116628504A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116996235A (zh) * | 2023-09-26 | 2023-11-03 | 中电科大数据研究院有限公司 | 联合建模的安全认证方法、装置及系统 |
-
2023
- 2023-06-21 CN CN202310739221.XA patent/CN116628504A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116996235A (zh) * | 2023-09-26 | 2023-11-03 | 中电科大数据研究院有限公司 | 联合建模的安全认证方法、装置及系统 |
CN116996235B (zh) * | 2023-09-26 | 2023-12-05 | 中电科大数据研究院有限公司 | 联合建模的安全认证方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bowe et al. | A multi-party protocol for constructing the public parameters of the Pinocchio zk-SNARK | |
EP3646563B1 (en) | Method, system, and computer program product for determining solvency of a digital asset exchange | |
Xiong et al. | On the design of blockchain-based ECDSA with fault-tolerant batch verification protocol for blockchain-enabled IoMT | |
Zhao et al. | Veriml: Enabling integrity assurances and fair payments for machine learning as a service | |
Ma et al. | PDLM: Privacy-preserving deep learning model on cloud with multiple keys | |
US11687562B2 (en) | Apparatus and method for adaptively managing sharded blockchain network based on deep Q network | |
Seifelnasr et al. | Scalable open-vote network on ethereum | |
Diamond | Many-out-of-many proofs and applications to anonymous zether | |
Mendis et al. | A blockchain-powered decentralized and secure computing paradigm | |
CN116628504A (zh) | 一种基于联邦学习的可信模型训练方法 | |
El Kassem et al. | More efficient, provably-secure direct anonymous attestation from lattices | |
Maddali et al. | VeriBlock: A novel blockchain framework based on verifiable computing and trusted execution environment | |
US11782758B2 (en) | Distributed computing system and method of operation thereof | |
Farzaliyev et al. | Improved lattice-based mix-nets for electronic voting | |
CN111787034A (zh) | 区块生成方法、同步方法、装置、区块链系统和存储介质 | |
CN116992480A (zh) | 一种提供公开可验证的外包计算服务的方法 | |
US20220075668A1 (en) | Distributed computing system and method of operation thereof | |
Toli et al. | Privacy-preserving multibiometric authentication in cloud with untrusted database providers | |
Baghery et al. | Benchmarking the setup of updatable zk-SNARKs | |
Joshi et al. | ATSSIA: Asynchronous truly-threshold Schnorr signing for inconsistent availability | |
Zhao et al. | Privacy-preserving outsourcing schemes of modular exponentiations using single untrusted cloud server | |
CN112765570B (zh) | 一个支持数据转移的基于身份可证明数据持有方法 | |
CN111090840B (zh) | 一种利用区块链预注册信息进行用户服务认证的方法 | |
Tong et al. | Secure outsourcing algorithm for bilinear pairings without pre-computation | |
Zhang et al. | Blockchain-based Dynamic Time-encapsulated Data Auditing for Outsourcing Storage |
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 |