CN115222057A - 联邦学习梯度攻击防御方法、系统、设备及介质 - Google Patents

联邦学习梯度攻击防御方法、系统、设备及介质 Download PDF

Info

Publication number
CN115222057A
CN115222057A CN202210569676.7A CN202210569676A CN115222057A CN 115222057 A CN115222057 A CN 115222057A CN 202210569676 A CN202210569676 A CN 202210569676A CN 115222057 A CN115222057 A CN 115222057A
Authority
CN
China
Prior art keywords
gradient
mask matrix
local
noise
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
Application number
CN202210569676.7A
Other languages
English (en)
Inventor
李建星
卞文杰
杨和
王子钊
夏晶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN202210569676.7A priority Critical patent/CN115222057A/zh
Publication of CN115222057A publication Critical patent/CN115222057A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种联邦学习梯度攻击防御方法、系统、设备及介质,包括:利用本地数据对模型进行训练,得到本地模型,计算得到本地梯度;获联邦学习的压缩阈值,计算得到梯度掩码矩阵;根据梯度掩码矩阵,对本地梯度进行压缩,得到压缩后的梯度;对更新后的梯度掩码矩阵,添加噪声,得到添加有噪声的梯度掩码矩阵;根据压缩后的梯度和所述添加有噪声的梯度掩码矩阵,得到添加有噪声的梯度;对添加有噪声的梯度,执行聚合算法,得到全局梯度;根据全局梯度,对本地模型进行更新,并开始下一轮模型训练;本发明结合差分隐私技术,利用添加有噪声的梯度能够有效防止梯度攻击;通过全局矩阵,实现对添加的噪声量的控制,有效提高了模型的精度。

Description

