CN112966741B - 一种可防御拜占庭攻击的联邦学习图像分类方法 - Google Patents
一种可防御拜占庭攻击的联邦学习图像分类方法 Download PDFInfo
- Publication number
- CN112966741B CN112966741B CN202110245686.0A CN202110245686A CN112966741B CN 112966741 B CN112966741 B CN 112966741B CN 202110245686 A CN202110245686 A CN 202110245686A CN 112966741 B CN112966741 B CN 112966741B
- Authority
- CN
- China
- Prior art keywords
- node
- working
- parameter
- model
- parameters
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
- 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/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种可防御拜占庭攻击的联邦学习图像分类方法,通过计算工作节点总信息熵以及各个工作节点的局部信息熵从而得到工作节点的信息熵增益,利用工作节点的信息熵增益取值剔除存在问题的设备再更新模型参数,从而保证了当工作节点受到拜占庭攻击时基于联邦学习的图像分类模型训练的效果,最终实现了对于拜占庭攻击的防御;本发明基于模型训练过程中的模型参数进行计算,算法具有低时间复杂度和空间复杂度,能够实现快速响应,同时由于梯度的计算使用于多种机器学习算法中,因此该方法具有较好的泛化性。
Description
技术领域
本发明属于机器学习中的图像分类技术领域,具体涉及一种可防御拜占庭攻击的联邦学习图像分类方法。
背景技术
数据孤岛和数据隐私是限制人工智能技术发展的两个主要因素。联邦学习是一种针对分布式数据的机器学习框架,模型训练参与者可以在不共享数据的前提下协同训练全局模型,在保证数据隐私的同时打破数据孤岛,加速机器学习模型训练,适用于训练采用非独立同分布(Non-IID)数据的模型。目前,联邦学习被广泛应用于金融、保险、医疗、新零售等领域。
参数服务器(Parameter Server)结构是最为著名的联邦学习结构,其通过迭代来完成模型的训练更新。联邦平均(FedAvg)算法是在参数服务器结构的基础上形成的,广泛应用于联邦学习中,其能够应对联邦学习中特有的数据隐私等问题,在利用该结构进行图像分类模型的训练时,主要包括两个步骤:第一步,从所有参与训练的工作节点中随机选取一部分的工作节点作为本轮迭代的训练对象,对于选中的工作节点,工作节点将对当前所收集的用于训练的图像数据进行预处理,同时从服务器节点接收全局模型参数,利用最新的全局模型参数进行模型的训练并得到最新的本地模型参数,随后最新的模型参数将会被发送给服务器节点来进行全局模型的更新。第二步,服务器节点将根据各个工作节点最新的本地模型参数信息来更新全局模型,然后将更新后的全局模型广播至所有工作节点并开始下一次的迭代更新过程。在基于参数服务器结构的联邦学习中,工作节点经常会部署在边缘节点,而服务器节点经常位于云端。
然而,在联邦学习中,为了保护用户的隐私,工作节点之间不允许共享数据,因此服务器节点不知道工作节点是正常的参与者还是恶意的攻击者,这就使得训练过程很容易受到攻击。在模型训练过程中,攻击者可操控多个参与者的本地训练过程,在服务器参数聚合的时候恶意修改参数值,实现攻击,从而影响全局模型训练的精度和收敛性。在联邦学习中,最典型的攻击方式是拜占庭攻击(Byzantine Attack),它试图篡改参与者提交的模型更新的参数值,使得模型参数的实际收敛过程偏离正确方向,进而影响全局模型的精度和收敛性。
鲁棒聚合算法是为了解决拜占庭攻击而提出了,其分为两类:基于防御的算法和基于检测的算法。基于防御的算法以一种抵抗拜占庭攻击的方式计算聚合模型参数,该方法的一个原型思想是估计并计算服务器节点所接收到的工作节点模型更新的最优聚合。基于检测的算法则试图在全局模型聚合过程中区分恶意工作者和良性工作者,并清除恶意工作者,其利用预先训练的检测模型在模型聚合过程中检测和删除恶意模型更新,检测模型在没有攻击的数据上进行训练。总体来说,基于防御的算法在安全性上更优于基于检测的算法,同时也更适用于图像识别。
然而实验显示基于防御的算法仍有一定局限性,即当攻击者数量逐渐增加时可能将无法防御攻击者的恶意攻击,或者虽然可以轻微抵抗攻击,但其精度仍然远远低于无攻击时的效果。
发明内容
有鉴于此,本发明提供了一种可防御拜占庭攻击的联邦学习图像分类方法,实现了具有较强抵御拜占庭攻击能力的图像分类功能。
本发明提供的一种可防御拜占庭攻击的联邦学习图像分类方法,包括以下步骤:
步骤1、采用参数服务器结构建立基于联邦学习的图像分类模型,所述图像分类模型包括工作节点和服务器节点;所述工作节点用于训练工作节点模型得到工作节点模型参数,并运行训练得到的所述工作节点模型;所述服务器节点用于根据工作节点的节点模型参数查询并排除恶意工作节点,并根据所述工作节点模型参数控制所述工作节点的训练过程;所述工作节点模型为神经网络模型;
步骤2、所述服务器节点确定参与所述图像分类模型训练的工作节点集合W、参与迭代训练的工作节点数量K、所述工作节点模型参数的分布区间的数量L及最小长度d',每轮迭代恶意攻击者的数量A,以及迭代次数t的最大值并将当前迭代次数设置为初始值1;
步骤3、所述服务器节点从所述工作节点集合W中随机选取K个工作节点参与本轮基于联邦学习的图像分类模型的训练,并将全局模型参数ωt发送至每个被选中的工作节点;工作节点根据所述全局模型参数ωt更新节点模型参数后,对预先收集的、保存在本地的图像样本数据进行归一化预处理得到训练数据Dt,k,并将训练数据Dt,k输入到节点模型中,用训练样本数据完成工作节点模型的训练,通过反向传播计算更新出节点模型参数ωt,k,并将新的节点模型参数ωt,k及所述训练样本数据的数据量nt,k发送至所述服务器节点;
步骤4、当所述服务器节点接收到所有所述节点模型参数后,计算各工作节点的总信息熵、局部信息熵及信息熵增益,工作节点的信息熵增益为工作节点的总信息熵与局部信息熵的差值,并根据工作节点的信息熵增益确定并剔除可能的攻击节点;令迭代次数自加1;
步骤5、服务器节点根据剔除了恶意节点后剩余的工作节点的节点模型参数信息计算并更新全局模型参数,若当前迭代次数小于最大迭代次数,则执行步骤3;若当前迭代次数大于或等于最大迭代次数,则说明基于联邦学习的图像分类模型训练完毕,执行步骤6;
步骤6、采用训练得到的基于联邦学习的图像分类模型完成待分类图像的分类处理。
进一步地,所述步骤4中所述工作节点的总信息熵的计算过程,包括以下步骤:
步骤2.1、所述服务器节点从所述节点模型参数中提取出各工作节点模型中所选中的一层神经网络的参数,用K个工作节点的神经网络的第n个(1≤n≤N)参数形成参数向量为Xn=[x1,n,x2,n,…,xk,n,…xK,n],其中,xk,n为第k个工作节点的神经网络的第n个参数,由N个参数向量组成参数集合X,X=[X1,X2,…Xn,…,XN];
步骤2.2、根据所述参数向量Xn中的最大值xn,max、最小值xn,min及所述步骤1中确定的分布区间的数量L,计算得到参数向量Xn的分布区间Ln,1,Ln,2,…Ln,l,…Ln,L,每个区间的长度dn均相等,即:
若dn≥d',则参数n的第l个区间Ln,l的区间取值范围为:
Ln,l=[xn,min+(l-1)×dn,xn,min+l×dn];
若dn<d',则执行步骤2.4;
步骤2.3、根据所述步骤2.2中得到的所述区间取值范围,将所有工作节点的第n个参数Xn=[x1,n,x2,n,…,xk,n,…xK,n]根据取值大小划分到对应的区间中;若(xn,min+(j-1)×dn)≤xk,n<(xn,min+j×dn)成立,则将参数xk,n划分到第j个分布区间Ln,j中;各分布区间所包含的参数的数量为Nn=[cn,1,cn,2,…,cn,l,…,cn,L],其中,cn,l为所有工作节点的第n个参数中落在第l个分布区间内的数量;参数落在各分布区间的概率为Pn=[pn,1,pn,2,…,pn,l,…,pn,L],其中,pn,l为所有工作节点的参数n落在第l个分布区间内的概率,
所述服务器节点采用如下公式计算工作节点的第n个参数的信息熵hn:
步骤2.4、当前迭代中第n个参数的信息熵hn取值为0,令n自加1,若n≤N则执行步骤2.1,否则结束本流程。
进一步地,所述步骤2.1中的所述所选中的一层神经网络为卷积层或全连接层;当为卷积层时,设卷积层有a个卷积核,每个卷积核中有b个参数,将每个卷积核的b个参数依次展开后连接,得到一个包含N个参数的向量,其中N=a×b;当为全连接层时,则将所有参数直接展开成包含N个参数的向量。
进一步地,所述步骤4中所述工作节点的局部信息熵的计算过程,包括以下步骤:
步骤4.1、删除X中与工作节点m相关的参数得到X/m,即:
X/m=[X1/m,X2/m,…,Xn/m,…,XN/m](1≤m≤K);
删除Xn中与工作节点m相关的得到Xn/m,即:
Xn/m=[x1,n,x2,n,…,xm-1,n,xm+1,n,…xK,n];
根据所述向量Xn/m中的最大值xn/m,max、最小值xn/m,min及分布区间的数量L计算出向量Xn/m的分布区间为Ln/m,1,Ln/m,2,…Ln/m,l,…Ln/m,L,每个分布区间的长度为dn/m,满足:此时,参数n的第l个区间的取值范围为:
Ln/m,l=[xn/m,min+(l-1)×dn/m,xn/m,min+l×dn/m](1≤n≤N)
步骤4.2、将所有工作节点的第n个参数Xn/m=[x1,n,x2,n,…,xm-1,n,xm+1,n,…xK,n],划分到不同的分布区间,即对于参数xk,n,若满足:
(xn/m,min+(j-1)×dn/m)≤xk,n<(xn/m,min+j×dn/m)
则将参数xk,n划分到第j个分布区间Ln/m,j中;每个分布区间中的参数数量为Nn/m=[cn/m,1,cn/m,2,…,cn/m,l,…,cn/m,L],其中,cn/m,l为落在第l个分布区间的参数的数量;
所述工作节点m的局部信息熵为去掉所述工作节点m的相关参数后工作节点所选中的一层神经网络的所有参数的局部信息熵的和,即:
其中,m为工作节点的编号。
进一步地,所述步骤4中根据工作节点的信息熵增益确定并剔除可能的攻击节点的方式为:
计算所有工作节点的信息熵增益ΔHm,其中ΔHm=H-Hm;根据所述步骤1中确定的当前迭代中攻击者的数量A,将工作节点根据信息熵增益的大小对ΔHm排序,信息熵增益较大的A个工作节点被认定为恶意攻击者,所述服务器节点剔除所述恶意攻击者的局部模型参数,并根据剩余的模型参数采用如下公式计算新的全局模型参数:
并采用最新的全局模型参数ωt+1更新ωt。
进一步地,所述工作节点模型为Alexnet网络、Resnet18网络或两个卷积层与两个全连接层相连的模型。
有益效果:
本发明针对拜占庭攻击中正常工作节点模型参数更趋向于集中分布的特性进行攻击者的筛选,通过计算工作节点总信息熵以及各个工作节点的局部信息熵从而得到工作节点的信息熵增益,利用工作节点的信息熵增益取值剔除存在问题的设备再更新模型参数,从而保证了当工作节点受到拜占庭攻击时基于联邦学习的图像分类模型训练的效果,最终实现了对于拜占庭攻击的防御;本发明基于模型训练过程中的模型参数进行计算,算法具有低时间复杂度和空间复杂度,能够实现快速响应,同时由于梯度的计算使用于多种机器学习算法中,因此该方法具有较好的泛化性。
附图说明
图1为本发明提供的一种可防御拜占庭攻击的联邦学习图像分类方法的训练流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的一种可防御拜占庭攻击的联邦学习图像分类方法,其基本思想是:在基于联邦学习的图像分类模型训练过程中,基于各工作节点发送到服务器节点的局部模型参数计算参与训练的工作节点的信息熵增益,根据工作节点的信息熵增益判断工作节点是否为恶意工作节点,通过剔除恶意工作节点的训练数据提高模型防御拜占庭攻击的能力,从而保证了图像分类模型的训练效果。
本发明提供的一种可防御拜占庭攻击的联邦学习图像分类方法,具体包括以下步骤:
步骤1、建立基于联邦学习的图像分类模型。
本发明中基于联邦学习的图像分类模型采用参数服务器的结构。具体而言,由多个移动设备或其他拥有训练能力的边缘节点作为工作节点,工作节点根据接收到的服务器节点分发的全局模型参数更新节点模型参数,再利用预先收集的本地训练数据重新计算节点模型参数并将得到的节点模型参数上传至服务器节点。此外,由位于云端或数据中心上的服务器作为服务器节点,负责汇总各个工作节点的节点模型参数,由于工作节点中可能包含恶意的攻击者,因此服务器节点将负责根据工作节点的节点模型参数查询并排除恶意工作节点,最终计算得到全局模型参数并向各个工作节点进行分发。训练过程中各个工作节点的模型为神经网络模型。
步骤2、服务器节点确定参与基于联邦学习的图像分类模型训练的工作节点集合W、每轮迭代参与训练的工作节点数量K、工作节点模型参数的分布区间的数量L及最小长度d',每轮迭代恶意攻击者数量A,以及迭代次数的最大值并将当前迭代次数设置为初始值1。
其中,工作节点模型参数分布区间是指将所有工作节点模型的同类参数按照所有参数的取值范围划分为的多个不同的取值区间,主要用于在计算工作节点信息熵时根据当前工作节点模型参数的取值将该工作节点的模型参数划分到对应的分布区间中。所有工作节点的同类参数的分布区间的数量L均相同,例如若有K个工作节点则将有K个参数被划分到L个分布区间中,分布区间的数量L可凭借经验设置,通常设置为L=5。分布区间的最小长度d'应设置为尽可能小的正数,该参数的设置是为了确保当出现极端参数时模型的正常训练。预计的每轮迭代恶意攻击者数量A需要根据实际环境设定,若设置过大将可能造成模型训练速度减慢,若设置过小则可能降低防御攻击的效果。每轮迭代参与训练的工作节点的数量K,则需要根据工作节点集合W中节点的个数来确定,当集合W中元素的个数较少时可设置K的取值设置为集合W中元素的总数,当集合W中元素的个数较多时K的取值设置为小于集合W中元素的总数的数值,并在训练过程中保持不变。
工作节点模型还可以是基于Alexnet网络、Resnet18网络、两个卷积层与两个全连接层相连的模型等机器学习模型。
步骤3、服务器节点从工作节点集合W中随机选取K个工作节点参与本轮基于联邦学习的图像分类模型的训练,并将最新的全局模型参数ωt发送至本轮迭代每个被选中的工作节点。
参与训练的工作节点采用接收到的全局模型参数ωt更新节点模型参数,然后对预先收集的、保存在本地的图像样本数据进行归一化预处理得到训练数据,并将训练数据输入到节点模型中重新计算节点模型参数。下面以工作节点k为例进行说明,工作节点k采用接收到的全局模型参数ωt更新节点模型参数,然后对预先收集的、保存在本地的图像样本数据进行归一化预处理得到训练数据Dt,k,并将训练数据Dt,k输入到节点模型中,通过反向传播计算出节点模型参数ωt,k,最后,工作节点k将节点模型参数ωt,k以及本轮迭代参与训练的节点训练数据Dt,k的数据量nt,k发送给服务器节点。
步骤4、当服务器节点接收到所有参与训练的工作节点的节点模型参数后,计算各工作节点的总信息熵、局部信息熵及信息熵增益,并根据工作节点的信息熵增益确定并剔除可能的攻击节点,令迭代次数自加1。
服务器节点首先提取各工作节点神经网络模型一层神经网络(例如一个卷积层或者一个全连接层)的参数信息,一般情况下该神经网络可选取为所有卷积网络中最后一层卷积神经网络。一轮迭代有K个工作节点参与训练,并假设模型所选中的神经网络包含N个参数,如果所选中的为卷积神经网络,设该卷积层有a个卷积核,每个卷积核中有b个参数,将每个卷积核的b个参数依次展开后连接,得到一个包含N个参数的向量,其中N=a×b;如果是全连接层,则将所有参数直接展开成包含N个参数的向量。xk,n代表第k个工作节点神经网络模型所选中的一层神经网络(例如一个卷积层或者一个全连接层)的第n个参数的数值(1≤n≤N),Xn代表由所有工作节点的第n个参数数值所组成的向量,即:
Xn=[x1,n,x2,n,…,xk,n,xK,n]。
X代表所有工作节点所选中的一层神经网络(例如一个卷积层或者一个全连接层)模型参数的集合,即
X=[X1,X2,…Xn,…,XN]。
随后服务器节点将在服务器端计算各工作节点的信息熵增益,并根据信息熵增益寻找恶意工作节点,工作节点的信息熵增益的计算过程包括以下步骤:
步骤4.1、服务器节点计算各工作节点的总信息熵。
步骤4.1.1、分别寻找模型的每一个参数n所对应的向量Xn中的最大值xn,max与最小值xn,min,并根据最大值、最小值以及在步骤1中确定的划分数量L来确定参数n对应的向量Xn中的所有参数所可能划分到的分布区间Ln,1,Ln,2,…Ln,l,…Ln,L,每个区间的长度dn均相等即:
若dn小于预先设定的区间长度d',则当前迭代中参数n的信息熵hn以及参数n对于工作节点m的局部信息熵hn/m均设为0,参数n不再参与本轮迭代有关信息熵的后续计算,并进行当前迭代中下一参数的信息熵计算。否则将对参数n进行区间划分,参数n的第l个区间Ln,l的区间取值范围为:
Ln,l=[xn,min+(l-1)×dn,xn,min+l×dn]。
步骤4.1.2、按照步骤4.1.1中得到的各区间的取值范围,将所有工作节点的第n个参数Xn=[x1,n,x2,n,…,xk,n,…xK,n]根据取值大小划分到对应的区间中,具体来说,如果参数xk,n大于等于Ln,j的下边界,小于Ln,j的上边界,即:
xn,min+(j-1)×dn≤xk,n<xn,min+j×dn
则参数xk,n将被划分到区间Ln,j中。
当向量Xn中的所有K个参数均被划分完成后,将统计各区间所包含参数的数量,得到统计结果Nn=[cn,1,cn,2,…,cn,l,…,cn,L],其中,cn,l代表所有工作节点的第n个参数中落在第l个区间中的数量。随后根据Nn计算参数落在各个区间的概率,由此得到概率Pn=[pn,1,pn,2,…,pn,l,…,pn,L],其中,pn,l代表所有工作节点的参数n落在第l个区间的概率,由于有K个工作节点参与训练,则:
服务器节点根据所有工作节点神经网络模型所选中的一层神经网络(例如一个卷积层或者一个全连接层)的第n个参数分布在各区间的概率,计算该第n个参数的信息熵hn,其信息熵为:
工作节点的总信息熵是指各个工作节点神经网络模型所选中的一层神经网络(例如一个卷积层或者一个全连接层)的总信息熵,即为所有工作节点所选中的一层神经网络(例如一个卷积层或者一个全连接层)所包含的所有参数的信息熵的总和,即工作节点的总信息熵H为:
步骤4.2、服务器节点计算各工作节点的局部信息熵。
工作节点m的局部信息熵是指在所有工作节点所选中的一层神经网络(例如一个卷积层或者一个全连接层)的参数集合中剔除了与工作节点m相关的所有参数的情况下计算得到的工作节点m的总信息熵(1≤m≤K)。如果所选中的为卷积神经网络,设该卷积层有a个卷积核,每个卷积核中有b个参数,将每个卷积核的b个参数依次展开后连接,得到一个包含N个参数的向量,其中N=a×b;如果是全连接层,则将所有参数直接展开成包含N个参数的向量。为了计算节点m的局部信息熵,首先需要将节点m相关的参数信息从X中去除,得到没有m的模型参数,即:
X/m=[X1/m,X2/m,…,Xn/m,…,XN/m]
相应的,参数n中属于工作节点m的参数也将会被移除,即:
Xn/m=[x1,n,x2,n,…,xm-1,n,xm+1,n,…xK,n]
步骤4.2.1、将工作节点m的数据从数据集中暂时移除后,对余下的参数分别寻找模型的每一个参数n所对应的向量Xn/m中的最大值xn/m,max与最小值xn/m,min,并根据最大值最小值以及在步骤1中确定的划分数量L来等距离确定向量Xn/m的分布区间Ln/m,1,Ln/m,2,…Ln/m,l,…Ln/m,L,每个区间的长度dn/m为:
参数n的第l个区间的取值范围为:
Ln/m,l=[xn/m,min+(l-1)×dn/m,xn/m,min+l×dn/m](1≤n≤N)
步骤4.2.2、对于所有工作节点的第n个参数Xn/m=[x1,n,x2,n,…,xm-1,n,xm+1,n,…xK,n],其中每个参数将根据其大小被划分到不同的区间中。对于参数xk,n,如果xk,n大于等于Ln/m,j的下边界,小于Ln/m,j的上边界,即:
xn/m,min+(j-1)×dn/m≤xk,n<xn/m,min+j×dn/m
则参数xk,n被划分到区间Ln/m,j中。当完成所有参数的划分后,统计参数n中落在每一个区间中的数量,得到统计结果Nn/m=[cn/m,1,cn/m,2,…,cn/m,l,…,cn/m,L],其中,cn/m,l代表落在第l个区间的参数的数量。然后,计算参数n落在各个区间的概率,假设有K个工作节点参与训练,那么,在本步骤中由于去除了节点m因此仅涉及K-1个工作节点的数据,由此得到概率列表Pn/m=[pn/m,1,pn/m,2,…,pn/m,l,…,pn/m,L],其中然后,服务器节点根据参数n分布在每个区间的概率计算参数n的局部信息熵,即:
并将去掉工作节点m的所有参数后工作节点所选中的一层神经网络(例如一个卷积层或者一个全连接层)的所有参数的局部信息熵的和作为工作节点m的局部信息熵,即:
步骤4.3、完成所有工作节点的总信息熵和局部信息熵的计算后,计算所有工作节点的信息熵增益ΔHm,剔除恶意攻击者的参数信息。
ΔHm=H-Hm
根据步骤2中确定的当前迭代中攻击者的数量A,将工作节点根据信息熵增益的大小进行排序,信息熵增益最大的A个工作节点将被认定为恶意攻击者,其局部模型参数信息将会被服务器端剔除,进而无法参与到当前一轮迭代的全局模型更新。
步骤5、服务器节点根据剔除了恶意节点后剩余的工作节点的节点模型参数信息计算并更新全局模型参数,若当前迭代次数小于最大迭代次数,则执行步骤3;若当前迭代次数大于或等于最大迭代次数,则说明基于联邦学习的图像分类模型训练完毕,执行步骤6。
服务器节点剔除恶意攻击者后,将根据联邦平均计算全局模型参数。工作节点k,在第t轮迭代的参数为ωt,k,为了生成ωt,k而参与训练的训练数据的数量为nt,k则全局模型参数ωt+1为各个模型参数的加权平均,即。
当服务器节点完成全局模型的更新后,其将会把最新的全局模型参数ωt+1发送给相应的下一轮迭代所选中的工作节点,至此服务器节点完成了一轮迭代过程,并等待接收工作节点的数据以进行下一轮迭代。
步骤6、采用训练得到的基于联邦学习的图像分类模型完成待分类图像的分类处理。
综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种可防御拜占庭攻击的联邦学习图像分类方法,其特征在于,包括以下步骤:
步骤1、采用参数服务器结构建立基于联邦学习的图像分类模型,所述图像分类模型包括工作节点和服务器节点;所述工作节点用于训练工作节点模型得到工作节点模型参数,并运行训练得到的所述工作节点模型;所述服务器节点用于根据工作节点的节点模型参数查询并排除恶意工作节点,并根据所述工作节点模型参数控制所述工作节点的训练过程;所述工作节点模型为神经网络模型;
步骤2、所述服务器节点确定参与所述图像分类模型训练的工作节点集合W、参与迭代训练的工作节点数量K、所述工作节点模型参数的分布区间的数量L及最小长度d',每轮迭代恶意攻击者的数量A,以及迭代次数t的最大值并将当前迭代次数设置为初始值1;
步骤3、所述服务器节点从所述工作节点集合W中随机选取K个工作节点参与本轮基于联邦学习的图像分类模型的训练,并将全局模型参数ωt发送至每个被选中的工作节点;工作节点根据所述全局模型参数ωt更新节点模型参数后,对预先收集的、保存在本地的图像样本数据进行归一化预处理得到训练数据Dt,k,并将训练数据Dt,k输入到节点模型中,用训练样本数据完成工作节点模型的训练,通过反向传播计算更新出节点模型参数ωt,k,并将新的节点模型参数ωt,k及所述训练样本数据的数据量nt,k发送至所述服务器节点;
步骤4、当所述服务器节点接收到所有所述节点模型参数后,计算各工作节点的总信息熵、局部信息熵及信息熵增益,工作节点的信息熵增益为工作节点的总信息熵与局部信息熵的差值,并根据工作节点的信息熵增益确定并剔除可能的攻击节点;令迭代次数自加1;
步骤5、服务器节点根据剔除了恶意节点后剩余的工作节点的节点模型参数信息计算并更新全局模型参数,若当前迭代次数小于最大迭代次数,则执行步骤3;若当前迭代次数大于或等于最大迭代次数,则说明基于联邦学习的图像分类模型训练完毕,执行步骤6;
步骤6、采用训练得到的基于联邦学习的图像分类模型完成待分类图像的分类处理。
2.根据权利要求1所述的方法,其特征在于,所述步骤4中所述工作节点的总信息熵的计算过程,包括以下步骤:
步骤2.1、所述服务器节点从所述节点模型参数中提取出各工作节点模型中所选中的一层神经网络的参数,用K个工作节点的神经网络的第n个(1≤n≤N)参数形成参数向量为Xn=[x1,n,x2,n,…,xk,n,…xK,n],其中,xk,n为第k个工作节点的神经网络的第n个参数,由N个参数向量组成参数集合X,X=[X1,X2,…Xn,…,XN];
步骤2.2、根据所述参数向量Xn中的最大值xn,max、最小值xn,min及所述步骤1中确定的分布区间的数量L,计算得到参数向量Xn的分布区间Ln,1,Ln,2,…Ln,l,…Ln,L,每个区间的长度dn均相等,即:
若dn≥d',则参数n的第l个区间Ln,l的区间取值范围为:
Ln,l=[xn,min+(l-1)×dn,xn,min+l×dn];
若dn<d',则执行步骤2.4;
步骤2.3、根据所述步骤2.2中得到的所述区间取值范围,将所有工作节点的第n个参数Xn=[x1,n,x2,n,…,xk,n,…xK,n]根据取值大小划分到对应的区间中;若(xn,min+(j-1)×dn)≤xk,n<(xn,min+j×dn)成立,则将参数xk,n划分到第j个分布区间Ln,j中;各分布区间所包含的参数的数量为Nn=[cn,1,cn,2,…,cn,l,…,cn,L],其中,cn,l为所有工作节点的第n个参数中落在第l个分布区间内的数量;参数落在各分布区间的概率为Pn=[pn,1,pn,2,…,pn,l,…,pn,L],其中,pn,l为所有工作节点的参数n落在第l个分布区间内的概率,
所述服务器节点采用如下公式计算工作节点的第n个参数的信息熵hn:
步骤2.4、当前迭代中第n个参数的信息熵hn取值为0,令n自加1,若n≤N则执行步骤2.1,否则结束本流程。
3.根据权利要求2所述的方法,其特征在于,所述步骤2.1中的所述所选中的一层神经网络为卷积层或全连接层;当为卷积层时,设卷积层有a个卷积核,每个卷积核中有b个参数,将每个卷积核的b个参数依次展开后连接,得到一个包含N个参数的向量,其中N=a×b;当为全连接层时,则将所有参数直接展开成包含N个参数的向量。
4.根据权利要求2所述的方法,其特征在于,所述步骤4中所述工作节点的局部信息熵的计算过程,包括以下步骤:
步骤4.1、删除X中与工作节点m相关的参数得到X/m,即:
X/m=[X1/m,X2/m,…,Xn/m,…,XN/m](1≤m≤K);
删除Xn中与工作节点m相关的得到Xn/m,即:
Xn/m=[x1,n,x2,n,…,xm-1,n,xm+1,n,…xK,n];
根据所述向量Xn/m中的最大值xn/m,max、最小值xn/m,min及分布区间的数量L计算出向量Xn/m的分布区间为Ln/m,1,Ln/m,2,…Ln/m,l,…Ln/m,L,每个分布区间的长度为dn/m,满足:此时,参数n的第l个区间的取值范围为:
Ln/m,l=[xn/m,min+(l-1)×dn/m,xn/m,min+l×dn/m](1≤n≤N)
步骤4.2、将所有工作节点的第n个参数Xn/m=[x1,n,x2,n,…,xm-1,n,xm+1,n,…xK,n],划分到不同的分布区间,即对于参数xk,n,若满足:
(xn/m,min+(j-1)×dn/m)≤xk,n<(xn/m,min+j×dn/m)
则将参数xk,n划分到第j个分布区间Ln/m,j中;每个分布区间中的参数数量为Nn/m=[cn/m,1,cn/m,2,…,cn/m,l,…,cn/m,L],其中,cn/m,l为落在第l个分布区间的参数的数量;
所述工作节点m的局部信息熵为去掉所述工作节点m的相关参数后工作节点所选中的一层神经网络的所有参数的局部信息熵的和,即:
其中,m为工作节点的编号。
6.根据权利要求1所述的方法,其特征在于,所述工作节点模型为Alexnet网络、Resnet18网络或两个卷积层与两个全连接层相连的模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110245686.0A CN112966741B (zh) | 2021-03-05 | 2021-03-05 | 一种可防御拜占庭攻击的联邦学习图像分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110245686.0A CN112966741B (zh) | 2021-03-05 | 2021-03-05 | 一种可防御拜占庭攻击的联邦学习图像分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112966741A CN112966741A (zh) | 2021-06-15 |
CN112966741B true CN112966741B (zh) | 2022-08-02 |
Family
ID=76276597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110245686.0A Active CN112966741B (zh) | 2021-03-05 | 2021-03-05 | 一种可防御拜占庭攻击的联邦学习图像分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112966741B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114239862A (zh) * | 2021-12-23 | 2022-03-25 | 电子科技大学 | 一种保护用户数据隐私的抗拜占庭攻击的联邦学习方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632269A (zh) * | 2018-05-02 | 2018-10-09 | 南京邮电大学 | 基于c4.5决策树算法的分布式拒绝服务攻击检测方法 |
CN110263539A (zh) * | 2019-05-15 | 2019-09-20 | 湖南警察学院 | 一种基于并行集成学习的安卓恶意应用检测方法及系统 |
CN110266672A (zh) * | 2019-06-06 | 2019-09-20 | 华东理工大学 | 基于信息熵和置信度下采样的网络入侵检测方法 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
CN112068866A (zh) * | 2020-09-29 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 更新业务模型的方法及装置 |
CN112419098A (zh) * | 2020-12-10 | 2021-02-26 | 清华大学 | 基于安全信息熵的电网安全稳定仿真样本筛选扩充方法 |
-
2021
- 2021-03-05 CN CN202110245686.0A patent/CN112966741B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632269A (zh) * | 2018-05-02 | 2018-10-09 | 南京邮电大学 | 基于c4.5决策树算法的分布式拒绝服务攻击检测方法 |
CN110263539A (zh) * | 2019-05-15 | 2019-09-20 | 湖南警察学院 | 一种基于并行集成学习的安卓恶意应用检测方法及系统 |
CN110266672A (zh) * | 2019-06-06 | 2019-09-20 | 华东理工大学 | 基于信息熵和置信度下采样的网络入侵检测方法 |
CN111598186A (zh) * | 2020-06-05 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 基于纵向联邦学习的决策模型训练方法、预测方法及装置 |
CN112068866A (zh) * | 2020-09-29 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 更新业务模型的方法及装置 |
CN112419098A (zh) * | 2020-12-10 | 2021-02-26 | 清华大学 | 基于安全信息熵的电网安全稳定仿真样本筛选扩充方法 |
Non-Patent Citations (3)
Title |
---|
Byzantine-Resilient Secure Federated Learning;Jinhyun So,et al.;《JOURNAL ON SELECTED AREAS IN COMMUNICATIONS》;20210131;全文 * |
基于GAIG特征选择算法的轻量化DDoS攻击检测方法;姜宏等;《计算机应用研究》;20160215(第02期);全文 * |
基于机器学习的网络安全关键技术研究;刘文祺;《中国博士学位论文全文数据库 信息科技辑》;20201115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112966741A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460793B (zh) | 一种节点分类的方法、模型训练的方法及装置 | |
Sathya et al. | PSO-based Tsallis thresholding selection procedure for image segmentation | |
CN113762530B (zh) | 面向隐私保护的精度反馈联邦学习方法 | |
CN115943382A (zh) | 用于防御对联邦学习系统的对抗性攻击的方法和装置 | |
CN111783551B (zh) | 基于贝叶斯卷积神经网络的对抗样本防御方法 | |
CN108594645B (zh) | 单场站多无人机分配与飞行路线的规划方法及系统 | |
CN112966741B (zh) | 一种可防御拜占庭攻击的联邦学习图像分类方法 | |
WO2022051908A1 (en) | Normalization in deep convolutional neural networks | |
Konovalov et al. | Comparison of two active queue management schemes through the M/D/1/N queue | |
CN114708479B (zh) | 一种基于图结构和特征的自适应防御方法 | |
CN111881439A (zh) | 一种基于对抗性正则化的识别模型设计方法 | |
CN116933866A (zh) | 针对数据异质性的个性化联邦学习方法、系统及存储介质 | |
CN110827299B (zh) | 一种基于哈里斯鹰优化算法的图像分割方法 | |
CN117424754A (zh) | 针对集群联邦学习攻击的防御方法、终端及存储介质 | |
Qiu et al. | MT-MTD: Muti-training based moving target defense trojaning attack in edged-AI network | |
Abuzainab et al. | A multiclass mean-field game for thwarting misinformation spread in the internet of battlefield things | |
CN113392141B (zh) | 一种抗欺骗攻击的分布式数据多类别逻辑回归方法及装置 | |
CN114065518B (zh) | 一种干扰资源分配方法及系统 | |
CN113919425B (zh) | 一种空中目标自主分配方法及系统 | |
CN113705724B (zh) | 基于自适应l-bfgs算法的深度神经网络的批量学习方法 | |
CN114170338A (zh) | 一种差分隐私保护下基于自适应梯度裁剪的图像生成方法 | |
CN114358127A (zh) | 一种空中任务群组识别方法 | |
CN114494771B (zh) | 一种可防御后门攻击的联邦学习图像分类方法 | |
CN112612300A (zh) | 多平台智能决策的多目标博弈方法及装置 | |
Bazoobandi et al. | A fuzzy based memetic algorithm for tuning fuzzy wavelet neural network parameters |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |