【技术实现步骤摘要】
一种可防御拜占庭攻击的联邦学习图像分类方法
本专利技术属于机器学习中的图像分类
,具体涉及一种可防御拜占庭攻击的联邦学习图像分类方法。
技术介绍
数据孤岛和数据隐私是限制人工智能技术发展的两个主要因素。联邦学习是一种针对分布式数据的机器学习框架,模型训练参与者可以在不共享数据的前提下协同训练全局模型,在保证数据隐私的同时打破数据孤岛,加速机器学习模型训练,适用于训练采用非独立同分布(Non-IID)数据的模型。目前,联邦学习被广泛应用于金融、保险、医疗、新零售等领域。参数服务器(ParameterServer)结构是最为著名的联邦学习结构,其通过迭代来完成模型的训练更新。联邦平均(FedAvg)算法是在参数服务器结构的基础上形成的,广泛应用于联邦学习中,其能够应对联邦学习中特有的数据隐私等问题,在利用该结构进行图像分类模型的训练时,主要包括两个步骤:第一步,从所有参与训练的工作节点中随机选取一部分的工作节点作为本轮迭代的训练对象,对于选中的工作节点,工作节点将对当前所收集的用于训练的图像数据进行预处理,同时从服务器节点接收全局模型参数,利用最新的全局模型参数进行模型的训练并得到最新的本地模型参数,随后最新的模型参数将会被发送给服务器节点来进行全局模型的更新。第二步,服务器节点将根据各个工作节点最新的本地模型参数信息来更新全局模型,然后将更新后的全局模型广播至所有工作节点并开始下一次的迭代更新过程。在基于参数服务器结构的联邦学习中,工作节点经常会部署在边缘节点,而服务器节点经常位于云端。然而,在联 ...
【技术保护点】
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个分布区间内的...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。