联邦学习梯度攻击防御方法、系统、设备及介质
技术领域
本发明属于人工智能技术领域,特别涉及一种联邦学习梯度攻击防御方法、系统、设备及 介质。
背景技术
近年来,深度学习快速发展,被广泛应用于语音识别,计算机视觉,推荐系统等领域;随 着物联网的发展和各种终端设备性能的不断提高,日常生活中会产生海量的数据,解决了数据 短缺问题的同时,数据的隐私安全问题也随之而来;在此背景下,联邦学习应运而生,联邦学 习本质是一种分布式机器学习框架,允许参与各方在不进行训练集数据共享的前提下,实现共 同建模,提升模型效果;为减少带宽对联邦学习训练过程的影响,通常参与者会在上传本地梯 度之前对梯度进行压缩,梯度压缩在减少带宽的同时也能提供一定的隐私保护。
现在的联邦学习算法在梯度压缩后仍然可能被恶意攻击者通过梯度反推出其他参与者的 训练集;目前,大多通过在上传的梯度中添加噪声解决梯度攻击问题,例如:1.对梯度先添加 噪声再进行压缩,这样处理存在的问题是在添加噪声之后梯度值会发生变化,在梯度压缩时容 易压缩掉重要梯度;2.对梯度先进行压缩再添加噪声,这样处理存在的问题是添加噪声时同时 会对压缩过的位置添加,使得梯度压缩失去了效果;因此,上述方法均易导致模型训练精度降 低。
发明内容
针对现有技术中存在的技术问题,本发明提供了一种联邦学习梯度攻击防御方法、系统、 设备及介质,以解决现有通过在训练梯度中添加噪声无法有效防止攻击者从训练梯度中逆推出 训练数据,且易造成模型训练精度降低的技术问题。
为达到上述目的,本发明采用的技术方案为:
本发明公开了一种联邦学习梯度攻击防御方法,方法包括:
利用本地数据对模型进行训练,得到本地模型,并计算得到本地梯度;
获联邦学习的压缩阈值,计算得到梯度掩码矩阵;
根据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯度;
对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵;
对所述更新后的梯度掩码矩阵,添加噪声,得到添加有噪声的梯度掩码矩阵;
根据所述压缩后的梯度和所述添加有噪声的梯度掩码矩阵,得到添加有噪声的梯度;
对所述添加有噪声的梯度,执行聚合算法,得到全局梯度;
根据所述全局梯度,对所述本地模型进行更新,并开始下一轮模型训练。
进一步的,利用本地数据对模型进行训练,得到本地模型的过程,具体如下:
通过参与联邦学习的中央服务器,确定参与联邦学习的客户端数量、设定联邦学习和客户 端本地训练的超参数;
通过参与联邦学习的中央服务器初始化模型,将模型发送至所有参与联邦学习的客户端, 并确定参加当前训练轮次的客户端;
通过所述选中参加当前训练轮次的客户端,利用本地数据对所述模型进行训练,得到本地 模型。
进一步的,获联邦学习的压缩阈值,计算得到梯度掩码矩阵的过程,具体如下:
利用参与联邦学习的客户端,计算联邦学习当前训练轮次的压缩阈值;
根据所述联邦学习当前轮次的压缩阈值,计算得到当前训练轮次的梯度掩码矩阵;
根据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯度的过程,具体如下:
将所述梯度掩码矩阵和所述本地梯度进行矩阵的点乘操作,得到所述压缩后的梯度。
进一步的,对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵的过程,具体如下:
利用参与联邦学习的中央服务器,对所有参与联邦学习的客户端上传的所述梯度掩码矩阵 进行相加,并根据预设梯度掩码矩阵的全局阈值,计算得到全局掩码矩阵;
根据所述全局掩码矩阵,对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵。
进一步的,对所述更新后的梯度掩码矩阵添加噪声,得到添加有噪声的梯度掩码矩阵的过 程中,所述噪声为拉普拉斯噪声或高斯噪声。
进一步的,所述全局梯度为:
Figure BDA0003659726470000031
其中,
Figure BDA0003659726470000032
为全局梯度;
Figure BDA0003659726470000033
为第i个客户端上传的添加有噪声的梯度;N为参与联邦 学习的客户端数量。
进一步的,根据所述全局梯度,对所述本地模型进行更新的过程,具体为:
Figure BDA0003659726470000034
其中,Wt+1为更新后的本地模型;Wt为当前轮次下的本地模型;η为学习率;t为联邦学 习的当前轮次。
本发明还提供了一种联邦学习梯度攻击防御系统,包括:
本地训练模块,用于利用本地数据对模型进行训练,得到本地模型,并计算得到本地梯度;
梯度掩码矩阵模块,用于获联邦学习的压缩阈值,计算得到梯度掩码矩阵;
梯度压缩模块,用于根据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯 度;
梯度掩码矩阵更新模块,用于对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵;
噪声模块,用于对所述更新后的梯度掩码矩阵,添加噪声,得到添加有噪声的梯度掩码矩 阵;根据所述压缩后的梯度和所述添加有噪声的梯度掩码矩阵,得到添加有噪声的梯度;
梯度聚合模块,用于对所述添加有噪声的梯度,执行聚合算法,得到全局梯度;
本地更新模块,用于根据所述全局梯度,对所述本地模型进行更新,并开始下一轮模型训 练。
本发明还提供了一种联邦学习梯度攻击防御设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的联邦学习梯度攻击防御方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序, 所述计算机程序被处理器执行时实现所述的联邦学习梯度攻击防御方法的步骤。
与现有技术相比,本发明的有益效果为:
本发明提供了一种联邦学习梯度攻击防御方法及系统,通过在更新后的梯度掩码矩阵中添 加噪声,结合差分隐私技术,利用添加有噪声的梯度能够有效防止梯度攻击;通过对所述添加 有噪声的梯度执行聚合算法,实现根据预设梯度掩码矩阵的全局阈值,计算得到全局矩阵,实 现对添加的噪声量的控制,有效提高了模型的精度。
附图说明
图1为实施例所述的联邦学习梯度攻击防御方法的流程图;
图2为实施例中所述的联邦学习框架结构图。
具体实施方式
为了使本发明所解决的技术问题,技术方案及有益效果更加清楚明白,以下具体实施例, 对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明, 并不用于限定本发明。
本发明提供了一种联邦学习梯度攻击防御方法,包括以下步骤:
步骤1、利用本地数据对模型进行训练,得到本地模型,并计算得到本地梯度;其中,具 体过程如下:
步骤11、通过参与联邦学习的中央服务器,确定参与联邦学习的客户端数量、设定联邦 学习和客户端本地训练的超参数。
步骤12、通过参与联邦学习的中央服务器初始化模型,将模型发送至所有参与联邦学习 的客户端,并确定参加当前训练轮次的客户端。
步骤13、通过所述选中参加当前训练轮次的客户端,利用本地数据对所述模型进行训练, 得到本地模型,并计算得到本地梯度。
步骤2、获联邦学习的压缩阈值,计算得到梯度掩码矩阵;根据所述梯度掩码矩阵,对所 述本地梯度进行压缩,得到压缩后的梯度;
其中,具体过程如下:
利用参与联邦学习的客户端,计算联邦学习当前轮次的压缩阈值;根据所述联邦学习当前 轮次的压缩阈值,计算得到当前训练轮次的梯度掩码矩阵;
将所述梯度掩码矩阵和所述本地梯度进行矩阵的点乘操作,得到所述压缩后的梯度。
本发明中,采用梯度掩码矩阵和所述本地梯度进行矩阵的点乘操作,实现对本地梯度的压 缩,有效提高对本地梯度的压缩效率;另外,所述压缩后的梯度用于梯度的全局更新。
步骤3、对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵。
其中,更新过程具体为:
利用参与联邦学习的中央服务器,对所有参与联邦学习的客户端上传的所述梯度掩码矩阵 进行相加,并根据预设梯度掩码矩阵的全局阈值,计算得到全局掩码矩阵;根据所述全局掩码 矩阵,对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵。
步骤4、对所述更新后的梯度掩码矩阵添加噪声,得到添加有噪声的梯度掩码矩阵;优选 的,所述噪声为拉普拉斯噪声或高斯噪声。
步骤5、根据所述压缩后的梯度和所述添加有噪声的梯度掩码矩阵,得到添加有噪声的梯 度;其中,所述添加有噪声的梯度为将所述所述压缩后的梯度和所述添加有噪声的梯度掩码矩 阵进行相加得到。
步骤6、对所述添加有噪声的梯度,执行聚合算法,得到全局梯度;其中,所述全局梯度 为:
Figure BDA0003659726470000061
其中,
Figure BDA0003659726470000062
为全局梯度;
Figure BDA0003659726470000063
为第i个客户端上传的添加有噪声的梯度;N为参与联邦 学习的客户端数量。
步骤6、根据所述全局梯度,对所述本地模型进行更新,并开始下一轮模型训练;其中, 更新后的本地模型为:
Figure BDA0003659726470000064
其中,Wt+1为更新后的本地模型;Wt为当前轮次下的本地模型;η为学习率;t为联邦学 习的当前轮次。
本发明还提供了一种联邦学习梯度攻击防御系统,包括本地训练模块、梯度掩码矩阵模块、 梯度压缩模块、梯度掩码矩阵更新模块、噪声模块、梯度聚合模块及本地更新模块;其中,本 地训练模块,用于利用本地数据对模型进行训练,得到本地模型,并计算得到本地梯度;梯度 掩码矩阵模块,用于获联邦学习的压缩阈值,计算得到梯度掩码矩阵;梯度压缩模块,用于根 据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯度;梯度掩码矩阵更新模块, 用于对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵;噪声模块,用于对所述更新 后的梯度掩码矩阵,添加噪声,得到添加有噪声的梯度掩码矩阵;根据所述压缩后的梯度和所 述添加有噪声的梯度掩码矩阵,得到添加有噪声的梯度;梯度聚合模块,用于对所述添加有噪 声的梯度,执行聚合算法,得到全局梯度;本地更新模块,用于根据所述全局梯度,对所述本 地模型进行更新,并开始下一轮模型训练。
本发明还提供了一种联邦学习梯度攻击防御设备,包括:存储器,用于存储计算机程序; 处理器,用于执行所述计算机程序时实现联邦学习梯度攻击防御方法的步骤。
所述处理器执行所述计算机程序时实现上述联邦学习梯度攻击防御方法的步骤,例如:利 用本地数据对模型进行训练,得到本地模型,并计算得到本地梯度;获联邦学习的压缩阈值, 计算得到梯度掩码矩阵;根据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯 度;对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵;对所述更新后的梯度掩码矩 阵,添加噪声,得到添加有噪声的梯度掩码矩阵;根据所述压缩后的梯度和所述添加有噪声的 梯度掩码矩阵,得到添加有噪声的梯度;对所述添加有噪声的梯度,执行聚合算法,得到全局 梯度;根据所述全局梯度,对所述本地模型进行更新,并开始下一轮模型训练。
或者,所述处理器执行所述计算机程序时实现上述系统中各模块的功能,例如:本地训练 模块,用于利用本地数据对模型进行训练,得到本地模型,并计算得到本地梯度;梯度掩码矩 阵模块,用于获联邦学习的压缩阈值,计算得到梯度掩码矩阵;梯度压缩模块,用于根据所述 梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯度;梯度掩码矩阵更新模块,用于 对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵;噪声模块,用于对所述更新后的 梯度掩码矩阵,添加噪声,得到添加有噪声的梯度掩码矩阵;根据所述压缩后的梯度和所述添 加有噪声的梯度掩码矩阵,得到添加有噪声的梯度;梯度聚合模块,用于对所述添加有噪声的 梯度,执行聚合算法,得到全局梯度;本地更新模块,用于根据所述全局梯度,对所述本地模 型进行更新,并开始下一轮模型训练。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/ 单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单 元可以是能够完成预设功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序 在所述联邦学习梯度攻击防御设备中的执行过程。例如,所述计算机程序可以被分割成:本地 训练模块、梯度掩码矩阵模块、梯度压缩模块、梯度掩码矩阵更新模块、噪声模块、梯度聚合 模块及本地更新模块,各模块具体功能如下:本地训练模块,用于利用本地数据对模型进行训 练,得到本地模型,并计算得到本地梯度;梯度掩码矩阵模块,用于获联邦学习的压缩阈值, 计算得到梯度掩码矩阵;梯度压缩模块,用于根据所述梯度掩码矩阵,对所述本地梯度进行压 缩,得到压缩后的梯度;梯度掩码矩阵更新模块,用于对所述梯度掩码矩阵进行更新,得到更 新后的梯度掩码矩阵;噪声模块,用于对所述更新后的梯度掩码矩阵,添加噪声,得到添加有 噪声的梯度掩码矩阵;根据所述压缩后的梯度和所述添加有噪声的梯度掩码矩阵,得到添加有 噪声的梯度;梯度聚合模块,用于对所述添加有噪声的梯度,执行聚合算法,得到全局梯度; 本地更新模块,用于根据所述全局梯度,对所述本地模型进行更新,并开始下一轮模型训练。
所述联邦学习梯度攻击防御设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等 计算设备。所述联邦学习梯度攻击防御设备可包括,但不仅限于处理器、存储器。本领域技术 人员可以理解,上述仅仅是联邦学习梯度攻击防御设备的示例,并不构成对联邦学习梯度攻击 防御设备的限定,可以包括比上述更多的部件,或者组合某些部件,或者不同的部件,例如所 述联邦学习梯度攻击防御设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理 器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路 (ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理 器可以是微处理器或者所述处理器也可以是任何常规的处理器等,所述处理器是所述联邦学习 梯度攻击防御设备的控制中心,利用各种接口和线路连接整个联邦学习梯度攻击防御设备的各 个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所 述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述联邦学习梯 度攻击防御设备的各种功能。
所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至 少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根 据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机 存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡 (SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)、至少一个 磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序, 所述计算机程序被处理器执行时实现所述的一种联邦学习梯度攻击防御方法的步骤。
所述联邦学习梯度攻击防御系统集成的模块/单元如果以软件功能单元的形式实现并作为 独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本发明实现上述联邦学习梯度攻击防御方法中的全部或部分流程,也可 以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介 质中,所述计算机程序在被处理器执行时,可实现上述联邦学习梯度攻击防御方法的步骤。其 中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码 形式、可执行文件或预设中间形式等。
所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记 录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-OnlyMemory,ROM)、 随机存取存储器(RandomAccessMemory,RAM)、电载波信号、电信信号以及软件分发介质 等。
需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实 践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介 质不包括电载波信号和电信信号。
实施例
如附图1-2所示,本实施例提供了一种联邦学习梯度攻击防御方法,具体包括以下步骤:
步骤101、利用参与联邦学习的中央服务器,确定参与联邦学习的客户端数量、设定联邦 学习和客户端本地训练的超参数。
本实施例中,所述参与联邦学习的客户端数量为N;所述联邦学习的超参数包括:联邦 学习的最大学习轮次T以及每个训练轮次参加训练的客户端的比例frac;所述客户端本地训 练的超参数包括本地训练轮数local_epoch、本地训练批大小local_batchsize、梯度压缩率 cr、学习率η及隐私预算ε。
步骤102、通过参与联邦学习的中央服务器初始化模型,并将模型发送至所有参与联邦学 习的客户端;其中,所述模型可以为任何机器学习模型,所述机器学习模型为ResNet模型、 VGG模型、GBDT模型或逻辑回归模型。
步骤103、根据每个训练轮次参加训练的客户端的比例frac,利用参与联邦学习的中央 服务器,确定随机选中参加当前训练轮次的客户端;其中,所述参加当前训练轮次的客户端, 用于当前训练轮次的本地训练。
需要说明的,本实施例中,采用均匀分布选择参加当前训练轮次的客户端,以使所有参与 联邦学习的客户端被选中的概率相同;且未被选中的客户端不参加当前训练轮次的训练。
步骤104、通过所述选中参加当前训练轮次训练的客户端,利用本地数据对模型进行训练, 得到本地模型,并计算得到当前训练轮次的本地梯度。
由于所述选中参加当前训练轮次训练的客户端,使用本地数据对模型进行训练时,本地训 练轮数local_epoch往往大于1;而现有的深度学习框架不支持输出多个本地训练轮数 local_epoch训练之后的梯度;因此,本实施例中,采用记录训练之前的模型参数,使用本 地训练完成后模型参数减去训练之前的模型参数,得到当前训练轮次的本地梯度。
其中,所述当前训练轮次的本地梯度为:
Figure BDA0003659726470000111
其中,
Figure BDA0003659726470000112
为参与当前训练轮次的第n个客户端当前训练轮次的本地梯度。
步骤105、获取联邦学习的压缩阈值,计算得到梯度掩码矩阵;根据所述梯度掩码矩阵, 对所述本地梯度矩阵进行压缩,得到压缩后的梯度;其中,所述梯度掩码矩阵为指示所述压缩 后梯度位置分布的布尔矩阵;具体过程如下:
利用参与联邦学习的客户端,计算联邦学习当前训练轮次的压缩阈值;其中,所述联邦学 习当前训练轮次的压缩阈值为:
Figure BDA0003659726470000113
其中,thr为联邦学习当前训练轮次的压缩阈值;cr为梯度压缩率;
Figure BDA0003659726470000114
为参与当前训练 轮次的第i个客户端当前训练轮次的本地梯度;
Figure BDA0003659726470000115
为参与当前训练轮次的第i个客户端当 前训练轮次的本地梯度拉平后第j个位置的梯度值。
根据所述联邦学习当前轮次的压缩阈值thr,计算得到当前训练轮次第i个客户端的梯度 掩码矩阵Mi;其中,所述参加当前训练轮次第i个客户端的梯度掩码矩阵Mi为:
Figure BDA0003659726470000116
其中,Mi为参加当前训练轮次第i个客户端的梯度掩码矩阵。
本实施例中,当参加当前训练轮次的第i个客户端的第j个梯度大于所述联邦学习当前轮 次的压缩阈值thr时,Mi[j]设为1;若参加当前训练轮次的第i个客户端的第j个梯度小于所 述联邦学习当前轮次的压缩阈值thr时,Mi[j]设为0;其中,Mi[j]为参加当前训练轮次的 第i个客户端的第j个梯度。
根据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯度。
其中,所述压缩后的梯度为:
Figure RE-GDA0003846922300000121
其中,
Figure RE-GDA0003846922300000122
为第i个客户端压缩后的梯度,
Figure RE-GDA0003846922300000123
为第i个客户端的本地梯度;Mi为参加 当前训练轮次第i个客户端的梯度掩码矩阵;⊙为矩阵的点乘操作。
S106、利用参与联邦学习的中央服务器,收集所有参与联邦学习的客户端上传的所述梯度 掩码矩阵,并对所有参与联邦学习的客户端上传的所述梯度掩码矩阵进行相加,并根据预设梯 度掩码矩阵的全局阈值,计算得到全局掩码矩阵;根据所述全局掩码矩阵,对所述梯度掩码矩 阵进行更新,得到更新后的梯度掩码矩阵。
具体过程如下:
所有参与联邦学习的客户端上传所述梯度掩码矩阵{M1,M2,...,Mn};其中,Mn为第n个 参与联邦学习的客户端的梯度掩码矩阵;
利用参与联邦学习的中央服务器,对所有参与联邦学习的客户端上传的所述梯度掩码矩阵 进行相加,并根据预设梯度MG←MG[j]>s掩码矩阵的全局阈值,计算得到全局掩码矩阵;
其中,所述全局掩码矩阵为:
Figure BDA0003659726470000125
MG←MG[j]>s
其中,其中,MG为全局掩码矩阵;Mi为第i个客户端的本地梯度掩码矩阵;n为参与本轮训练的客户端个数;MG[j]为全局掩码矩阵拉平后第j个位置的值。
将所述全局掩码矩阵回传至客户端,客户端根据所述全局掩码矩阵,对所述梯度掩码矩阵 进行更新,得到更新后的梯度掩码矩阵;其中,更新后的梯度掩码矩阵为:
Mi′=Mi∩MG
其中,Mi为第i个客户端的本地梯度掩码矩阵;Mi′为更新后的第i个客户端的本地梯度 掩码矩阵;MG为全局掩码矩阵。
本实施例中,当有超过s个参与者的M[j]位置元素不为0时,M[j]才不为0;当s越大时,模型精度越高,但是保护效果越差;当s变小时,模型精度会降低,相反数据保护效果会提升。
S107、对所述更新后的梯度掩码矩阵添加噪声,得到添加有噪声的梯度掩码矩阵;根据所 述压缩后的梯度和所述添加有噪声的梯度掩码矩阵,得到添加有噪声的梯度。
具体过程如下:
首先,根据如下公式对所述更新后的梯度掩码矩阵,添加噪声:
Mi′[j]=Mi[j]+Y,Mi[j]≠0
Figure RE-GDA0003846922300000131
其中,Δf为敏感度;ε为隐私预算,ε越小,噪声越大,结果可用性越差,隐私保护效果越好;L(·)为拉普拉斯分布,当
Figure RE-GDA0003846922300000132
时,噪声满足(ε,0)-dp;N(·)为高斯分布,对于任意的
Figure RE-GDA0003846922300000133
噪声满足(ε,δ)-dp。
然后,将压缩后的梯度与添加有噪声的梯度掩码矩阵相加,得到添加有噪声的梯度;并将 所述添加有噪声的梯度上传到参与联邦学习的中央服务器。
其中,所述添加有噪声的梯度为:
Figure BDA0003659726470000134
其中,
Figure BDA0003659726470000135
为第i个客户端添加有噪声的梯度;
Figure BDA0003659726470000136
为第i个客户端压缩后的梯度;Mi′ 为更新后的第i个客户端的本地梯度掩码矩阵;
S108、对所述添加有噪声的梯度,执行聚合算法,得到全局梯度。
其中,所述全局梯度为:
Figure BDA0003659726470000141
其中,
Figure BDA0003659726470000142
为全局梯度;
Figure BDA0003659726470000143
为第i个客户端上传的添加有噪声的梯度;N为参与联邦 学习的客户端数量。
具体过程为:
客户端上传本地梯度为
Figure BDA0003659726470000144
其中,
Figure BDA0003659726470000145
为第i个客户端上传的添加 有噪声的梯度;所述参与联邦学习的中央服务器在收到所有客户端上传的添加有噪声的梯度后 使用如下公式计算出全局梯度
Figure BDA0003659726470000146
其他如下:
Figure BDA0003659726470000147
其中,
Figure BDA0003659726470000148
为全局梯度;
Figure BDA0003659726470000149
为第i个客户端上传的添加有噪声的梯度;N为参与联邦 学习的客户端数量。
S109、使用全局梯度,客户端本地更新模型。
客户端本地更新模型,具体过程为:
中央服务器将全局梯度
Figure BDA00036597264700001410
传回给所有客户端,客户端根据如下公式更新的模型:
Figure BDA00036597264700001411
其中,Wt+1为更新后的本地模型;Wt为当前轮次下的本地模型;η为学习率;t为联邦学 习的当前轮次。
S110、判断模型是否收敛或者是否达到最大训练轮次。
S111、若模型已经收敛或者达到联邦学习的最大学习轮次,输出最终的训练模型;若模型 还未收敛或者未达到联邦学习的最大学习轮次,返回S103继续训练。
本实施例所述的联邦学习梯度攻击防御方法,适用于计算机视觉、物联网等多个联邦学习 领域,解决现有联邦学习框架无法防止攻击者从训练梯度中逆推出训练数据的问题;所述方法 能够实现在在保证原始数据不被推理攻击的前提下前提下有效提高模型的精度,相较于其他联 邦学习算法可以再防止梯度攻击的前提下有效提高模型的精度。
本实施例提供的一种联邦学习梯度攻击防御系统、设备及计算机可读存储介质中相关部分 的说明可以参见本实施例所述的一种联邦学习梯度攻击防御方法中对应部分的详细说明,在此 不再赘述。
上述实施例仅仅是能够实现本发明技术方案的实施方式之一,本发明所要求保护的范围并 不仅仅受本实施例的限制,还包括在本发明所公开的技术范围内,任何熟悉本技术领域的技术 人员所容易想到的变化、替换及其他实施方式。

