CN116192424A - 一种在联邦学习场景下针对全局数据分布进行攻击的方法 - Google Patents
一种在联邦学习场景下针对全局数据分布进行攻击的方法 Download PDFInfo
- Publication number
- CN116192424A CN116192424A CN202211526827.7A CN202211526827A CN116192424A CN 116192424 A CN116192424 A CN 116192424A CN 202211526827 A CN202211526827 A CN 202211526827A CN 116192424 A CN116192424 A CN 116192424A
- Authority
- CN
- China
- Prior art keywords
- data
- network
- distribution
- gradient
- malicious client
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000002787 reinforcement Effects 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000002360 preparation method Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims description 46
- 230000009471 action Effects 0.000 claims description 42
- 238000012549 training Methods 0.000 claims description 35
- 230000008859 change Effects 0.000 claims description 6
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000000644 propagated effect Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 230000001737 promoting effect Effects 0.000 claims 1
- 238000012552 review Methods 0.000 claims 1
- 239000003795 chemical substances by application Substances 0.000 description 12
- 241000282994 Cervidae Species 0.000 description 6
- 241000282326 Felis catus Species 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
- H04L63/205—Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Technology Law (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明属于面向联邦学习的攻击领域,具体涉及一种在联邦学习场景下针对全局数据分布进行攻击的方法,包括攻击前的准备和在共享梯度的监督和引导下利用强化学习的整体攻击过程;攻击前的准备是设置攻击时候所需要的各类参数、环境、工具;共享梯度的监督和引导下利用强化学习的整体攻击过程是在共享梯度的监督和引导下,通过强化学习(深度强化学习算法DDPG)来调整恶意客户本地数据的分布,最终推测出联邦学习全局数据的分布情况。其优点在于,仅使用共享梯度和DDPG算法来调整恶意客户本地数据的分布,最终推测出联邦学习全局数据的分布情况。
Description
技术领域
本发明属于面向联邦学习的攻击领域,具体涉及一种在联邦学习场景下针对全局数据分布进行攻击的方法。
背景技术
近年来,机器学习和深度学习快速发展,被广泛应用于在语音、图像、文本识别和语言翻译等方面。随着边缘智能的兴起和人类活动的进一步扩展,数据规模呈现爆炸式增长,传统机器学习的功效已大大下降。与此同时,各大公司对数据安全和隐私的意识逐渐增强,对数据隐私和安全的重视已成为世界范围内的一个主要问题。由于数据规模剧增和隐私安全问题,即使是同一公司不同部门之间的数据集成也面临重重阻力,因此数据往往以孤岛的形式存在,不能发挥其应有的价值。在此背景下,联邦学习迅速发展,联邦学习本质上是一种加密的分布式学习框架,它仅通过交互模型的中间参数进行模型联合训练,私有训练数据一直在本地,联邦学习在数据隐私安全的基础上,实现“数据共享”、“共同建模”。这种方式实现数据隐私保护和数据共享分析的平衡,即“数据可用不可见”的应用模式。而当下我们经常使用共享梯度作为交互模型的中间参数,所以共享梯度的安全性就异常重要。
然而分布式性质和默认的隐私联合学习不足以保护客户端私有训练数据免受梯度泄漏攻击,一旦共享梯度信息被泄漏给攻击者,则攻击者就有可能通过共享梯度恢复各个客户的私有训练数据。目前,多数利用重构攻击从共享梯度中恢复私有训练数据,例如:DLG和iDLG,但如果私有训练数据规模较大、复杂度较高,两者均有可能出现攻击效率急剧低下、攻击效果不佳或者是攻击失败的情况。
发明内容
基于上述问题和研究缺陷的存在,提出一种对联邦学习全局数据的分布信息进行恢复攻击的方法,它仅在共享梯度的监督和引导下,通过深度强化学习算法(DDPG)来调整恶意客户本地数据的分布,最终推测出联邦学习全局数据的分布情况。其技术方案为,
一种在联邦学习场景下针对全局数据分布进行攻击的方法,包括攻击前的准备和在共享梯度的监督和引导下利用强化学习的整体攻击过程;
攻击前的准备是设置攻击时候所需要的各类参数、环境、工具;
共享梯度的监督和引导下利用强化学习的整体攻击过程是在共享梯度的监督和引导下,通过深度强化学习算法来调整恶意客户本地数据的分布,最终推测出联邦学习全局数据的分布情况。
优选的,在共享梯度的监督和引导下,智能体根据奖励的变化情况,不断学习如何选择正确的动作,改变状态,自动制定恶意客户本地数据分布的调整策略,以此来促使恶意客户的本地梯度和共享梯度的欧式距离越来越小,奖励越来越大,一旦恶意客户的本地梯度匹配共享梯度,环境返回的奖励也会达到最大值,此时恶意客户本地数据的分布情况就可以反应出联邦学习全局数据的分布情况。
优选的,攻击前的准备步骤如下,
步骤2:设计强化学习中的马尔可夫决策过程,确定马尔可夫决策过程包含的三个元素:状态state、动作action、奖励reward;
其中,状态state:恶意客户A本地数据的分布情况;动作action:调整恶意客户A本地数据的分布,即增加恶意客户A本地数据中某类数据的量或者减少某类数据的量,调整的范围为[-n,+n],n为正整数;奖励reward:对恶意客户A的本地梯度和共享梯度间的欧式距离进行向前和向后传播后得出的损失值loss取反;
步骤3:设置强化学习的环境,记作env,即设定共享梯度的监督和引导策略:步骤4:分别构造强化学习中深度确定性策略梯度算法DDPG的策略网络actornetwork:μ(s|θμ)和价值网络critic network:Q(s,α|θQ);
其中,s表示状态state,α表示动作action,θμ和θQ分别为策略网络actor network和价值网络critic network的参数权重;
步骤5:构造DDPG算法:首先初始化四个网络:当前策略网络μ(s|θμ)、目标策略网络μ′(s|θμ′)、当前价值网络Q(s,α|θQ)、目标价值网络Q′(s,α|θQ′);
其中,s表示状态state,α表示动作action,θμ、θμ′、θQ、θQ′分别为当前策略网络、目标策略网络、当前价值网络和目标价值网络的参数权重,当前策略网络和目标策略网络用步骤4中构造的策略网络actor network初始化,当前价值网络和目标价值网络用步骤4中构造的价值网络critic network初始化。
在env中,定义三个函数:init()、attack_env()和step();
其中,init()函数定义以下内容:
action_int_bound=n:恶意客户A本地数据中每类数据最大的增减值,action_int_bound为正整数;min_state:恶意客户A本地数据中每类数据最低减少到min_state,min_state为正整数;max_state:恶意客户A本地数据中每类数据最多复制增加到max_state,max_state为正整数;init_state:恶意客户A本地数据的初始分布情况;
attack_env()函数执行如下操作:首先要将恶意客户A的本地数据输入到中央服务器下放给参与训练的每个客户的全局模型F(x;W)中,得出恶意客户A的本地梯度其次计算恶意客户A本地梯度和共享梯度之间的欧式距离,表示为:
之后执行向前向后传播操作,得出并且输出当前的损失值loss;
step()函数执行如下操作:在step()函数中,输入为当前选择的动作action,即选择如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况,之后进行状态转移,得出下一状态next_state,同时调用attack_env()函数得出当前奖励reward,最后输出next_state和reward;
其中,next_state为执行动作action,即调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况,之后得出的新的恶意客户A本地数据的分布情况。
优选的,步骤S4中,设置强化学习中的经验池ReplayBuffer,具体步骤如下,
设置强化学习中的经验池ReplayBuffer,经验池ReplayBuffer的最大容量capacity=maxsize,maxsize为正整数,同时定义经验池ReplayBuffer里的两个操作:存入数据和取样数据,分别记作push()函数和sample()函数,存入数据采用集中式回放,取样数据采用均匀回放:等概率从经验池ReplayBuffer中取样数据。
优选的,步骤S5中,初始化经验池ReplayBuffer,之后定义choose_action()函数和update()函数;
其中,choose_action()函数执行如下操作:将当前状态state,即当前恶意客户A本地数据的分布情况,输入到当前策略网络μ(s|θμ)中,输出选择的动作action,即选择如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况;
update()函数执行如下操作:调用经验池ReplayBuffer的取样函数sample(),以及对当前策略网络μ(s|θμ)、目标策略网络μ′(s|θμ′)、当前价值网络Q(s,α|θQ)、目标价值网络Q′(s,α|θQ′)进行更新的操作;
其中,当前策略网络μ(s|θμ)根据最大化累积期望回报来更新θμ,当前价值网络Q(s,α|θQ)通过最小化评估值与目标值之间的误差来更新θQ,目标策略网络μ′(s|θμ′)和目标价值网络Q′(s,α|θQ′)使用软更新方式,分别为下公式:
θμ′=τθμ+(1-τ)θμ′
θQ′=τθQ+(1-τ)θQ′
即引入一个学习率τ,将旧的目标网络参数和新的当前网络参数做加权平均,然后赋值给目标网络。
优选的,在共享梯度的监督和引导下利用强化学习的整体攻击过程如下:
步骤6:使用步骤5构造的DDPG算法初始化强化学习中的智能体agent,之后进入攻击轮数为M的攻击过程;
步骤7:初始化状态init_state,即将恶意客户A本地数据的分布情况变成初始的分布情况,在0~exploration_noise之间生成正太分布随机噪声;
步骤8:智能体agent调用choose_action()函数:根据当前状态state,即当前恶意客户A本地数据的分布情况,选择要采取的动作action,即选择如何调整恶意客户A本地数据的分布、恶意客户A本地数据中每类数据的增减情况,为了使探索更强,给所选动作action添加步骤7生成的正太分布随机噪声;
步骤9:之后将所选动作action输入到环境env中,即如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况,与环境env进行交互,得出下一状态next_state和奖励reward;
其中,步骤9表示:根据步骤8选择的动作action对恶意客户A本地数据当前的分布情况进行调整,得出新的恶意客户A本地数据的分布情况,即下一状态next_state,并计算恶意客户A的本地梯度以及计算恶意客户A本地梯度和共享梯度间的欧式距离Distance,执行向前和向后传播操作,得出损失值loss。之后对loss取反,得出奖励reward;
步骤10:将当前迭代的数据存入到经验池ReplayBuffer中;
步骤11:智能体agent调用update()函数:即从经验池ReplayBuffer中取样N个小批量数据,N为正整数,利用取样的数据分别计算当前策略网络μ(s|θμ)的策略梯度policygradient和当前价值网络Q(s,α|θQ)的损失loss,以此来更新当前策略网络μ(s|θμ)和当前价值网络Q(s,α|θQ),之后根据当前策略网络μ(s|θμ)和当前价值网络Q(s,α|θQ)更新目标策略网络μ′(s|θμ′)与目标价值网络Q′(s,α|θQ′);
其中,各个网络的更新策略如步骤5所示;
步骤12:按照给定的每轮迭代次数T和攻击轮数M,分别重复步骤8~步骤11和步骤7~步骤11。
优选的,在共享梯度的监督和引导下,智能体agent根据奖励reward的变化情况,不断学习如何选择正确的动作action,改变状态state,自动制定恶意客户A本地数据分布的调整策略,以此来促使恶意客户A本地梯度和共享梯度间的欧式距离越来越小,奖励reward越来越大;
有益效果
1.本申请弥补了现有研究中没有如何偷取联邦学习私有训练数据的分布信息这一缺陷,同时为依赖数据分布作为先验信息的攻击方法提供了解决策略。一旦成功攻击获取训练数据的分布信息,很多攻击方法都可以利用数据分布作为先验信息,进而来辅助攻击过程,提升攻击效果。例如:如果联邦学习的全局训练数据具有更大的规模和更高的复杂度,DLG或者iDLG都可能出现攻击失败的情况,这样就可以先用我们的方案攻击获取训练数据的分布情况,之后在根据训练数据的分布情况合成初始的虚拟数据和虚拟标签,进而攻击效果会变得非常有效。
2.本申请证明了从共享梯度中获取联邦学习全局数据分布情况是可能的。据我们所知,我们是第一个发现共享梯度可以直接泄漏联邦学习全局数据的分布情况,而不单单是某一客户本地训练数据的分布情况。
3.本申请仅需要共享梯度和DDPG算法就能实现对数据分布进行攻击,可以在较短时间内精确地显示私有训练数据的分布情况。
附图说明
图1是本发明的攻击前的准备部分流程图。
图2是本发明的在共享梯度的监督和引导下利用强化学习的整体攻击过程流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的参数和组件可以以不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1
如图1和2所示,本实施例主要包含两个部分,一个是攻击前的准备,另一个是在共享梯度的监督和引导下利用强化学习的整体攻击过程。攻击前的准备部分是定义设置攻击时候所需要的各类参数、环境、工具。在共享梯度的监督和引导下利用强化学习的整体攻击过程部分就是对联邦学习中全局数据分布情况的攻击恢复部分。在正式介绍工作流程前,有一些必要的前提假设和参数说明、赋值如下:
假设一个联邦学习系统中有x个参与训练的客户,任选一个客户client:A为恶意客户,且存在一定对自身本地数据复制的能力。联邦学习系统中的训练数据选用cifar-10数据集中的五类数据:“airplane”、“automobile”、“bird”、“cat”、“deer”,整个联邦学习系统的全局数据有200个样本,五类数据各有40个样本,即全局数据分布情况为:1:1:1:1:1。恶意客户A本地数据的初始分布情况为:[“airplane”:16,“automobile”:8,“bird”:10,“cat”:20,“deer”:12],即8:4:5:10:6,用init state表示。恶意客户A的本地梯度用表示。攻击轮数为M=100,每一轮的迭代次数为T=40。
基于上述的设定,一种在联邦学习场景下针对全局数据分布进行攻击的方法的工作流程可分为以下步骤:
攻击前的准备部分:
其中,x为参与训练的客户的训练数据,W为全局模型的参数权重;
步骤2:设计强化学习中的马尔可夫决策过程(MDP)。确定MDP过程包含的三个元素:状态state、动作action、奖励reward;
其中,状态state:恶意客户A本地数据的分布情况。动作action:调整恶意客户A本地数据的分布,即增加恶意客户A本地数据中某类数据的量或者减少某类数据的量,调整的范围为[-5,+5],只能选取-5~+5之间的整数。奖励reward:对恶意客户A的本地梯度和共享梯度间的欧式距离进行向前和向后传播后得出的损失值loss取反;
步骤3:设置强化学习的环境,记作env,即设定共享梯度的监督和引导策略:主要是计算恶意客户A本地梯度计算本地梯度和共享梯度间的欧式距离以及对两者间的距离进行向前和向后传播。在env中,主要定义三个函数:init()、attack_env()和step();
其中,init()函数主要定义以下内容:1、action_int_bound=5:恶意客户A本地数据中每类数据最大的增减值为5。2、min_state=1:恶意客户A本地数据中每类数据最低减少到1个。3、max_state=100:恶意客户A本地数据中每类数据最多复制增加到100个。4、init_state:恶意客户A本地数据的初始分布情况:[“airplane”:16,“automobile”:8,“bird”:10,“cat”:20,“deer”:12],即8:4:5:10:6。attack_env()函数执行如下操作:首先要将恶意客户A的本地数据输入模型F(x;W)中,得出恶意客户A的本地梯度其次计算恶意客户A本地梯度和共享梯度之间的欧式距离,表示为:
之后执行向前和向后传播操作,得出并且输出当前的损失值loss。step()函数执行如下操作:在step()函数中,输入为当前选择的动作action,即选择如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况,之后进行状态转移,得出下一状态next_state,同时调用attack_env()函数得出当前奖励reward,最后输出next_state和reward;
其中,next_state为执行动作action(即调整恶意客户A本地数据的分布情况:恶意客户A本地数据中每类数据的增减情况)后得出的新的恶意客户A本地数据的分布情况;
步骤4:分别构造强化学习中深度确定性策略梯度算法DDPG的策略网络actornetwork:μ(s|θμ)和价值网络critic network:Q(s,α|θQ);
其中,s表示状态state,α表示动作action,θμ和θQ分别为策略网络actor network和价值网络critic network的参数权重;
之后设置强化学习中的经验池ReplayBuffer,经验池ReplayBuffer的最大容量为capacity=10000,同时定义经验池ReplayBuffer里的两个操作:存入数据和取样数据,分别记作push()函数和sample()函数,存入数据采用集中式回放,取样数据采用均匀回放:等概率从经验池ReplayBuffer中取样数据;
步骤5:构造DDPG算法:首先初始化四个网络:当前策略网络μ(s|θμ)、目标策略网络μ′(s|θμ′)、当前价值网络Q(s,α|θQ)、目标价值网络Q′(s,α|θQ′);
其中,s表示状态state,α表示动作action,θμ、θμ′、θQ、θQ′分别为当前策略网络、目标策略网络、当前价值网络和目标价值网络的参数权重,当前策略网络和目标策略网络用步骤4中构造的策略网络actor network初始化,当前价值网络和目标价值网络用步骤4中构造的价值网络critic network初始化;
之后初始化经验池ReplayBuffer,最后定义choose_action()函数和update()函数;其中,choose_action()函数执行如下操作:将当前状态state(即当前恶意客户A本地数据的分布情况),输入到当前策略网络μ(s|θμ)中,输出选择的动作action(即选择如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况)。update()函数执行如下操作:调用经验池ReplayBuffer的取样函数sample(),以及对当前策略网络μ(s|θμ)、目标策略网络μ′(s|θμ′)、当前价值网络Q(s,α|θQ)、目标价值网络Q′(s,α|θQ′)进行更新的操作;
其中,当前策略网络μ(s|θμ)根据最大化累积期望回报来更新θμ,当前价值网络Q(s,α|θQ)通过最小化评估值与目标值之间的误差来更新θQ,目标策略网络μ′(s|θμ′)和目标价值网络Q′(s,α|θQ′)使用软更新方式,分别为下公式:
θμ′=τθμ+(1-τ)θμ′
θQ′=τθQ+(1-τ)θQ′
即引入一个学习率τ=0.005,将旧的目标网络参数和新的当前网络参数做加权平均,然后赋值给目标网络;
在共享梯度的监督和引导下利用强化学习的整体攻击过程如下:
步骤6:使用步骤5构造的DDPG算法初始化强化学习中的智能体agent,之后进入攻击轮数为M的攻击过程;
步骤7:初始化状态init_state,即将恶意客户A本地数据的分布情况变成初始的分布情况。在0~exploration_noise=0.1之间生成正太分布随机噪声;
步骤8:智能体agent调用choose_action()函数:根据当前状态state(即当前恶意客户A本地数据的分布情况)选择要采取的动作action(即选择如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况),为了使探索更强,给所选动作action添加步骤7生成的正太分布随机噪声;
步骤9:之后将所选动作action(即如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况)输入到环境env中,与环境env进行交互(即调用step()函数),得出下一状态next_state和奖励reward;
其中,步骤9表示:根据步骤8选择的动作action对恶意客户A本地数据当前的分布情况进行调整,得出新的恶意客户A本地数据的分布情况(即下一状态next_state),并计算恶意客户A的本地梯度以及计算恶意客户A本地梯度和共享梯度间的欧式距离Distance,执行向前和向后传播操作,得出损失值loss。之后对loss取反,得出奖励reward;
步骤10:将当前迭代的数据存入到经验池ReplayBuffer中;
步骤11:智能体agent调用update()函数:即从经验池ReplayBuffer中取样100个小批量数据,利用取样的数据分别计算当前策略网络μ(s|θμ)的策略梯度policygradient和当前价值网络Q(s,α|θQ)的损失loss,以此来更新当前策略网络μ(s|θμ)和当前价值网络Q(s,α|θQ),之后根据当前策略网络μ(s|θμ)和当前价值网络Q(s,α|θQ)更新目标策略网络μ′(s|θμ′)与目标价值网络Q′(s,α|θQ′);
其中,各个网络的更新策略如步骤5所示;
步骤12:按照给定的每轮迭代次数T和攻击轮数M,分别重复步骤8~步骤11和步骤7~步骤11。
具体工作原理:提供了一种在联邦学习场景下针对全局数据分布进行攻击的方法,它可以仅在共享梯度的监督和引导下,通过深度强化学习算法(DDPG)来调整恶意客户本地数据的分布,最终推测出联邦学习全局数据的分布情况。关键点是仅在共享梯度的监督和引导下,智能体根据奖励的变化情况,不断学习如何选择正确的动作,改变状态,自动制定恶意客户本地数据分布的调整策略,以此来促使恶意客户的本地梯度和共享梯度的欧式距离越来越小,奖励越来越大。一旦恶意客户的本地梯度匹配共享梯度,环境返回的奖励也会达到最大值,此时恶意客户本地数据的分布情况就可以反应出联邦学习全局数据的分布情况。本方案弥补了现有研究中没有如何偷取联邦学习私有训练数据的分布信息这一缺陷,为依赖数据分布作为先验信息的攻击方法提供了解决策略,同时可以在较短时间内精确地还原私有训练数据的分布情况。表1为测试数据。
表1为测试数据
实施例1中的全局数据选用cifar-10数据集中的五类数据:“airplane”、“automobile”、“bird”、“cat”、“deer”,总共有200个样本,五类数据各有40个样本。那么全局数据分布情况为:各类数据均占20%,即1:1:1:1:1。恶意客户本地数据的初始本地数据为:[“airplane”:16,“automobile”:8,“bird”:10,“cat”:20,“deer”:12],即恶意客户本地数据的初始分布情况为:24%、12%、15%、31%、18%。用本发明的攻击方法进行攻击后,我们可以得出攻击结束后恶意客户的本地数据为:[“airplane”:99,“automobile”:94,“bird”:94,“cat”:83,“deer”:90],恶意客户本地数据的分布情况为:22%、20%、20%、18%、20%。由攻击结束后的分布情况可以看出,恶意客户本地数据的分布情况几乎与全局数据的分布情况相同,可以约等于1:1:1:1:1。实施例1的结果说明我们的攻击方法是相当准确和有效的。
实施例2
本方法可以应用到银行系统的联邦学习领域,比如多家银行需要联合训练一个银行客户类别检测的模型,该模型的输入为某银行客户的特征信息,比如:姓名、身份证号,输出为客户类型,比如:在该银行共有20万以下存款的小型客户、在该银行共有20万及20万以上50万以下存款的中型客户等。各家银行的训练数据均为自身客户的特征信息和客户类型。假如参与联合训练的某家银行为恶意银行,它想偷取其它几家银行各类客户的分布情况,进而针对最多占比的客户类型制定优于其它银行的存款利息方案,以此来吸引客户。起始,恶意银行要进行攻击前的准备,恶意银行根据自身客户的特征信息和类型生成自己初始的本地数据分布情况,攻击轮数和每轮的迭代次数分别设置为M和T。联邦学习的中央服务器会发送当前的全局模型F(x;W)给参与训练的各家银行,之后将聚合后的共享梯度也发送给参与训练的各家银行,然后恶意银行会设计强化学习的马尔可夫决策过程(MDP),包含:状态state、动作action、奖励reward三个元素,接着设置强化学习的环境(即设定共享梯度的监督和引导策略)以及构造DDPG算法中的策略网络、价值网络和经验池ReplayBuffer,最后恶意银行构造DDPG算法。
在共享梯度的监督和引导下利用强化学习的攻击过程中,恶意银行用之前构造的DDPG算法初始化强化学习智能体agent,之后恶意银行执行如下操作:1、将当前自身本地数据的分布情况变成初始的分布情况。生成正太分布随机噪声。2、智能体agent根据当前状态state选择动作action,并给所选动作action添加噪声。3、智能体agent与环境进行交互,得出下一状态next_state和奖励reward(即根据选择的动作action对恶意银行本地数据当前的分布情况进行调整,得出新的恶意银行本地数据的分布情况(即下一状态next_state),并计算恶意银行的本地梯度以及计算恶意银行本地梯度和共享梯度间的欧式距离Distance,执行向前和向后传播操作,得出损失值loss。之后对loss取反,得出奖励reward)。4、将当前迭代的数据存入经验池ReplayBuffer。5、从经验池ReplayBuffer中取样小批量数据,利用取样的数据更新DDPG中的各个网络。重复1~5的操作,当迭代次数和攻击轮数完成后,输出恶意银行自身各类客户的分布情况,即联邦学习中其它银行各类客户的分布情况。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明的保护范围,任何熟悉本领域的技术人员在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种在联邦学习场景下针对全局数据分布进行攻击的方法,其特征在于,包括攻击前的准备和在共享梯度的监督和引导下利用强化学习的整体攻击过程;
攻击前的准备是设置攻击时候所需要的各类参数、环境、工具;
共享梯度的监督和引导下利用强化学习的整体攻击过程是在共享梯度的监督和引导下,通过深度强化学习算法来调整恶意客户本地数据的分布,最终推测出联邦学习全局数据的分布情况。
2.根据权利要求1所述的一种在联邦学习场景下针对全局数据分布进行攻击的方法,其特征在于,在共享梯度的监督和引导下,智能体根据奖励的变化情况,不断学习如何选择正确的动作,改变状态,自动制定恶意客户本地数据分布的调整策略,以此来促使恶意客户的本地梯度和共享梯度的欧式距离越来越小,奖励越来越大,一旦恶意客户的本地梯度匹配共享梯度,环境返回的奖励也会达到最大值,此时恶意客户本地数据的分布情况就可以反应出联邦学习全局数据的分布情况。
3.根据权利要求1所述的一种在联邦学习场景下针对全局数据分布进行攻击的方法,其特征在于,攻击前的准备步骤如下,
步骤2:设计强化学习中的马尔可夫决策过程,确定马尔可夫决策过程包含的三个元素:状态state、动作action、奖励reward;
其中,状态state:恶意客户A本地数据的分布情况;动作action:调整恶意客户A本地数据的分布,即增加恶意客户A本地数据中某类数据的量或者减少某类数据的量,调整的范围为[-n,+n],n为正整数;奖励reward:对恶意客户A的本地梯度和共享梯度间的欧式距离进行向前和向后传播后得出的损失值loss取反;
步骤3:设置强化学习的环境,记作env,即设定共享梯度的监督和引导策略:
步骤4:分别构造强化学习中深度确定性策略梯度算法DDPG的策略网络actornetwork:μ(s|θμ)和价值网络critic network:Q(s,α|θQ);
其中,s表示状态state,α表示动作action,θμ和θQ分别为策略网络actor network和价值网络critic network的参数权重;
步骤5:构造DDPG算法:首先初始化四个网络:当前策略网络μ(s|θμ)、目标策略网络μ′(s|θμ′)、当前价值网络Q(s,α|θQ)、目标价值网络Q′(s,α|θQ′);
其中,s表示状态state,α表示动作action,θμ、θμ′、θQ、θQ′分别为当前策略网络、目标策略网络、当前价值网络和目标价值网络的参数权重,当前策略网络和目标策略网络用步骤4中构造的策略网络actor network初始化,当前价值网络和目标价值网络用步骤4中构造的价值网络critic network初始化。
4.根据权利要求3所述的一种在联邦学习场景下针对全局数据分布进行攻击的方法,其特征在于,步骤3中设置强化学习的环境包括计算恶意客户A本地梯度计算本地梯度和共享梯度间的欧式距离以及对两者间的距离进行向前和向后传播;
在env中,定义三个函数:init()、attack_env()和step();
其中,init()函数定义以下内容:
action_int_bound=n:恶意客户A本地数据中每类数据最大的增减值,action_int_bound为正整数;min_state:恶意客户A本地数据中每类数据最低减少到min_state,min_state为正整数;max_state:恶意客户A本地数据中每类数据最多复制增加到max_state,max_state为正整数;init_state:恶意客户A本地数据的初始分布情况;
attack_env()函数执行如下操作:首先要将恶意客户A的本地数据输入到中央服务器下放给参与训练的每个客户的全局模型F(x;W)中,得出恶意客户A的本地梯度其次计算恶意客户A本地梯度和共享梯度之间的欧式距离,表示为:
之后执行向前向后传播操作,得出并且输出当前的损失值loss;
step()函数执行如下操作:在step()函数中,输入为当前选择的动作action,即选择如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况,之后进行状态转移,得出下一状态next_state,同时调用attack_env()函数得出当前奖励reward,最后输出next_state和reward;
其中,next_state为执行动作action,即调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况,之后得出的新的恶意客户A本地数据的分布情况。
5.根据权利要求3所述的一种在联邦学习场景下针对全局数据分布进行攻击的方法,其特征在于,步骤S4中,设置强化学习中的经验池ReplayBuffer,具体步骤如下,
设置强化学习中的经验池ReplayBuffer,经验池ReplayBuffer的最大容量capacity=maxsize,maxsize为正整数,同时定义经验池ReplayBuffer里的两个操作:存入数据和取样数据,分别记作push()函数和sample()函数,存入数据采用集中式回放,取样数据采用均匀回放:等概率从经验池ReplayBuffer中取样数据。
6.根据权利要求3所述的一种在联邦学习场景下针对全局数据分布进行攻击的方法,其特征在于,步骤S5中,初始化经验池ReplayBuffer,之后定义choose_action()函数和update()函数;
其中,choose_action()函数执行如下操作:将当前状态state,即当前恶意客户A本地数据的分布情况,输入到当前策略网络μ(s|θμ)中,输出选择的动作action,即选择如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况;
update()函数执行如下操作:调用经验池ReplayBuffer的取样函数sample(),以及对当前策略网络μ(s|θμ)、目标策略网络μ′(s|θμ′)、当前价值网络Q(s,α|θQ)、目标价值网络Q′(s,α|θQ′)进行更新的操作;
其中,当前策略网络μ(s|θμ)根据最大化累积期望回报来更新θμ,当前价值网络Q(s,α|θQ)通过最小化评估值与目标值之间的误差来更新θQ,目标策略网络μ′(s|θμ′)和目标价值网络Q′(s,α|θQ′)使用软更新方式,分别为下公式:
θμ′=τθμ+(1-τ)θμ′
θQ′=τθQ+(1-τ)θQ′
即引入一个学习率τ,将旧的目标网络参数和新的当前网络参数做加权平均,然后赋值给目标网络。
7.根据权利要求3所述的一种在联邦学习场景下针对全局数据分布进行攻击的方法,其特征在于,在共享梯度的监督和引导下利用强化学习的整体攻击过程如下:
步骤6:使用步骤5构造的DDPG算法初始化强化学习中的智能体agent,之后进入攻击轮数为M的攻击过程;
步骤7:初始化状态init_state,即将恶意客户A本地数据的分布情况变成初始的分布情况,在0~exploration_noise之间生成正太分布随机噪声;
步骤8:智能体agent调用choose_action()函数:根据当前状态state,即当前恶意客户A本地数据的分布情况,选择要采取的动作action,即选择如何调整恶意客户A本地数据的分布、恶意客户A本地数据中每类数据的增减情况,为了使探索更强,给所选动作action添加步骤7生成的正太分布随机噪声;
步骤9:之后将所选动作action输入到环境env中,即如何调整恶意客户A本地数据的分布:恶意客户A本地数据中每类数据的增减情况,与环境env进行交互,得出下一状态next_state和奖励reward;
其中,步骤9表示:根据步骤8选择的动作action对恶意客户A本地数据当前的分布情况进行调整,得出新的恶意客户A本地数据的分布情况,即下一状态next_state,并计算恶意客户A的本地梯度以及计算恶意客户A本地梯度和共享梯度间的欧式距离Distance,执行向前和向后传播操作,得出损失值loss。之后对loss取反,得出奖励reward;
步骤10:将当前迭代的数据存入到经验池ReplayBuffer中;
步骤11:智能体agent调用update()函数:即从经验池ReplayBuffer中取样N个小批量数据,N为正整数,利用取样的数据分别计算当前策略网络μ(s|θμ)的策略梯度policygradient和当前价值网络Q(s,α|θQ)的损失loss,以此来更新当前策略网络μ(s|θμ)和当前价值网络Q(s,α|θQ),之后根据当前策略网络μ(s|θμ)和当前价值网络Q(s,α|θQ)更新目标策略网络μ′(s|θμ′)与目标价值网络Q′(s,α|θQ′);
其中,各个网络的更新策略如步骤5所示;
步骤12:按照给定的每轮迭代次数T和攻击轮数M,分别重复步骤8~步骤11和步骤7~步骤11。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211526827.7A CN116192424A (zh) | 2022-12-01 | 2022-12-01 | 一种在联邦学习场景下针对全局数据分布进行攻击的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211526827.7A CN116192424A (zh) | 2022-12-01 | 2022-12-01 | 一种在联邦学习场景下针对全局数据分布进行攻击的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116192424A true CN116192424A (zh) | 2023-05-30 |
Family
ID=86433393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211526827.7A Pending CN116192424A (zh) | 2022-12-01 | 2022-12-01 | 一种在联邦学习场景下针对全局数据分布进行攻击的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116192424A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972700A (zh) * | 2024-03-29 | 2024-05-03 | 华东交通大学 | 基于深度强化学习的中毒攻击检测与惩罚方法及系统 |
CN118485282A (zh) * | 2024-07-15 | 2024-08-13 | 华北电力大学 | 一种基于鲁棒强化学习的电动汽车充电调度方法及系统 |
-
2022
- 2022-12-01 CN CN202211526827.7A patent/CN116192424A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117972700A (zh) * | 2024-03-29 | 2024-05-03 | 华东交通大学 | 基于深度强化学习的中毒攻击检测与惩罚方法及系统 |
CN118485282A (zh) * | 2024-07-15 | 2024-08-13 | 华北电力大学 | 一种基于鲁棒强化学习的电动汽车充电调度方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966698B (zh) | 一种基于区块链的可信联邦学习方法、系统、装置及介质 | |
CN110460600B (zh) | 可抵御生成对抗网络攻击的联合深度学习方法 | |
CN110647765B (zh) | 协同学习框架下基于知识迁移的隐私保护方法及系统 | |
CN116192424A (zh) | 一种在联邦学习场景下针对全局数据分布进行攻击的方法 | |
CN107566387B (zh) | 基于攻防演化博弈分析的网络防御行动决策方法 | |
CN109859288B (zh) | 基于生成对抗网络的图像上色方法及装置 | |
CN109639710B (zh) | 一种基于对抗训练的网络攻击防御方法 | |
CN110188794A (zh) | 一种深度学习模型的训练方法、装置、设备及存储介质 | |
Gao et al. | Three-Head Neural Network Architecture for Monte Carlo Tree Search. | |
CN112651110B (zh) | 基于多阶段动态博弈的恶性数据注入攻击防御方法 | |
CN112580728B (zh) | 一种基于强化学习的动态链路预测模型鲁棒性增强方法 | |
CN114417427A (zh) | 一种面向深度学习的数据敏感属性脱敏系统及方法 | |
CN110110545A (zh) | 基于位置隐私保护和欺骗者检测的空间众包质量控制模型 | |
CN115481441A (zh) | 面向联邦学习的差分隐私保护方法及装置 | |
CN115293235A (zh) | 建立风险识别模型的方法及对应装置 | |
CN114357526A (zh) | 抵御推断攻击的医疗诊断模型差分隐私联合训练方法 | |
You et al. | Accuracy Degrading: Toward Participation-Fair Federated Learning | |
Turner et al. | Adaptive decision rules for the acquisition of nature reserves | |
CN113850399A (zh) | 一种基于预测置信度序列的联邦学习成员推断方法 | |
CN117195208A (zh) | 一种基于对抗性知识蒸馏的联邦学习后门擦除方法 | |
CN115134114B (zh) | 基于离散混淆自编码器的纵向联邦学习攻击防御方法 | |
Elliott | Nash equilibrium of multiple, non-uniform bitcoin block withholding attackers | |
CN114820160A (zh) | 一种借贷利率预估方法、装置、设备及可读存储介质 | |
CN114866272A (zh) | 群智感知环境下真值发现算法的多轮次数据投毒攻击系统 | |
Everitt et al. | Marginal sequential Monte Carlo for doubly intractable models |
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 |