CN113962402A - 联邦学习防御方法、装置、计算机设备和计算机存储介质 - Google Patents
联邦学习防御方法、装置、计算机设备和计算机存储介质 Download PDFInfo
- Publication number
- CN113962402A CN113962402A CN202111271278.9A CN202111271278A CN113962402A CN 113962402 A CN113962402 A CN 113962402A CN 202111271278 A CN202111271278 A CN 202111271278A CN 113962402 A CN113962402 A CN 113962402A
- Authority
- CN
- China
- Prior art keywords
- client
- malicious
- parameters
- training
- model
- 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
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种联邦学习防御方法、装置、计算机设备和计算机可读存储介质。所述方法包括:获取联邦学习客户端进行各轮训练的模型训练参数;模型训练参数为基于初始模型参数进行模型训练所生成的参数;初始模型参数是由联邦学习服务器向联邦学习客户端所下发的;针对每轮训练,根据与训练轮次对应的联邦学习客户端的模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端;根据多轮的识别结果,确定联邦学习客户端为恶意客户端,对恶意客户端进行防御。采用本方法能够对联邦学习中的恶意客户端进行识别,从而提高联邦学习模型的检测识别能力。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种联邦学习防御方法、装置、计算机设备和计算机可读存储介质。
背景技术
联邦学习作为一种新的分布式机器学习方法,在保证数据隐私安全及合法合规的基础上,可以实现多个客户端协同训练,在保护多个客户端数据隐私的基础上提升联邦学习模型的效果。
然而,随着联邦学习的推广应用,联邦学习框架中自身存在易遭受恶意客户端的攻击,恶意客户端通过发送修改过的有害数据模型来欺骗中央服务器,从而降低联邦学习模型的性能,上述恶意客户端无目标的攻击方式就是拜占庭攻击,拜占庭攻击会降低联邦学习模型的检测识别能力,上述拜占庭攻击的发起者为恶意客户端,因此需要对联邦学习中的恶意客户端进行识别,从而提高联邦学习模型的检测识别能力。
发明内容
基于此,有必要针对上述技术问题,提供一种能够识别联邦学习系统中恶意客户端的联邦学习防御方法、装置、计算机设备和计算机可读存储介质。
一种联邦学习防御方法,所述方法包括:
获取联邦学习客户端进行各轮训练的模型训练参数;所述模型训练参数为基于初始模型参数进行模型训练所生成的参数;所述初始模型参数是由联邦学习服务器向所述联邦学习客户端所下发的;
针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端;
根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御。
在其中一个实施例中,所述针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端,包括:
针对每轮训练,对与所述训练轮次对应的所述联邦学习客户端的模型训练参数进行预处理操作,生成预处理后的模型训练参数;
对所述预处理后的模型训练参数进行特征化处理,生成目标特征向量;
基于所述目标特征向量及所述模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端。
在其中一个实施例中,所述对所述预处理后的模型训练参数进行特征化处理,生成目标特征向量,包括:
采用编码单元对所述预处理后的模型训练参数进行降维处理,生成第一特征向量;
采用解码单元对所述第一特征向量进行重构处理,生成目标特征向量;所述目标特征向量与所述预处理后的模型训练参数的数据大小保持一致;其中,所述编码单元所采用的神经网络结构与所述解码单元所采用的神经网络结构相互对称。
在其中一个实施例中,所述基于所述目标特征向量及所述模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端,包括:
计算所述目标特征向量及所述模型训练参数之间的差值,生成特征向量误差;
判断所述特征向量误差是否大于第一预设阈值,若是,则识别所述联邦学习客户端为候选恶意客户端;若否,则识别所述联邦学习客户端为候选非恶意客户端。
在其中一个实施例中,所述识别结果包括候选恶意客户端标识或候选非恶意客户端标识;所述方法还包括:
若所述联邦学习客户端为候选恶意客户端,则为所述联邦学习客户端设置恶意客户端标注;
若所述联邦学习客户端为候选非恶意客户端,则为所述联邦学习客户端设置非恶意客户端标注。
在其中一个实施例中,所述根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御,包括:
获取多轮的所述识别结果,从所述识别结果中统计同一所述联邦学习客户端对应的恶意客户端标注的出现次数;
判断所述恶意客户端标注的出现次数占训练总轮次的比值是否大于第二预设阈值,若是,则将与恶意客户端标注对应的所述联邦学习客户端确定为所述恶意客户端,从联邦学习客户端中将所述恶意客户端剔除。
在其中一个实施例中,所述方法还包括:
若根据多轮的所述识别结果,确定所述联邦学习客户端为非恶意客户端,则将所述联邦学习客户端的模型训练参数聚合为全局模型参数,并将所述全局模型参数发送至所述非恶意客户端;
将所述全局模型参数作为下一轮训练的新的初始模型参数,以使所述非恶意客户端基于所述全局模型参数进行训练。
一种联邦学习防御装置,所述装置包括:
模型训练参数获取模块,用于获取联邦学习客户端进行各轮训练的模型训练参数;所述模型训练参数为基于初始模型参数进行模型训练所生成的参数;所述初始模型参数是由联邦学习服务器向所述联邦学习客户端所下发的;
识别结果生成模块,用于针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端;
恶意客户端防御模块,用于根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取联邦学习客户端进行各轮训练的模型训练参数;所述模型训练参数为基于初始模型参数进行模型训练所生成的参数;所述初始模型参数是由联邦学习服务器向所述联邦学习客户端所下发的;
针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端;
根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取联邦学习客户端进行各轮训练的模型训练参数;所述模型训练参数为基于初始模型参数进行模型训练所生成的参数;所述初始模型参数是由联邦学习服务器向所述联邦学习客户端所下发的;
针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端;
根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御。
上述联邦学习防御方法、装置、计算机设备和计算机可读存储介质,获取联邦学习客户端进行各轮训练的模型训练参数;所述模型训练参数为基于初始模型参数进行模型训练所生成的参数;所述初始模型参数是由联邦学习服务器向所述联邦学习客户端所下发的;针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端;根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御。由于联邦学习在训练过程中自身存在易遭受恶意客户端的攻击,恶意客户端通过发送修改过的有害数据模型来欺骗联邦学习服务器,若联邦学习在训练过程中没有准确识别出上述恶意客户端,将会导致降低联邦学习模型性能的问题。本申请针对联邦学习的每轮训练过程,都获取了联邦学习客户端的模型训练数据,基于模型训练数据对上述联邦学习客户端进行识别,从而判断出该联邦学习客户端是否为恶意客户端,若确定出该联邦学习客户端为恶意客户端,则对上述恶意客户端采取相应的防御措施。从而,有效实现了对联邦学习过程中恶意客户端的识别,进而提高了联邦学习模型的检测识别能力。
附图说明
图1为一个实施例中联邦学习防御方法的应用环境图;
图2为一个实施例中联邦学习防御方法的流程示意图;
图3为一个实施例中对联邦学习客户端进行识别生成识别结果的流程示意图;
图4为一个实施例中对预处理后的模型训练参数进行特征化处理的流程示意图;
图5为一个实施例中基于目标特征向量及模型训练参数对联邦学习客户端进行识别的流程示意图;
图6为另一个实施例中联邦学习防御方法的流程示意图;
图7为一个实施例中根据多轮的识别结果确定联邦学习客户端为恶意客户端的流程示意图;
图8为另一个实施例中联邦学习防御方法的流程示意图;
图9为一个具体实施例中联邦学习防御方法的流程示意图;
图10为一个实施例中联邦学习防御装置的结构框图;
图11为一个实施例中识别结果生成模块的结构框图;
图12为另一个实施例中联邦学习防御装置的结构框图;
图13为一个实施例中恶意客户防御模块的结构框图;
图14为另一个实施例中联邦学习防御装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的联邦学习防御方法,可以应用于如图1所示的应用环境中。其中,上述应用环境包括服务器120、联邦学习服务器140以及联邦学习客户端160,服务器120、联邦学习服务器140以及联邦学习客户端160可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、独立的服务器或者是多个服务器组成的服务器集群,本申请对此不做限定。
具体的,服务器120首先获取联邦学习客户端160进行各轮训练的模型训练参数;模型训练参数为基于初始模型参数进行模型训练所生成的参数;初始模型参数是由联邦学习服务器140向联邦学习客户端160所下发的;然后,服务器120针对每轮训练,根据与训练轮次对应的联邦学习客户端160的模型训练参数,对联邦学习客户端160进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端;最后,服务器120根据多轮的识别结果,确定联邦学习客户端160为恶意客户端,对恶意客户端进行防御。
在一个实施例中,如图2所示,提供了一种联邦学习防御方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤220至步骤260:
S220、获取联邦学习客户端进行各轮训练的模型训练参数;模型训练参数为基于初始模型参数进行模型训练所生成的参数;初始模型参数是由联邦学习服务器向联邦学习客户端所下发的。
其中,联邦学习也称联邦机器学习,联合学习,联盟学习,联邦学习是一个机器学习框架,能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上联合建模,能从技术上打破数据孤岛问题,实现共同AI协作。联邦迁移学习可以让联邦学习更加通用化,可以在不同数据结构、不同机构间发挥作用,没有领域和算法限制,同时具有模型质量无损、保护隐私、确保数据安全的优势。联邦学习定义的机器学习框架,在此框架下可以通过设计虚拟模型解决不同数据拥有方在不交换数据的情况下进行协作的问题。虚拟模型是各方将数据聚合在一起的最优模型,各自区域依据模型为本地目标服务。联邦学习要求此建模结果应当无限接近传统模式,即将多个数据拥有方的数据汇聚到一处进行建模的结果。在联邦机制下,各参与者的身份和地位相同,可建立共享数据策略。由于数据不发生转移,因此不会泄露用户隐私或影响数据规范。为了保护数据隐私、满足合法合规的要求。
联邦学习有三大构成要素:数据源、联邦学习系统、用户。在联邦学习系统下,各个数据源方进行数据预处理,共同建立及其学习模型,并将输出结果反馈给用户。根据参与各方数据源分布的情况不同,联邦学习可以被分为三类:横向联邦学习、纵向联邦学习以及联邦迁移学习。其中,横向联邦学习是指在两个数据集的用户特征重叠较多而用户重叠较少的情况下,把数据集按照横向(即用户维度)切分,并取出双方用户特征相同而用户不完全相同的那部分数据进行训练;纵向联邦学习是指在两个数据集的用户重叠较多而用户特征重叠较少的情况下,把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练;联邦迁移学习是指在两个数据集的用户与用户特征重叠都较少的情况下,不对数据进行切分,而可以利用迁移学习来克服数据或标签不足的情况。本申请对联邦学习系统的防御方法可以但不限于横向联邦学习、纵向联邦学习以及联邦迁移学习等,本申请对此不作任何限定。
然而,在联邦学习的过程中,各个联邦学习客户端基于本地数据单独训练局部模型,但是这就给攻击者提供了一个脆弱的攻击面,上述攻击者可以成为恶意客户端,恶意客户端使得联邦学习的局部训练过程可能遭到攻击、破坏。特别是在数千个联邦学习客户端的情况下,在数千个联邦学习客户端中准确找出恶意客户端几乎是不可能的。此外,现有的联邦学习框架无法判断局部学习模型的正确性,联邦学习客户端可以随意提交恶意模型,恶意客户端首先对原始数据模型进行恶意修改,将原始数据模型修改为恶意数据模型,然后将上述恶意数据模型发送至联邦学习服务器进而欺骗联邦学习服务器,从而降低联邦学习过程中整体模型的性能,上述恶意客户端无目标的攻击方式就是拜占庭攻击,拜占庭攻击会降低联邦学习模型的检测识别能力,因此需要对联邦学习中的恶意客户端进行识别,从而提高联邦学习模型的检测识别能力。
具体的,本申请中的联邦学习系统的应用环境包括联邦学习客户端以及联邦学习服务器,其中,联邦学习客户端包括多个非恶意客户端,联邦学习客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑、独立的服务器或者是多个服务器组成的服务器集群,本申请对此不做限定。联邦学习客户端以及联邦学习服务器针对联合多方用户的联邦学习场景,联邦学习服务器起着协调全局模型的作用。
进一步的,联邦学习正式训练之前,联邦学习服务器首先将初始模型分发给各个联邦学习客户端,上述初始模型包括但不限于神经网络算法、以及随机森林算法等,本申请对初始模型不作限定。进一步的,各个联邦学习客户端在接收到联邦学习服务器下发的初始模型之后,各个联邦学习客户端根据本地数据集分别对上述初始模型参数进行训练,其中上述初始模型参数是指初始模型中的全局参数或者部分参数,比如,对于采用卷积神经网络算法的初始模型,初始模型算法可以为卷积神经网络中各个权重参数以及偏差参数等,也可以为卷积神经网络中部分权重参数,本申请对此不作限定。进一步的,各个联邦学习客户端对联邦服务器下发的初始模型参数进行训练后,将训练得到的模型参数上传至联邦学习服务器。
进一步的,在联邦学习过程中,各个联邦学习客户端对根据本地数据集分别对联邦学习服务器下发的初始模型参数进行多轮次训练,在实际训练中,联邦学习客户端中不仅包括多个非恶意客户端,也可能包括多个恶意客户端。恶意客户端以及非恶意客户端在联邦学习中执行的动作相同,在每轮训练过程中,都需向联邦学习服务器上传每轮的训练参数。对于非恶意客户端来说,非恶意客户端向联邦学习服务器上传的是由联邦学习服务器下发的初始模型的训练参数,而恶意客户端向联邦学习服务器上传的则是恶意客户端将初始模型修改为恶意数据模型的训练参数。
进一步的,如图1所示,联邦服务器140获取联邦学习客户端进行各轮训练的模型训练参数,然后服务器120通过联邦服务器140获取联邦学习客户端进行各轮训练的模型训练参数;其中,模型训练参数为基于初始模型参数进行模型训练所生成的参数;初始模型参数是由联邦学习服务器140向联邦学习客户端160所下发的。
S240、针对每轮训练,根据与训练轮次对应的联邦学习客户端的模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端。
其中,在联邦学习过程中,各个联邦学习客户端对根据本地数据集分别对联邦学习服务器下发的初始模型参数进行多轮次训练,在实际训练中,联邦学习客户端中不仅包括多个非恶意客户端,也可能包括多个恶意客户端。恶意客户端以及非恶意客户端在联邦学习中执行的动作相同,在每轮训练过程中,都需向联邦学习服务器上传每轮的模型训练参数。其中,上述模型训练参数是指初始模型中的全局参数或者部分参数,比如,对于采用卷积神经网络算法的初始模型,初始模型算法可以为卷积神经网络中各个权重参数以及偏差参数等,也可以为卷积神经网络中部分权重参数,本申请对此不作限定。进一步的,对于非恶意客户端来说,非恶意客户端向联邦学习服务器上传的是由联邦学习服务器下发的初始模型的训练参数,而恶意客户端向联邦学习服务器上传的则是恶意客户端将初始模型修改为恶意数据模型的训练参数。因此,在联邦学习过程中,联邦学习客户端中恶意客户端与非恶意客户端所上传的模型训练参数是不同的,通过对恶意客户端与非恶意客户端所上传的模型训练参数进行识别,进而生成识别结果,上述识别结果包括候选恶意客户端以及后端非恶意客户端,
其中,在每轮的联邦学习训练中,都需要对恶意客户端与非恶意客户端所上传的模型训练参数进行识别,针对每轮训练,当上述模型训练参数被识别为恶意客户端的数据时,则将该联邦学习客户端识别为候选恶意客户端;当上述模型训练参数被识别为非恶意客户端的数据时,则将该联邦学习客户端识别为候选非恶意客户端。进一步的,在对联邦学习客户端上传的模型训练参数进行识别时,可以通过提取模型训练参数的特征进行识别,上述特征提取的方式包括但不限于全卷积神经网络、自编码器网络、对抗神经网络、残差网络、胶囊网络等算法,本申请对此不作限定。
进一步的,如图1所示,针对每轮训练,服务器120根据与训练轮次对应的联邦学习客户端160的模型训练参数,对联邦学习客户端160进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端,其中,服务器120通过联邦学习服务器140获取联邦学习客户端160的模型训练参数。
S260、根据多轮的识别结果,确定联邦学习客户端为恶意客户端,对恶意客户端进行防御。
其中,在联邦学习过程中,各个联邦学习客户端对根据本地数据集分别对联邦学习服务器下发的初始模型参数进行多轮次训练。针对每轮训练,都需要对恶意客户端与非恶意客户端所上传的模型训练参数进行识别,在对联邦学习客户端上传的模型训练参数进行识别时,可以通过提取模型训练参数的特征的方式,当上述模型训练参数的特征向量被识别为恶意客户端的数据时,则将该联邦学习客户端识别为候选恶意客户端;当上述模型训练参数的特征向量被识别为非恶意客户端的数据时,则将该联邦学习客户端识别为候选非恶意客户端。由于联邦学习是一个多轮训练的过程,因此,通过统计多轮的识别结果,进而确定联邦学习客户端是否为恶意客户端,本申请对依据识别结果确定联邦学习客户端为恶意客户端的方式不作限定。
比如,设置联邦学习的训练轮次为1000次,且设置判断为恶意客户端的预设阈值为50次,若当前训练轮次为1000次时,则统计1000轮中识别为候选非恶意客户端的次数,若候选非恶意客户端的次数100,判断候选非恶意客户端的次数100大于预设阈值,则可以确定该联邦学习客户端为恶意客户端。再比如,设置联邦学习的训练轮次为1000次,且设置判断为恶意客户端的预设条件为大于训练轮次的1/20,若当前训练轮次为1000次时,则统计1000轮中识别为候选非恶意客户端的次数,若候选非恶意客户端的次数100,判断候选非恶意客户端的次数100大于训练轮次的1/20,则可以确定该联邦学习客户端为恶意客户端。
进一步的,根据多轮的识别结果,可以确定联邦学习客户端是否为恶意客户端,若该联邦学习客户端是恶意客户端,则可以恶意客户端进行防御。本申请对恶意客户端的防御措施不作限定,比如,可以将上述恶意客户端剔除联邦学习系统,也可以将上述恶意客户端加入黑名单,使得该恶意客户端无法再次加入上述联邦学习系统,也可以向相关后台管理人员发出预警信息,从而使得后台管理人员依据预警信息作出相应的预警机制,保证联邦学习系统检测识别能力。
进一步的,如图1所示,服务器120根据多轮的识别结果,确定联邦学习客户端160是否为恶意客户端,若服务器120识别为联邦学习客户端160为恶意客户端,则服务器120对恶意客户端进行防御。
上述联邦学习防御方法中,首先获取联邦学习客户端进行各轮训练的模型训练参数;模型训练参数为基于初始模型参数进行模型训练所生成的参数;初始模型参数是由联邦学习服务器向联邦学习客户端所下发的;随后,针对每轮训练,根据与训练轮次对应的联邦学习客户端的模型训练参数,对联邦学习客户端进行攻击检测生成攻击检测结果,基于攻击检测结果识别联邦学习客户端为恶意客户端或非恶意客户端;最后,根据多轮的攻击检测结果,对恶意客户端进行防御。由于联邦学习在训练过程中自身存在易遭受恶意客户端的攻击,恶意客户端通过发送修改过的有害数据模型来欺骗中央服务器,若联邦学习在训练过程中没有准确识别出上述恶意客户端,将会导致降低联邦学习模型的性能的问题。本申请针对联邦学习的每轮训练过程,都获取联邦学习客户端的模型训练数据,基于模型训练数据对上述联邦学习客户端进行识别,从而判断出该联邦学习客户端是否为恶意客户端,若确定出该联邦学习客户端为恶意客户端,则对上述恶意客户端采取相应的防御措施。从而,有效实现了对联邦学习过程中恶意客户端的识别,进而提高了联邦学习模型的检测识别能力。
在一个实施例中,如图3所示,针对每轮训练,根据与训练轮次对应的联邦学习客户端的模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端,包括步骤320至步骤360:
S320、针对每轮训练,对与训练轮次对应的联邦学习客户端的模型训练参数进行预处理操作,生成预处理后的模型训练参数。
其中,在每轮的联邦学习训练中,都需要对恶意客户端与非恶意客户端所上传的模型训练参数进行识别,针对每轮训练,联邦学习服务器都需要获取联邦学习客户端的模型训练参数,进而通过联邦学习服务器获取到联邦学习客户端的模型训练参数。具体的,联邦学习服务器实时获取联邦学习客户端的模型训练参数,并将上述模型训练参数进行聚合运算,然后联邦学习服务器将聚合后的模型训练参数传递至服务器,随后服务器对模型训练参数进行预处理操作,生成预处理后的模型训练参数。
具体的,上述预处理操作采用高维映射的方法对输入的模型训练参数的进行扩维,也就是说提高模型训练参数的维度。具体的,可以通过ONE-HOT编码技术实现模型训练参数的扩维,上述模型训练参数是一系列离散属性值。ONE-HOT编码技术主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由其独立的寄存器位,并且在任意时候只有一位有效,ONE-HOT编码技术是分类变量作为二进制向量的表示。本申请通过ONE-HOT编码技术对包含N个离散属性值的模型训练参数进行扩展,比如,当模型训练参数是包含784个离散属性值时,可以通过ONE-HOT编码技术将上述模型训练参数扩展为3*28*28的向量,这样可以有效保留模型参数的所有信息,同时也不会增加额外的信息从而对模型造成干扰。
进一步的,如图1所示,针对每轮训练,服务器120对与训练轮次对应的联邦学习客户端160的模型训练参数进行预处理操作,具体可以采用ONE-HOT编码技术对上述模型训练参数进行扩维,生成预处理后的模型训练参数。
S340、对预处理后的模型训练参数进行特征化处理,生成目标特征向量。
其中,在每轮的联邦学习训练中,联邦学习服务器都需要获取联邦学习客户端的模型训练参数,进而通过联邦学习服务器获取到联邦学习客户端的模型训练参数,随后服务器对获取的模型训练参数进行预处理操作,得到预处理后的模型训练参数。进一步的,对预处理后的模型训练参数进行特征化处理生成目标特征向量,进而提取上述模型训练参数最重要的特征,上述特征化处理操作包括但不限于全卷积神经网络、自编码器网络、对抗神经网络、残差网络、胶囊网络等算法,本申请对此不作限定。
其中,自编码器网络是一种能够通过无监督学习,学到输入数据高效表示的人工神经网络,输入数据的这一高效表示称为编码,其维度一般远小于输入数据,使得自编码器可用于降维,更重要的是,自编码器可作为强大的特征检测器,应用于深度神经网络的预训练,此外,自编码器还可以随机生成与训练数据类似的数据,这被称作生成模型,比如,可以用人脸图片训练一个自编码器,进而可以生成新的图片。对抗神经网络的核心由两个目标互相冲突的神经网络组成,这两个网络会以越来越复杂的方法来“蒙骗”对方,这种情况可以理解为博弈论中的极大极小博弈树。残差网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率,其内部的残差块使用了跳跃连接,缓解了在深度神经网络中增加深度带来的梯度消失问题。
具体的,如图1所示,服务器120通过对预处理后的模型训练参数进行特征化处理,进而生成联邦学习客户端160的目标特征向量,上述目标特征向量保留了上述模型训练参数的最重要的特征。
S360、基于目标特征向量及模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端。
其中,在每轮的联邦学习训练中,服务器首先通过联邦学习服务器获取学习客户端的模型参数数据,随后通过对模型参数数据进行预处理操作生成预处理后的模型参数数据,上述预处理后的模型参数数据有效保留了模型参数数据的所有数据,随后服务器将预处理后的模型参数数据进行特征化处理生成目标特征向量,上述目标特征向量表征模型参数数据中最重要的特征。
进一步的,在每轮的联邦学习训练中,通过上述模型参数数据以及目标特征向量对联邦学习客户端进行识别,具体的,首先计算上述模型参数数据以及目标特征向量之间的特征向量误差,随后判断上述特征向量误差是否大于预设阈值,若上述特征向量误差大于预设阈值,则将与该目标特征向量对应的联邦学习客户端识别为候选恶意客户端;若上述特征向量误差小于或等于预设阈值,则将与该目标特征向量对应的联邦学习客户端识别为候选非恶意客户端。
本申请实施例中,针对每轮训练,根据与训练轮次对应的联邦学习客户端的模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端,包括:针对每轮训练,对与训练轮次对应的联邦学习客户端的模型训练参数进行预处理操作,生成预处理后的模型训练参数;对预处理后的模型训练参数进行特征化处理,生成目标特征向量;基于目标特征向量及模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端。通过对模型训练参数进行预处理操作以及特征化处理,从而可以保留模型训练参数的所有数据,并且可以保留模型训练参数的重要特征,进而可以实现对联邦学习客户端中的恶意客户端进行准确识别。
在其中一个实施例中,如图4所示,对预处理后的模型训练参数进行特征化处理,生成目标特征向量,包括步骤342至步骤344:
S342、采用编码单元对预处理后的模型训练参数进行降维处理,生成第一特征向量。
其中,在每轮的联邦学习训练中,联邦学习服务器都需要获取联邦学习客户端的模型训练参数,进而通过联邦学习服务器获取到联邦学习客户端的模型训练参数,随后服务器对获取的模型训练参数进行预处理操作,得到预处理后的模型训练参数。进一步的,对预处理后的模型训练参数进行特征化处理,进而提取上述模型训练参数最重要的特征,本申请中特征化处理操作采用自编码器网络。其中,自编码器网络是一种能够通过无监督学习,学到输入数据高效表示的人工神经网络,输入数据的这一高效表示称为编码,其维度一般远小于输入数据,使得自编码器可用于降维,更重要的是,自编码器可作为强大的特征检测器,应用于深度神经网络的预训练。
具体的,自编码器网络包括编码单元和解码单元两部分,其中,编码单元的主要目的是对输入的预处理后的模型训练参数进行降维处理,在降维的过程中可以去除预处理后的模型训练参数中的异常数据,将其重要特征保存在低维的特征向量中。如表1所示,自编码器网络的编码单元的结构为三层卷积神经网络,三层卷积神经网络的卷积核大小分别为是3*3*64、3*3*128、7*7*32,对于第一层卷积层,该卷积层的卷积核大小为3*3*64,第一层卷积层的输入数据是大小为3*28*28的预处理后的模型训练参数,且第一层卷积层的输出数据的大小为64*14*14;对于第二层卷积层,该卷积层的卷积核大小为3*3*128,第二层卷积层的输入数据的大小为64*14*14,且第二层卷积层的输出数据的大小为128*7*7;对于第三层卷积层,该卷积层的卷积核大小为7*7*32,第三层卷积层的输入数据的大小为128*7*7,且第三层卷积层的输出数据是大小为32*1的第一特征向量。
表1
具体的,如图1所示,服务器120采用自编码器网络的编码单元对预处理后的模型训练参数进行降维处理,生成第一特征向量,上述第一特征向量包含了上述模型训练参数中最重要的特征。
S344、采用解码单元对第一特征向量进行重构处理,生成目标特征向量;目标特征向量与预处理后的模型训练参数的数据大小保持一致;其中,编码单元所采用的神经网络结构与解码单元所采用的神经网络结构相互对称。
其中,在每轮的联邦学习训练中,联邦学习服务器都需要获取联邦学习客户端的模型训练参数,进而通过联邦学习服务器获取到联邦学习客户端的模型训练参数,随后服务器对获取的模型训练参数进行预处理操作,得到预处理后的模型训练参数。进一步的,对预处理后的模型训练参数进行特征化处理,进而提取上述模型训练参数最重要的特征,本申请中特征化处理操作采用自编码器网络。
具体的,自编码器网络包括编码单元和解码单元两部分,其中,解码单元的主要目的是对编码单元生成的第一特征向量进行重构处理。如表2所示,自编码器网络的解码单元的结构为三层卷积神经网络,三层卷积神经网络的卷积核大小分别为是7*7*32、3*3*128、3*3*64,对于第一层卷积层,该卷积层的卷积核大小为7*7*32,第一层卷积层的输入数据是大小为32*1的第一特征向量,且第一层卷积层的输出数据的大小为128*7*7;对于第二层卷积层,该卷积层的卷积核大小为3*3*128,第二层卷积层的输入数据的大小为128*7*7,且第二层卷积层的输出数据的大小为64*14*14;对于第三层卷积层,该卷积层的卷积核大小为3*3*64,第三层卷积层的输入数据的大小为64*14*14,且第三层卷积层的输出数据是大小为3*28*28的第二特征向量。通过表1和表2可以看出,自编码器网络的编码单元所采用的神经网络结构与解码单元所采用的神经网络结构是相互对称。
表2
具体的,如图1所示,服务器120采用自编码器网络的解码单元对第一特征向量进行重构处理,生成目标特征向量;上述目标特征向量与预处理的模型训练参数的发小保持一致;其中,编码单元所采用的神经网络结构与解码单元所采用的神经网络结构相互对称。
在本申请实施例中,对预处理后的模型训练参数进行特征化处理,生成目标特征向量,包括:采用编码单元对预处理后的模型训练参数进行降维处理,生成第一特征向量;采用解码单元对第一特征向量进行重构处理,生成目标特征向量;目标特征向量与预处理后的模型训练参数的数据大小保持一致;其中,编码单元所采用的神经网络结构与解码单元所采用的神经网络结构相互对称。通过采用自编码器网络对预处理后的模型训练进行特征化处理,生成目标特征向量,上述目标特征向量的大小与预处理的模型训练参数保持一致,并且目标特征向量保留了预处理的模型训练参数中最重要的特征,进而可以对联邦学习客户端中的恶意客户端进行准确识别。
在其中一个实施例中,如图5所示,基于目标特征向量及模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端,包括步骤362至步骤364:
S362、计算目标特征向量及模型训练参数之间的差值,生成特征向量误差。
其中,在每轮的联邦学习训练中,都需要对恶意客户端与非恶意客户端所上传的模型训练参数进行识别,针对每轮训练,联邦学习服务器都需要获取联邦学习客户端的模型训练参数,进而通过联邦学习服务器获取到联邦学习客户端的模型训练参数。具体的,联邦学习服务器实时获取联邦学习客户端的模型训练参数,并将上述模型训练参数进行聚合运算,然后联邦学习服务器将聚合后的模型训练参数传递至服务器,随后服务器对模型训练参数进行预处理操作,生成预处理后的模型训练参数。
在每轮的联邦学习训练中,联邦学习服务器都需要获取联邦学习客户端的模型训练参数,进而通过联邦学习服务器获取到联邦学习客户端的模型训练参数,随后服务器对获取的模型训练参数进行预处理操作,得到预处理后的模型训练参数。进一步的,对预处理后的模型训练参数进行特征化处理生成目标特征向量,进而提取上述模型训练参数最重要的特征。
进一步的,在获得模型训练参数以及目标特征向量后,计算预处理后的模型训练参数以及目标特征向量之间的差值,进而生成特征向量误差,若预处理后的模型训练参数的大小为3*28*28,则特征化处理后的目标特征向量的大小为3*28*28,因此,上述特征向量误差的大小也为3*28*28。
具体的,如图1所示,服务器120通过对模型训练参数进行预处理操作得到预处理后的模型训练参数,然后服务器120对上述预处理后的模型训练参数进行特征化处理生成目标特征向量,基于预处理后的模型训练参数以及对应的目标特征向量计算两者的差值,进而生成特征向量误差,其中,上述特征向量误差与预处理后的模型训练参数以及对应的目标特征向量的大小保持一致。
S364、判断特征向量误差是否大于第一预设阈值,若是,则识别联邦学习客户端为候选恶意客户端;若否,则识别联邦学习客户端为候选非恶意客户端。
其中,通过对模型训练参数进行预处理操作得到预处理后的模型训练参数,然后对上述预处理后的模型训练参数进行特征化处理生成目标特征向量,基于预处理后的模型训练参数以及对应的目标特征向量计算两者的差值,进而生成特征向量误差,其中,上述特征向量误差与预处理后的模型训练参数以及对应的目标特征向量的大小保持一致。进一步的,判断上述特征向量误差是否大于第一预设阈值,若上述特征向量误差大于第一预设阈值,则识别目标特征向量对应的联邦学习客户端为候选恶意客户端;若上述特征向量误差小于或等于第一预设阈值,则识别目标特征向量对应的联邦学习客户端为候选非恶意客户端。其中,上述第一预设阈值为预先设置的,本申请对第一预设阈值设置依据不作限定,比如,上述第一预设阈值可以通过联邦学习的经验值进行设置,也可以将上述第一预设阈值设置为所有特征向量误差的平均值。
具体的,如图1所示,在每轮的联邦学习训练中,服务器120都需要判断上述特征向量误差是否大于第一预设阈值,若上述特征向量误差大于第一预设阈值,则服务器120识别联邦学习客户端160为候选恶意客户端;若上述特征向量误差小于或等于第一预设阈值,则服务器120识别联邦学习客户端160为候选非恶意客户端。
在本申请实施例中,基于目标特征向量及模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端,包括:计算目标特征向量及模型训练参数之间的差值,生成特征向量误差;判断特征向量误差是否大于第一预设阈值,若是,则识别联邦学习客户端为候选恶意客户端;若否,则识别联邦学习客户端为候选非恶意客户端。基于模型训练参数以及目标特征向量可以计算出两者的特征向量误差,进而根据上述特征向量误差判断该联邦学习客户端是否为恶意客户端,从而实现了对恶意客户端的识别。
在其中一个实施例中,如图6所示,识别结果包括候选恶意客户端标识或候选非恶意客户端标识;方法还包括步骤420至步骤440:
S420、若联邦学习客户端为候选恶意客户端,则为联邦学习客户端设置恶意客户端标注。
其中,在每轮的联邦学习训练中,都需要对恶意客户端与非恶意客户端所上传的模型训练参数进行识别生成识别结果,识别结果包括候选恶意客户端或候选非恶意客户端。针对识别结果为候选恶意客户端,则将该候选恶意客户端对应的模型训练参数进行标注,本申请对候选恶意客户端的标注方式不作限定。比如,将候选恶意客户端对应的模型训练参数标注为1。当将上述候选恶意客户端对应的模型训练参数发送至联邦学习服务器时,联邦学习服务器通过识别该模型训练参数的标记1可以确定上述模型训练参数是属于候选恶意客户端的。
具体的,如图1所示,在每轮的联邦学习训练中,服务器120若确定该联邦学习客户端160为候选恶意客户端,则服务器120为联邦学习客户端设置恶意客户端标注。
S440、若联邦学习客户端为候选非恶意客户端,则为联邦学习客户端设置非恶意客户端标注。
其中,在每轮的联邦学习训练中,都需要对恶意客户端与非恶意客户端所上传的模型训练参数进行识别生成识别结果,识别结果包括候选恶意客户端或候选非恶意客户端。针对识别结果为候选非恶意客户端,则将该候选非恶意客户端对应的模型训练参数进行标注,本申请对候选非恶意客户端的标注方式不作限定。比如,将候选非恶意客户端对应的模型训练参数标注为0。当将上述候选非恶意客户端对应的模型训练参数发送至联邦学习服务器时,联邦学习服务器通过识别该模型训练参数的标记0可以确定上述模型训练参数是属于候选非恶意客户端的。
具体的,如图1所示,在每轮的联邦学习训练中,服务器120若确定该联邦学习客户端160为候选非恶意客户端,则服务器120为联邦学习客户端设置非恶意客户端标注。
在本申请实施例中,识别结果包括候选恶意客户端标识或候选非恶意客户端标识;方法还包括:若联邦学习客户端为候选恶意客户端,则为联邦学习客户端设置恶意客户端标注;若联邦学习客户端为候选非恶意客户端,则为联邦学习客户端设置非恶意客户端标注。通过对候选恶意客户端以及候选非恶意客户端进行标注,进而使得联邦学习服务器可以准确识别联邦学习客户端中的恶意客户端,进而有效防止联邦学习中恶意客户端的攻击。
在其中一个实施例中,如图7所示,根据多轮的识别结果,确定联邦学习客户端为恶意客户端,对恶意客户端进行防御,包括步骤262至步骤264:
S262、获取多轮的识别结果,从识别结果中统计同一联邦学习客户端对应的恶意客户端标注的出现次数。
其中,在每轮的联邦学习训练中,都需要对恶意客户端与非恶意客户端所上传的模型训练参数进行识别,针对每轮训练,联邦学习服务器都需要获取联邦学习客户端的模型训练参数,进而通过联邦学习服务器获取到联邦学习客户端的模型训练参数。通过对模型训练参数进行预处理操作得到预处理后的模型训练参数,然后对上述预处理后的模型训练参数进行特征化处理生成目标特征向量,基于预处理后的模型训练参数以及对应的目标特征向量计算两者的差值,进而生成特征向量误差,其中,上述特征向量误差与预处理后的模型训练参数以及对应的目标特征向量的大小保持一致。进一步的,判断上述特征向量误差是否大于第一预设阈值,若上述特征向量误差大于第一预设阈值,则识别目标特征向量对应的联邦学习客户端为候选恶意客户端;若上述特征向量误差小于或等于第一预设阈值,则识别目标特征向量对应的联邦学习客户端为候选非恶意客户端。针对每轮的联邦学习训练,针对识别结果为候选恶意客户端,则将该候选恶意客户端对应的模型训练参数进行标注;针对识别结果为候选非恶意客户端,则将该候选非恶意客户端对应的模型训练参数进行标注。比如,将候选恶意客户端对应的模型训练参数标注为1,将候选非恶意客户端对应的模型训练参数标注为0。
具体的,如图1所示,当联邦学习的多轮训练结束之后,服务器120获取多轮的识别结果,服务器120从上述多轮的识别结果中统计同一联邦学习客户端对应的恶意客户端标注的出现次数,比如,当联邦学习的多轮训练结束之后,服务器120可以统计模型训练参数标注为1的出现次数,进而得到该恶意客户端的出现次数。
S264、判断恶意客户端标注的出现次数占训练总轮次的比值是否大于第二预设阈值,若是,则将与恶意客户端标注对应的联邦学习客户端确定为恶意客户端,从联邦学习客户端中将恶意客户端剔除。
其中,由于联邦学习是一个多轮训练的过程,因此,通过统计多轮的识别结果,进而确定联邦学习客户端是否为恶意客户端,本申请对依据识别结果确定联邦学习客户端为恶意客户端的方式不作限定。可选的,可以通过判断恶意客户端标注的出现次数占训练总轮次的比值是否大于第二预设阈值来判断该联邦学习客户端是否为恶意客户端,若恶意客户端标注的出现次数占训练总轮次的比值大于第二预设阈值,则确定该联邦学习客户端确定为恶意客户端;若恶意客户端标注的出现次数占训练总轮次的比值小于或等于第二预设阈值,则确定该联邦学习客户端确定为非恶意客户端。比如,设置联邦学习的训练轮次为1000次,且设置判断为恶意客户端的预设条件为大于训练轮次的1/20,若当前训练轮次为1000次时,则统计1000轮中识别为候选非恶意客户端的次数,若候选非恶意客户端的次数100,判断候选非恶意客户端的次数100大于训练轮次的1/20,则可以确定该联邦学习客户端为恶意客户端。
进一步的,若确定该联邦学习客户端确定为恶意客户端,则将该恶意客户端从联邦学习客户端中将恶意客户端剔除,并将该恶意客户端加入黑名单中,使得该恶意客户端无法再次加入上述联邦学习系统。
具体的,如图1所示,服务器120通过判断恶意客户端标注的出现次数占训练总轮次的比值是否大于第二预设阈值来确定该联邦学习客户端160是否为恶意客户端,若恶意客户端标注的出现次数占训练总轮次的比值大于第二预设阈值,则将与恶意客户端标注对应的联邦学习客户端160确定为恶意客户端,且服务器120从联邦学习客户端160中将恶意客户端剔除。
在本申请实施例中,根据多轮的识别结果,确定联邦学习客户端为恶意客户端,对恶意客户端进行防御,包括:获取多轮的识别结果,从识别结果中统计同一联邦学习客户端对应的恶意客户端标注的出现次数;判断恶意客户端标注的出现次数占训练总轮次的比值是否大于第二预设阈值,若是,则将与恶意客户端标注对应的联邦学习客户端确定为恶意客户端,从联邦学习客户端中将恶意客户端剔除。根据联邦学习客户端在多轮训练的识别结果,通过统计恶意客户端标注的出现次数来确定联邦学习客户端中的恶意客户端,进而将恶意客户端从联邦学习中剔除,从而有效防止恶意客户端对联邦学习系统的恶意攻击,有效地提高了联邦学习系统对拜占庭攻击的识别能力以及防御能力。
在其中一个实施例中,如图8所示,上述方法还包括步骤520至步骤540:
S520、若根据多轮的识别结果,确定联邦学习客户端为非恶意客户端,则将联邦学习客户端的模型训练参数聚合为全局模型参数,并将全局模型参数发送至非恶意客户端。
其中,联邦学习是一个多轮的训练过程,在每轮的联邦学习训练中,都需要对恶意客户端与非恶意客户端所上传的模型训练参数进行识别生成识别结果,识别结果包括候选恶意客户端或候选非恶意客户端。针对识别结果为候选恶意客户端,则将该候选恶意客户端对应的模型训练参数进行标注;针对识别结果为候选非恶意客户端,则将该候选非恶意客户端对应的模型训练参数进行标注,通过获取多轮的识别结果,进而从识别结果中统计同一联邦学习客户端对应的恶意客户端标注的出现次数,通过统计恶意客户端标注的出现次数来确定联邦学习客户端中的恶意客户端,进而将恶意客户端从联邦学习中剔除。
因此,针对恶意客户端,将联邦学习客户端的模型训练参数都重置为0,通过联邦服务器向联邦学习客户端中对应的恶意客户端发送重置之后的模型训练参数;而针对非恶意客户端,将联邦学习客户端的模型训练参数聚合为全局模型参数,将上述全局模型参数通过联邦服务器加密后返回至联邦学习客户端中对应的非恶意客户端。
具体的,如图1所示,服务器120若根据多轮的识别结果,若确定该联邦学习客户端为非恶意客户端,则服务器120将联邦学习客户端160的模型训练参数聚合为全局模型参数,并将上述全局模型参数发送至联邦学习客户端160中对应的非恶意客户端。
S540、将全局模型参数作为下一轮训练的新的初始模型参数,以使非恶意客户端基于全局模型参数进行训练。
其中,针对非恶意客户端,将联邦学习客户端的模型训练参数通过聚合运算,将上述模型训练参数聚合为为全局模型参数,随后将上述全局模型参数通过联邦服务器加密后返回至联邦学习客户端中对应的非恶意客户端。而联邦学习客户端将将接收到的全局模型参数作为下一轮训练的初始模型参数,基于该全局模型参数进行下一轮的联邦学习训练。
具体的,如图1所示,服务器120将全局模型参数作为下一轮联邦学习训练的新的初始模型参数,以使非恶意客户端基于全局模型参数进行训练。
在本申请实施例中,上述方法还包括:若根据多轮的识别结果,确定联邦学习客户端为非恶意客户端,则将联邦学习客户端的模型训练参数聚合为全局模型参数,并将全局模型参数发送至非恶意客户端;将全局模型参数作为下一轮训练的新的初始模型参数,以使非恶意客户端基于全局模型参数进行训练。通过对非恶意客户端的模型训练参数进行聚合生成全局模型参数,可以使得非恶意客户端基于上述全局模型参数进行下一轮次的训练。
在一个具体的实施例中,如图9所示,提供了一种联邦学习防御方法,包括步骤601至步骤611:
S601、获取联邦学习客户端进行各轮训练的模型训练参数;模型训练参数为基于初始模型参数进行模型训练所生成的参数;初始模型参数是由联邦学习服务器向联邦学习客户端所下发的;
S602、针对每轮训练,对与训练轮次对应的联邦学习客户端的模型训练参数进行预处理操作,生成预处理后的模型训练参数;
S603、采用编码单元对预处理后的模型训练参数进行降维处理,生成第一特征向量;
S604、用解码单元对第一特征向量进行重构处理,生成目标特征向量;目标特征向量与预处理后的模型训练参数的数据大小保持一致;其中,编码单元所采用的神经网络结构与解码单元所采用的神经网络结构相互对称;
S605、计算目标特征向量及模型训练参数之间的差值,生成特征向量误差;
S606、判断特征向量误差是否大于第一预设阈值,若是,则识别联邦学习客户端为候选恶意客户端;若否,则识别联邦学习客户端为候选非恶意客户端;
S607、若联邦学习客户端为候选恶意客户端,则为联邦学习客户端设置恶意客户端标注;若联邦学习客户端为候选非恶意客户端,则为联邦学习客户端设置非恶意客户端标注;
S608、获取多轮的识别结果,从识别结果中统计同一联邦学习客户端对应的恶意客户端标注的出现次数;
S609、判断恶意客户端标注的出现次数占训练总轮次的比值是否大于第二预设阈值,若是,则将与恶意客户端标注对应的联邦学习客户端确定为恶意客户端,从联邦学习客户端中将恶意客户端剔除;
S610、若根据多轮的识别结果,确定联邦学习客户端为非恶意客户端,则将联邦学习客户端的模型训练参数聚合为全局模型参数,并将全局模型参数发送至非恶意客户端;
S611、将全局模型参数作为下一轮训练的新的初始模型参数,以使非恶意客户端基于全局模型参数进行训练。
在本申请实施例中,提供了一种联邦学习防御方法,首先获取联邦学习客户端进行各轮训练的模型训练参数;模型训练参数为基于初始模型参数进行模型训练所生成的参数;初始模型参数是由联邦学习服务器向联邦学习客户端所下发的;随后,针对每轮训练,根据与训练轮次对应的联邦学习客户端的模型训练参数,对联邦学习客户端进行攻击检测生成攻击检测结果,基于攻击检测结果识别联邦学习客户端为恶意客户端或非恶意客户端;最后,根据多轮的攻击检测结果,对恶意客户端进行防御。由于联邦学习在训练过程中自身存在易遭受恶意客户端的攻击,恶意客户端通过发送修改过的有害数据模型来欺骗中央服务器,若联邦学习在训练过程中没有准确识别出上述恶意客户端,将会导致降低联邦学习模型的性能的问题。本申请针对联邦学习的每轮训练过程,都获取联邦学习客户端的模型训练数据,基于模型训练数据对上述联邦学习客户端进行识别,从而判断出该联邦学习客户端是否为恶意客户端,若确定出该联邦学习客户端为恶意客户端,则对上述恶意客户端采取相应的防御措施。从而,有效实现了对联邦学习过程中恶意客户端的识别,进而提高了联邦学习模型的检测识别能力。
应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在其中一个实施例中,如图10所示,提供了一种联邦学习防御装置700,包括:模型参数获取模块模块720、识别结果生成模块740以及恶意客户防御模块760,其中:
模型参数获取模块720,用于获取联邦学习客户端进行各轮训练的模型训练参数;模型训练参数为基于初始模型参数进行模型训练所生成的参数;初始模型参数是由联邦学习服务器向联邦学习客户端所下发的;
识别结果生成模块740,用于针对每轮训练,根据与训练轮次对应的联邦学习客户端的模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端;
恶意客户防御模块760,用于根据多轮的识别结果,确定联邦学习客户端为恶意客户端,对恶意客户端进行防御。
在其中一个实施例中,如图11所示,识别结果生成模块740包括预处理单元742、特征化处理单元744以及识别单元746,其中:
预处理单元742,用于针对每轮训练,对与训练轮次对应的联邦学习客户端的模型训练参数进行预处理操作,生成预处理后的模型训练参数;
特征化处理单元744,用于对预处理后的模型训练参数进行特征化处理,生成目标特征向量;
识别单元746,用于基于目标特征向量及模型训练参数,对联邦学习客户端进行识别生成识别结果;识别结果包括候选恶意客户端或候选非恶意客户端。
在其中一个实施例中,特征化处理单元744,还用于采用编码单元对预处理后的模型训练参数进行降维处理,生成第一特征向量;
采用解码单元对第一特征向量进行重构处理,生成目标特征向量;目标特征向量与预处理后的模型训练参数的数据大小保持一致;其中,编码单元所采用的神经网络结构与解码单元所采用的神经网络结构相互对称。
在其中一个实施例中,识别单元746,还用于计算目标特征向量及模型训练参数之间的差值,生成特征向量误差;
判断特征向量误差是否大于第一预设阈值,若是,则识别联邦学习客户端为候选恶意客户端;若否,则识别联邦学习客户端为候选非恶意客户端。
在其中一个实施例中,如图12所示,联邦学习防御装置700,还包括:恶意客户端标注模块820以及非恶意客户端标注模块840,其中:
恶意客户端标注模块820,用于若联邦学习客户端为候选恶意客户端,则为联邦学习客户端设置恶意客户端标注;
非恶意客户端标注模块840,用于若联邦学习客户端为候选非恶意客户端,则为联邦学习客户端设置非恶意客户端标注。
在其中一个实施例中,如图13所示,恶意客户防御模块760包括恶意客户端统计单元762以及恶意客户端剔除单元764,其中:
恶意客户端统计单元762,用于获取多轮的识别结果,从识别结果中统计同一联邦学习客户端对应的恶意客户端标注的出现次数;
恶意客户端剔除单元764,用于判断恶意客户端标注的出现次数占训练总轮次的比值是否大于第二预设阈值,若是,则将与恶意客户端标注对应的联邦学习客户端确定为恶意客户端,从联邦学习客户端中将恶意客户端剔除。
在其中一个实施例中,如图14所示,联邦学习防御装置700,还包括:全局模型参数生成模块860以及初始模型参数生成模块880,其中:
全局模型参数生成模块860,用于若根据多轮的识别结果,确定联邦学习客户端为非恶意客户端,则将联邦学习客户端的模型训练参数聚合为全局模型参数,并将全局模型参数发送至非恶意客户端;
初始模型参数生成模块880,用于将全局模型参数作为下一轮训练的新的初始模型参数,以使非恶意客户端基于全局模型参数进行训练。
关于联邦学习防御装置的具体限定可以参见上文中对于联邦学习防御方法的限定,在此不再赘述。上述联邦学习防御装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储联邦学习防御数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种联邦学习防御方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行联邦学习防御方法的步骤。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行联邦学习防御方法。
本申请实施例所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种联邦学习防御方法,其特征在于,所述方法包括:
获取联邦学习客户端进行各轮训练的模型训练参数;所述模型训练参数为基于初始模型参数进行模型训练所生成的参数;所述初始模型参数是由联邦学习服务器向所述联邦学习客户端所下发的;
针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端;
根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御。
2.根据权利要求1所述的方法,其特征在于,所述针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端,包括:
针对每轮训练,对与所述训练轮次对应的所述联邦学习客户端的模型训练参数进行预处理操作,生成预处理后的模型训练参数;
对所述预处理后的模型训练参数进行特征化处理,生成目标特征向量;
基于所述目标特征向量及所述模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端。
3.根据权利要求2所述的方法,其特征在于,所述对所述预处理后的模型训练参数进行特征化处理,生成目标特征向量,包括:
采用编码单元对所述预处理后的模型训练参数进行降维处理,生成第一特征向量;
采用解码单元对所述第一特征向量进行重构处理,生成目标特征向量;所述目标特征向量与所述预处理后的模型训练参数的数据大小保持一致;其中,所述编码单元所采用的神经网络结构与所述解码单元所采用的神经网络结构相互对称。
4.根据权利要求2所述的方法,其特征在于,所述基于所述目标特征向量及所述模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端,包括:
计算所述目标特征向量及所述模型训练参数之间的差值,生成特征向量误差;
判断所述特征向量误差是否大于第一预设阈值,若是,则识别所述联邦学习客户端为候选恶意客户端;若否,则识别所述联邦学习客户端为候选非恶意客户端。
5.根据权利要求4所述的方法,其特征在于,所述识别结果包括候选恶意客户端标识或候选非恶意客户端标识;所述方法还包括:
若所述联邦学习客户端为候选恶意客户端,则为所述联邦学习客户端设置恶意客户端标注;
若所述联邦学习客户端为候选非恶意客户端,则为所述联邦学习客户端设置非恶意客户端标注。
6.根据权利要求5所述的方法,其特征在于,所述根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御,包括:
获取多轮的所述识别结果,从所述识别结果中统计同一所述联邦学习客户端对应的恶意客户端标注的出现次数;
判断所述恶意客户端标注的出现次数占训练总轮次的比值是否大于第二预设阈值,若是,则将与恶意客户端标注对应的所述联邦学习客户端确定为所述恶意客户端,从联邦学习客户端中将所述恶意客户端剔除。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若根据多轮的所述识别结果,确定所述联邦学习客户端为非恶意客户端,则将所述联邦学习客户端的模型训练参数聚合为全局模型参数,并将所述全局模型参数发送至所述非恶意客户端;
将所述全局模型参数作为下一轮训练的新的初始模型参数,以使所述非恶意客户端基于所述全局模型参数进行训练。
8.一种联邦学习防御装置,其特征在于,所述装置包括:
模型参数获取模块,用于获取联邦学习客户端进行各轮训练的模型训练参数;所述模型训练参数为基于初始模型参数进行模型训练所生成的参数;所述初始模型参数是由联邦学习服务器向所述联邦学习客户端所下发的;
识别结果生成模块,用于针对每轮训练,根据与所述训练轮次对应的所述联邦学习客户端的模型训练参数,对所述联邦学习客户端进行识别生成识别结果;所述识别结果包括候选恶意客户端或候选非恶意客户端;
恶意客户防御模块,用于根据多轮的所述识别结果,确定所述联邦学习客户端为恶意客户端,对所述恶意客户端进行防御。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111271278.9A CN113962402A (zh) | 2021-10-29 | 2021-10-29 | 联邦学习防御方法、装置、计算机设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111271278.9A CN113962402A (zh) | 2021-10-29 | 2021-10-29 | 联邦学习防御方法、装置、计算机设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113962402A true CN113962402A (zh) | 2022-01-21 |
Family
ID=79468281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111271278.9A Pending CN113962402A (zh) | 2021-10-29 | 2021-10-29 | 联邦学习防御方法、装置、计算机设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113962402A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785605A (zh) * | 2022-04-28 | 2022-07-22 | 中国电信股份有限公司 | 网络异常检测模型的确定方法、装置、设备及存储介质 |
CN116150753A (zh) * | 2022-12-21 | 2023-05-23 | 上海交通大学 | 一种基于联邦学习的移动端恶意软件检测系统 |
CN116432781A (zh) * | 2023-04-23 | 2023-07-14 | 中国工商银行股份有限公司 | 联邦学习防御方法、装置、计算机设备和存储介质 |
CN117411683A (zh) * | 2023-10-17 | 2024-01-16 | 中国人民解放军国防科技大学 | 基于分布式联邦学习的识别低轨卫星网络攻击方法及装置 |
CN117828424A (zh) * | 2023-12-19 | 2024-04-05 | 慧之安信息技术股份有限公司 | 一种面向工业物联网场景的联邦学习方法和系统 |
-
2021
- 2021-10-29 CN CN202111271278.9A patent/CN113962402A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785605A (zh) * | 2022-04-28 | 2022-07-22 | 中国电信股份有限公司 | 网络异常检测模型的确定方法、装置、设备及存储介质 |
CN114785605B (zh) * | 2022-04-28 | 2023-12-12 | 中国电信股份有限公司 | 网络异常检测模型的确定方法、装置、设备及存储介质 |
CN116150753A (zh) * | 2022-12-21 | 2023-05-23 | 上海交通大学 | 一种基于联邦学习的移动端恶意软件检测系统 |
CN116432781A (zh) * | 2023-04-23 | 2023-07-14 | 中国工商银行股份有限公司 | 联邦学习防御方法、装置、计算机设备和存储介质 |
CN117411683A (zh) * | 2023-10-17 | 2024-01-16 | 中国人民解放军国防科技大学 | 基于分布式联邦学习的识别低轨卫星网络攻击方法及装置 |
CN117828424A (zh) * | 2023-12-19 | 2024-04-05 | 慧之安信息技术股份有限公司 | 一种面向工业物联网场景的联邦学习方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113962402A (zh) | 联邦学习防御方法、装置、计算机设备和计算机存储介质 | |
CN110490076B (zh) | 活体检测方法、装置、计算机设备和存储介质 | |
CN111680672B (zh) | 人脸活体检测方法、系统、装置、计算机设备和存储介质 | |
CN113297573B (zh) | 一种基于gan模拟数据生成的垂直联邦学习防御方法和装置 | |
CN110378230B (zh) | 失踪人脸识别方法、装置、计算机设备和存储介质 | |
CN111695462B (zh) | 一种人脸识别方法、装置、存储介质和服务器 | |
CN113766085B (zh) | 图像处理方法及相关装置 | |
CN117121068A (zh) | 使用机器学习和登记数据的个性化生物测定反欺骗保护 | |
CN110728215A (zh) | 基于红外图像的人脸活体检测方法、装置 | |
Stokkenes et al. | Multi-biometric template protection—A security analysis of binarized statistical features for bloom filters on smartphones | |
Hou et al. | Ml defense: against prediction API threats in cloud-based machine learning service | |
Cao et al. | Hiding among your neighbors: Face image privacy protection with differential private k-anonymity | |
Wang et al. | Brief but powerful: Byzantine-robust and privacy-preserving federated learning via model segmentation and secure clustering | |
Atashin et al. | Variational leakage: The role of information complexity in privacy leakage | |
Benkraouda et al. | Image reconstruction attacks on distributed machine learning models | |
CN114373218B (zh) | 一种用于检测活体对象的卷积网络的生成方法 | |
Toli et al. | Privacy-preserving multibiometric authentication in cloud with untrusted database providers | |
CN116185296A (zh) | 一种基于多媒体远程会议信息的分布式安全储存系统 | |
CN116188439A (zh) | 一种基于身份识别概率分布的伪造换脸图像检测方法和装置 | |
TW202331562A (zh) | 生物特徵識別方法、伺服器、客戶端、生成對抗樣本的方法、電腦儲存媒體及電腦程式產品 | |
Jana et al. | Neural fuzzy extractors: A secure way to use artificial neural networks for biometric user authentication | |
CN114612989A (zh) | 人脸识别数据集的生成方法及装置、电子设备及存储介质 | |
Vipul et al. | An Improved Machine Learning Approach to Detect Real Time Face Mask | |
Schmidt et al. | Dynamic signature recognition based on fisher discriminant | |
Fotohi et al. | Decentralized and robust privacy-preserving model using blockchain-enabled Federated Deep Learning in intelligent enterprises |
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 |