Claims (10)

1.一种联邦学习梯度攻击防御方法,其特征在于,方法包括:
利用本地数据对模型进行训练,得到本地模型,并计算得到本地梯度;
获联邦学习的压缩阈值,计算得到梯度掩码矩阵;
根据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯度;
对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵;
对所述更新后的梯度掩码矩阵,添加噪声,得到添加有噪声的梯度掩码矩阵;
根据所述压缩后的梯度和所述添加有噪声的梯度掩码矩阵,得到添加有噪声的梯度;
对所述添加有噪声的梯度,执行聚合算法,得到全局梯度;
根据所述全局梯度,对所述本地模型进行更新,并开始下一轮模型训练。
2.根据权利要求1所述的一种联邦学习梯度攻击防御方法,其特征在于,利用本地数据对模型进行训练,得到本地模型的过程,具体如下:
通过参与联邦学习的中央服务器,确定参与联邦学习的客户端数量、设定联邦学习和客户端本地训练的超参数;
通过参与联邦学习的中央服务器初始化模型,将模型发送至所有参与联邦学习的客户端,并确定参加当前训练轮次的客户端;
通过所述选中参加当前训练轮次的客户端,利用本地数据对所述模型进行训练,得到本地模型。
3.根据权利要求1所述的一种联邦学习梯度攻击防御方法,其特征在于,获联邦学习的压缩阈值,计算得到梯度掩码矩阵的过程,具体如下:
利用参与联邦学习的客户端,计算联邦学习当前训练轮次的压缩阈值;
根据所述联邦学习当前轮次的压缩阈值,计算得到当前训练轮次的梯度掩码矩阵;
根据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯度的过程,具体如下:
将所述梯度掩码矩阵和所述本地梯度进行矩阵的点乘操作,得到所述压缩后的梯度。
4.根据权利要求1所述的一种联邦学习梯度攻击防御方法,其特征在于,对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵的过程,具体如下:
利用参与联邦学习的中央服务器,对所有参与联邦学习的客户端上传的所述梯度掩码矩阵进行相加,并根据预设梯度掩码矩阵的全局阈值,计算得到全局掩码矩阵;
根据所述全局掩码矩阵,对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵。
5.根据权利要求1所述的一种联邦学习梯度攻击防御方法,其特征在于,对所述更新后的梯度掩码矩阵添加噪声,得到添加有噪声的梯度掩码矩阵的过程中,所述噪声为拉普拉斯噪声或高斯噪声。
6.根据权利要求1所述的一种联邦学习梯度攻击防御方法,其特征在于,所述全局梯度为:
Figure FDA0003659726460000021
其中,
Figure FDA0003659726460000022
为全局梯度;
Figure FDA0003659726460000023
为第i个客户端上传的添加有噪声的梯度;N为参与联邦学习的客户端数量。
7.根据权利要求1所述的一种联邦学习梯度攻击防御方法,其特征在于,根据所述全局梯度,对所述本地模型进行更新的过程,具体为:
Figure FDA0003659726460000024
其中,Wt+1为更新后的本地模型;Wt为当前轮次下的本地模型;η为学习率;t为联邦学习的当前轮次。
8.一种联邦学习梯度攻击防御系统,其特征在于,包括:
本地训练模块,用于利用本地数据对模型进行训练,得到本地模型,并计算得到本地梯度;
梯度掩码矩阵模块,用于获联邦学习的压缩阈值,计算得到梯度掩码矩阵;
梯度压缩模块,用于根据所述梯度掩码矩阵,对所述本地梯度进行压缩,得到压缩后的梯度;
梯度掩码矩阵更新模块,用于对所述梯度掩码矩阵进行更新,得到更新后的梯度掩码矩阵;
噪声模块,用于对所述更新后的梯度掩码矩阵,添加噪声,得到添加有噪声的梯度掩码矩阵;根据所述压缩后的梯度和所述添加有噪声的梯度掩码矩阵,得到添加有噪声的梯度;
梯度聚合模块,用于对所述添加有噪声的梯度,执行聚合算法,得到全局梯度;
本地更新模块,用于根据所述全局梯度,对所述本地模型进行更新,并开始下一轮模型训练。
9.一种联邦学习梯度攻击防御设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1-7任一项所述的联邦学习梯度攻击防御方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的联邦学习梯度攻击防御方法的步骤。
CN202210569676.7A 2022-05-24 2022-05-24 联邦学习梯度攻击防御方法、系统、设备及介质 Pending CN115222057A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210569676.7A CN115222057A (zh) 2022-05-24 2022-05-24 联邦学习梯度攻击防御方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210569676.7A CN115222057A (zh) 2022-05-24 2022-05-24 联邦学习梯度攻击防御方法、系统、设备及介质

