一种可防御拜占庭攻击的联邦学习图像分类方法技术

技术编号:28873116 阅读:72 留言:0更新日期:2021-06-15 23:06
本发明专利技术公开了一种可防御拜占庭攻击的联邦学习图像分类方法,通过计算工作节点总信息熵以及各个工作节点的局部信息熵从而得到工作节点的信息熵增益,利用工作节点的信息熵增益取值剔除存在问题的设备再更新模型参数,从而保证了当工作节点受到拜占庭攻击时基于联邦学习的图像分类模型训练的效果,最终实现了对于拜占庭攻击的防御;本发明专利技术基于模型训练过程中的模型参数进行计算,算法具有低时间复杂度和空间复杂度,能够实现快速响应,同时由于梯度的计算使用于多种机器学习算法中,因此该方法具有较好的泛化性。

【技术实现步骤摘要】
一种可防御拜占庭攻击的联邦学习图像分类方法
本专利技术属于机器学习中的图像分类
,具体涉及一种可防御拜占庭攻击的联邦学习图像分类方法。
技术介绍
数据孤岛和数据隐私是限制人工智能技术发展的两个主要因素。联邦学习是一种针对分布式数据的机器学习框架,模型训练参与者可以在不共享数据的前提下协同训练全局模型,在保证数据隐私的同时打破数据孤岛,加速机器学习模型训练,适用于训练采用非独立同分布(Non-IID)数据的模型。目前,联邦学习被广泛应用于金融、保险、医疗、新零售等领域。参数服务器(ParameterServer)结构是最为著名的联邦学习结构,其通过迭代来完成模型的训练更新。联邦平均(FedAvg)算法是在参数服务器结构的基础上形成的,广泛应用于联邦学习中,其能够应对联邦学习中特有的数据隐私等问题,在利用该结构进行图像分类模型的训练时,主要包括两个步骤:第一步,从所有参与训练的工作节点中随机选取一部分的工作节点作为本轮迭代的训练对象,对于选中的工作节点,工作节点将对当前所收集的用于训练的图像数据进行预处理,同时从服务器节点接收全局模型参数,利用最新的全局模型参数进行模型的训练并得到最新的本地模型参数,随后最新的模型参数将会被发送给服务器节点来进行全局模型的更新。第二步,服务器节点将根据各个工作节点最新的本地模型参数信息来更新全局模型,然后将更新后的全局模型广播至所有工作节点并开始下一次的迭代更新过程。在基于参数服务器结构的联邦学习中,工作节点经常会部署在边缘节点,而服务器节点经常位于云端。然而,在联邦学习中,为了保护用户的隐私,工作节点之间不允许共享数据,因此服务器节点不知道工作节点是正常的参与者还是恶意的攻击者,这就使得训练过程很容易受到攻击。在模型训练过程中,攻击者可操控多个参与者的本地训练过程,在服务器参数聚合的时候恶意修改参数值,实现攻击,从而影响全局模型训练的精度和收敛性。在联邦学习中,最典型的攻击方式是拜占庭攻击(ByzantineAttack),它试图篡改参与者提交的模型更新的参数值,使得模型参数的实际收敛过程偏离正确方向,进而影响全局模型的精度和收敛性。鲁棒聚合算法是为了解决拜占庭攻击而提出了,其分为两类:基于防御的算法和基于检测的算法。基于防御的算法以一种抵抗拜占庭攻击的方式计算聚合模型参数,该方法的一个原型思想是估计并计算服务器节点所接收到的工作节点模型更新的最优聚合。基于检测的算法则试图在全局模型聚合过程中区分恶意工作者和良性工作者,并清除恶意工作者,其利用预先训练的检测模型在模型聚合过程中检测和删除恶意模型更新,检测模型在没有攻击的数据上进行训练。总体来说,基于防御的算法在安全性上更优于基于检测的算法,同时也更适用于图像识别。然而实验显示基于防御的算法仍有一定局限性,即当攻击者数量逐渐增加时可能将无法防御攻击者的恶意攻击,或者虽然可以轻微抵抗攻击,但其精度仍然远远低于无攻击时的效果。
技术实现思路
有鉴于此,本专利技术提供了一种可防御拜占庭攻击的联邦学习图像分类方法,实现了具有较强抵御拜占庭攻击能力的图像分类功能。本专利技术提供的一种可防御拜占庭攻击的联邦学习图像分类方法,包括以下步骤:步骤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:以及工作节点的总信息熵H:步骤2.4、当前迭代中第n个参数的信本文档来自技高网
...

【技术保护点】
1.一种可防御拜占庭攻击的联邦学习图像分类方法,其特征在于,包括以下步骤:/n步骤1、采用参数服务器结构建立基于联邦学习的图像分类模型,所述图像分类模型包括工作节点和服务器节点;所述工作节点用于训练工作节点模型得到工作节点模型参数,并运行训练得到的所述工作节点模型;所述服务器节点用于根据工作节点的节点模型参数查询并排除恶意工作节点,并根据所述工作节点模型参数控制所述工作节点的训练过程;所述工作节点模型为神经网络模型;/n步骤2、所述服务器节点确定参与所述图像分类模型训练的工作节点集合W、参与迭代训练的工作节点数量K、所述工作节点模型参数的分布区间的数量L及最小长度d',每轮迭代恶意攻击者的数量A,以及迭代次数t的最大值并将当前迭代次数设置为初始值1;/n步骤3、所述服务器节点从所述工作节点集合W中随机选取K个工作节点参与本轮基于联邦学习的图像分类模型的训练,并将全局模型参数ω

【技术特征摘要】
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个分布区间内的...

【专利技术属性】
技术研发人员:郭泽华王嘉钰
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1