Publications (1)

Publication Number Publication Date
CN115222057A true CN115222057A (zh) 2022-10-21

Family

ID=83608061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210569676.7A Pending CN115222057A (zh) 2022-05-24 2022-05-24 联邦学习梯度攻击防御方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN115222057A (zh)

Similar Documents

Publication Publication Date Title
US11941526B2 (en) Methods, electronic devices, and computer-readable media for training, and processing data through, a spiking neuron network
CN113159329B (zh) 模型训练方法、装置、设备及存储介质
CN114741611B (zh) 联邦推荐模型训练方法以及系统
CN112926897A (zh) 基于联邦学习的客户端贡献计算方法和装置
CN112163637B (zh) 基于非平衡数据的图像分类模型训练方法、装置
CN111030861A (zh) 一种边缘计算分布式模型训练方法、终端和网络侧设备
EP4239585A1 (en) Video loop recognition method and apparatus, computer device, and storage medium
CN112288087A (zh) 一种神经网络剪枝方法、装置、电子设备及存储介质
CN115829027A (zh) 一种基于对比学习的联邦学习稀疏训练方法及系统
EP4320556A1 (en) Privacy-aware pruning in machine learning
CN113988310A (zh) 深度学习模型选择方法、装置、计算机设备和介质
CN110717758B (zh) 异常交易识别方法和装置
CN114116707A (zh) 确定联合学习中参与方贡献度的方法及装置
CN114116705A (zh) 联合学习中确定参与方贡献值的方法及装置
CN115222057A (zh) 联邦学习梯度攻击防御方法、系统、设备及介质
Shen et al. Efficient deep structure learning for resource-limited IoT devices
CN115310625A (zh) 一种纵向联邦学习推理攻击防御方法
CN113160942A (zh) 影像数据质量评估方法、装置、终端设备及可读存储介质
CN114116740A (zh) 用于联合学习中确定参与方贡献度的方法及装置
CN116362101A (zh) 基于联合学习的数据处理方法、数据模型生成方法及装置
CN116050557A (zh) 电力负荷预测方法、装置、计算机设备和介质
CN112036461A (zh) 手写数字图像识别方法、装置、设备及计算机存储介质
CN117579215B (zh) 基于标签共享的纵向联邦学习差分隐私保护方法及系统
CN116226779A (zh) 一种联合学习参数聚合方法、装置及系统
CN114519884A (zh) 人脸识别方法、装置、电子设备及计算机可读存储介质

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