掌桥专利:专业的专利平台
掌桥专利
首页

针对梯度压缩联邦学习的数据重建攻击方法、装置及设备

文献发布时间:2023-06-19 18:29:06


针对梯度压缩联邦学习的数据重建攻击方法、装置及设备

技术领域

本申请涉及数据安全与隐私保护技术领域,特别涉及一种针对梯度压缩联邦学习的数据重建攻击方法、装置及设备。

背景技术

联邦学习最近作为一种新的机器学习范式出现,它使得多个客户端能够在中心服务器的协调下协作训练一个全局的神经网络模型,联邦学习中每个客户端不直接交换他们的私有训练数据,而是共享其在本地的训练数据集上产生的梯度用于更新全局模型。联邦学习非常强调用户的数据隐私,这使得它特别适合在隐私敏感场景中开发机器学习模型,如口语理解、医学研究、金融服务等。

联邦学习的训练过程如下。中心服务器首先向每个参与训练的客户端发送一个全局的神经网络模型。客户端在使用本地数据进行训练后,需要将其产生的梯度发送给服务器。然后,服务器聚合每个参与者发送的梯度,并将聚合后的梯度发送回给每个用户。最后,每个客户端使用聚合后的梯度更新自己的本地模型。

然而,最近的研究表明,梯度共享并不像预期的那样安全,共享的梯度依然会泄露用户的隐私信息。

联邦学习中的隐私泄露研究起源于成员推理攻击,即恶意攻击者可以推断出用户的训练集中是否包含特定的数据样本。此外,研究人员已经发现,梯度可以用来进一步推断用户训练集的某些输入属性,例如训练数据中的人是否戴眼镜。进一步的研究发现,通过生成式建模可以恢复类级别的数据代表(即私有训练集的原型样本)。深度梯度泄露(DeepLeakage from Gradients,DLG)展示了一种更严重的隐私威胁,攻击者可以通过梯度下降法迭代优化模型输入及其标签,使其在模型上产生的梯度能够更好地匹配原始训练数据产生的梯度(即两个梯度之间的“距离”尽可能小),最终可以完全恢复用户的私有训练数据样本。之后的一些研究工作主要包括改进数据标签恢复方法、改进梯度匹配损失(由欧式距离改为余弦相似度)、使用先验知识及正则化项(例如全变分、生成对抗网络等)等。

相关技术中SignSGD梯度量化方法将客户端间传输的梯度由32比特全精度浮点数量化至只保留符号的1比特,可将通信开销减少至原来的三十二分之一。同时,SignSGD梯度量化方法降低了共享梯度的精度,从而减少了梯度引起的隐私泄露,可作为一种针对梯度泄露的防御手段。针对梯度泄露的数据重建攻击方法主要是从全精度梯度中重建原始的训练数据,其采用的梯度匹配损失主要为欧式距离或余弦相似度。

然而,如果直接采用现有的两种梯度匹配损失从1比特SignSGD量化后的梯度中重建原始数据,则会因为其过度拟合量化误差而攻击失败,如附图2所示。

发明内容

本申请提供一种针对梯度压缩联邦学习的数据重建攻击方法、装置及设备,以避免对量化过程中产生的误差进行拟合的问题,实现更好的数据重建效果。

本申请第一方面实施例提供一种针对梯度压缩联邦学习的数据重建攻击方法,包括以下步骤:读取目标训练图片,并通过预设的神经网络对所述目标训练图片进行前向运算,得到所述目标训练图片在所述预设的神经网络上产生的第一梯度,并对所述第一梯度按照预设比特进行量化,得到卷积层压缩梯度;从所述预设的神经网络的最后一个全连接层的压缩梯度中恢复出所述目标训练图片的标签,并以标准正态分布初始化重建数据,且计算所述重建数据在所述预设的神经网络上产生的第二梯度;以及计算所述卷积层压缩梯度与所述卷积层第二梯度之间的梯度匹配损失和重建数据的图像先验全变分损失,并根据所述梯度匹配损失和所述图像先验全变分损失,利用预设的梯度下降算法对所述重建数据进行迭代处理,直至达到预设迭代次数,得到原始训练图片。

可选地,在一些实施例中,所述从所述预设的神经网络的最后一个全连接层的压缩梯度中恢复出所述目标训练图片的标签,包括:基于预设的标签计算公式,从所述预设的神经网络的最后一个全连接层的压缩梯度中恢复出所述目标训练图片的标签,其中,所述预设的标签计算公式为:

当神经网络中采用的是非负激活函数(例如ReLU和Sigmoid)时,以上计算过程可简化为:

其中,y′为重建出的标签,

可选地,在一些实施例中,所述梯度匹配损失为:

其中,L

可选地,在一些实施例中,所述图像先验全变分损失

TV(x′)=∑

其中,TV(x′)为图像先验全变分损失。

可选地,在一些实施例中,所述预设的梯度下降算法为:

其中,x′为重建出的图片,η重建数据迭代过程中使用的学习率,L为用于重建训练数据采用的损失函数。

本申请第二方面实施例提供一种针对梯度压缩联邦学习的数据重建攻击装置,包括:读取模块,用于读取目标训练图片,并通过预设的神经网络对所述目标训练图片进行前向运算,得到所述目标训练图片在所述预设的神经网络上产生的第一梯度,并对所述第一梯度按照预设比特进行量化,得到卷积层压缩梯度;重建模块,用于从所述预设的神经网络的最后一个全连接层的压缩梯度中恢复出所述目标训练图片的标签,并以标准正态分布初始化重建数据,且计算所述重建数据在所述预设的神经网络上产生的第二梯度;以及迭代模块,用于计算所述卷积层压缩梯度与所述卷积层第二梯度之间的梯度匹配损失和重建数据的图像先验全变分损失,并根据所述梯度匹配损失和所述图像先验全变分损失,利用预设的梯度下降算法对所述重建数据进行迭代处理,直至达到预设迭代次数,得到原始训练图片。

可选地,在一些实施例中,所述重建模块,还用于:

基于预设的标签计算公式,从所述预设的神经网络的最后一个全连接层的压缩梯度中恢复出所述目标训练图片的标签,其中,所述预设的标签计算公式为:

当神经网络中采用的是非负激活函数(例如ReLU和Sigmoid)时,以上计算过程可简化为:

其中,y′为重建出的标签,

可选地,在一些实施例中,所述梯度匹配损失为:

其中,L

可选地,在一些实施例中,所述图像先验全变分损失

TV(x′)=∑

其中,TV(x′)为图像先验全变分损失。

可选地,在一些实施例中,所述预设的梯度下降算法为:

其中,x′为重建出的图片,η为重建数据迭代过程中使用的学习率,L为用于重建训练数据采用的损失函数。

本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的针对梯度压缩联邦学习的数据重建攻击方法。

本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的针对梯度压缩联邦学习的数据重建攻击方法。

由此,本申请避免了对1比特梯度量化误差的拟合的问题,即当原始训练图片的压缩梯度与重建数据的梯度符号相同,且重建数据的梯度绝对值大于一个正控制参数β时不产生损失。在梯度匹配损失计算过程中只考虑卷积层的梯度,并且结合了图像先验全变分损失,在仅有训练数据产生的量化梯度及神经网络模型权值的情况下,采用梯度下降法迭代恢复出原始的训练数据。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本申请实施例提供的针对梯度压缩联邦学习的数据重建攻击方法的流程图;

图2为根据本申请一个具体实施例提供的在LeNet网络MNIST(Mixed NationalInstitute of Standards and Technology databas,手写数字数据库)验证集上采用不同梯度匹配损失时对压缩梯度的数据重建攻击效果图及峰值信噪比;

图3为根据本申请一个具体实施例提供的符号损失、只拟合卷积层梯度、全变分损失对数据重建攻击效果的影响及PSNR(Peak Signal to Noise Ratio,峰值信噪比);

图4为根据本申请一个具体实施例提供的针对梯度压缩联邦学习的数据重建攻击方法的流程图;

图5为根据本申请实施例提供的针对梯度压缩联邦学习的数据重建攻击装置的方框示意图;

图6为根据本申请实施例提供的电子设备的示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

下面参考附图描述本申请实施例的针对梯度压缩联邦学习的数据重建攻击方法、装置、电子设备及存储介质。针对上述背景技术中提到的量化过程中产生的误差进行拟合的问题,本申请提供了一种针对梯度压缩联邦学习的数据重建攻击方法,在该方法中,通过读取目标训练图片,并通过预设的神经网络对目标训练图片进行前向运算,得到目标训练图片在预设的神经网络上产生的第一梯度,并对第一梯度按照预设比特进行量化,得到卷积层压缩梯度,并从预设的神经网络的最后一个全连接层的压缩梯度中恢复出目标训练图片的标签,并以标准正态分布初始化重建数据,且计算重建数据在预设的神经网络上产生的第二梯度,并计算卷积层压缩梯度与卷积层第二梯度之间的梯度匹配损失和重建数据的图像先验全变分损失,并根据梯度匹配损失和图像先验全变分损失,利用预设的梯度下降算法对重建数据进行迭代处理,直至达到预设迭代次数,得到原始训练图片。由此,避免对量化过程中产生的误差进行拟合的问题,实现更好的数据重建效果。

具体而言,图1为本申请实施例所提供的一种针对梯度压缩联邦学习的数据重建攻击方法的流程示意图。

如图1所示,该针对梯度压缩联邦学习的数据重建攻击方法,包括以下步骤:

在步骤S101中,读取目标训练图片,并通过预设的神经网络对目标训练图片进行前向运算,得到目标训练图片在预设的神经网络上产生的第一梯度,并对第一梯度按照预设比特进行量化,得到卷积层压缩梯度。

具体地,读入一张标签为y的训练图片x,并在模型参数为W的神经网络中进行前向运算F(x;W)并计算损失,计算训练图片在神经网络上产生的梯度

在步骤S102中,从预设的神经网络的最后一个全连接层的压缩梯度中恢复出目标训练图片的标签,并以标准正态分布初始化重建数据,且计算重建数据在预设的神经网络上产生的第二梯度。

具体地,本申请实施例从最后一个全连接层的压缩梯度中恢复出原始训练图片的标签y′,计算过程如下:

对于神经网络的最后一个全连接层(假设为第L层),将第L层权重中连接到第i个输出的压缩梯度向量记为

当神经网络中采用的是非负激活函数(例如ReLU和Sigmoid)时,以上计算过程可简化为求标签

然后,初始化重建数据,并计算重建数据在神经网络上产生的梯度。

具体地,本申请实施例以标准正态分布初始化重建数据(尺寸与训练图片相同)x′=randn(),并计算重建数据在神经网络上产生的梯度

在步骤S103中,计算卷积层压缩梯度与卷积层第二梯度之间的梯度匹配损失和重建数据的图像先验全变分损失,并根据梯度匹配损失和图像先验全变分损失,利用预设的梯度下降算法对重建数据进行迭代处理,直至达到预设迭代次数,得到原始训练图片。

具体地,计算原始数据卷积层的量化梯度与重建数据卷积层产生的梯度之间的损失

并根据计算出的两个梯度之间的损失L,采用梯度下降算法对重建数据进行多次迭代,恢复出原始训练数据,每次迭代的计算过程为

由此,本申请实施例通过提供一种针对梯度压缩联邦学习的数据重建攻击方法,避免了对1比特梯度量化误差的拟合,即当原始训练图片的压缩梯度与重建数据的梯度符号相同,且重建数据的梯度绝对值大于一个正控制参数β时不产生损失。在梯度匹配损失计算过程中只考虑卷积层的梯度,并且结合了图像先验全变分损失,在仅有训练数据产生的量化梯度及神经网络模型权值的情况下,采用梯度下降法迭代恢复出原始的训练数据。

附图2中对比了采用不同梯度匹配损失对压缩梯度的数据重建效果,实验结果表明本方案采用符号损失的数据重建效果明显好于采用欧式距离或余弦相似度。

进一步地,在符号损失中,经实验发现神经网络各层的压缩梯度对数据重建效果的贡献不同,本申请实施例中只计算卷积层梯度产生的符号损失时效果更好。附图3中对比了采用符号损失作为梯度匹配损失,计算所有梯度的符号损失和只计算卷积层梯度的符号损失时的数据重建效果。

由此,附图2比较了本申请实施例的符号损失与欧式距离、余弦相似度作为梯度匹配损失时对压缩梯度的数据重建效果,证明了符号损失的有效性。附图3通过消融实验证明了本申请实施例提出的两种优化方法(符号损失、只计算卷积层梯度的损失)的有效性。

为使得本领域技术人员进一步了解本申请实施例的针对梯度压缩联邦学习的数据重建攻击方法,下面结合具体实施例进行详细阐述。

如图4所示,图4为根据本申请实施例提出的针对梯度压缩联邦学习的数据重建攻击方法的流程图。

第一步计算原始训练图片的量化梯度,

第二步从量化梯度中恢复出原始训练图片的标签,

第三步初始化重建数据并计算其梯度,

第四步计算重建图片的梯度与原始训练图片的量化梯度之间的梯度匹配损失和重建图片的全变分损失,

第五步根据第四步计算出的损失采用梯度下降法对重建数据进行多次迭代,最终恢复出原始训练图片。

根据本申请实施例提出的针对梯度压缩联邦学习的数据重建攻击方法,通过读取目标训练图片,并通过预设的神经网络对目标训练图片进行前向运算,得到目标训练图片在预设的神经网络上产生的第一梯度,并对第一梯度按照预设比特进行量化,得到压缩梯度,并从预设的神经网络的最后一个全连接层的压缩梯度中恢复出目标训练图片的标签,并以标准正态分布初始化重建数据,且计算重建数据在预设的神经网络上产生的第二梯度,并计算卷积层压缩梯度与卷积层第二梯度之间的梯度匹配损失和图像先验全变分损失,并根据梯度匹配损失和图像先验全变分损失,利用预设的梯度下降算法对重建数据进行迭代处理,直至达到预设迭代次数,得到原始训练图片。由此,避免对量化过程中产生的误差进行拟合的问题,实现更好的数据重建效果。

其次参照附图描述根据本申请实施例提出的针对梯度压缩联邦学习的数据重建攻击装置。

图5是本申请实施例的针对梯度压缩联邦学习的数据重建攻击装置的方框示意图。

如图5所示,该针对梯度压缩联邦学习的数据重建攻击装置10包括:读取模块100、重建模块200和迭代模块300。

读取模块100,用于读取目标训练图片,并通过预设的神经网络对所述目标训练图片进行前向运算,得到所述目标训练图片在所述预设的神经网络上产生的第一梯度,并对所述第一梯度按照预设比特进行量化,得到卷积层压缩梯度;重建模块200,用于从所述预设的神经网络的最后一个全连接层的压缩梯度中恢复出所述目标训练图片的标签,并以标准正态分布初始化重建数据,且计算所述重建数据在所述预设的神经网络上产生的第二梯度;以及迭代模块300,用于计算所述卷积层压缩梯度与所述卷积层第二梯度之间的梯度匹配损失和重建数据的图像先验全变分损失,并根据所述梯度匹配损失和所述图像先验全变分损失,利用预设的梯度下降算法对所述重建数据进行迭代处理,直至达到预设迭代次数,得到原始训练图片。

可选地,在一些实施例中,所述重建模块200,还用于:

基于预设的标签计算公式,从所述预设的神经网络的最后一个全连接层的压缩梯度中恢复出所述目标训练图片的标签,其中,所述预设的标签计算公式为:

当神经网络中采用的是非负激活函数(例如ReLU和Sigmoid)时,以上计算过程可简化为:

其中,y′为重建出的标签,

可选地,在一些实施例中,所述梯度匹配损失为:

其中,L

可选地,在一些实施例中,所述图像先验全变分损失

TV(x′)=∑

其中,TV(x′)为图像先验全变分损失。

可选地,在一些实施例中,所述预设的梯度下降算法为:

其中,x′为重建出的图片,η重建数据迭代过程中使用的学习率,L为用于重建训练数据采用的损失函数。

需要说明的是,前述对针对梯度压缩联邦学习的数据重建攻击方法实施例的解释说明也适用于该实施例的针对梯度压缩联邦学习的数据重建攻击装置,此处不再赘述。

根据本申请实施例提出的针对梯度压缩联邦学习的数据重建攻击装置,通过读取目标训练图片,并通过预设的神经网络对目标训练图片进行前向运算,得到目标训练图片在预设的神经网络上产生的第一梯度,并对第一梯度按照预设比特进行量化,得到压缩梯度,并从预设的神经网络的最后一个全连接层的压缩梯度中恢复出目标训练图片的标签,并以标准正态分布初始化重建数据,且计算重建数据在预设的神经网络上产生的第二梯度,并计算卷积层压缩梯度与卷积层第二梯度之间的梯度匹配损失和重建数据的图像先验全变分损失,并根据梯度匹配损失和图像先验全变分损失,利用预设的梯度下降算法对重建数据进行迭代处理,直至达到预设迭代次数,得到原始训练图片。由此,避免对量化过程中产生的误差进行拟合的问题,实现更好的数据重建效果。

图6为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:

存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序。

处理器602执行程序时实现上述实施例中提供的针对梯度压缩联邦学习的数据重建攻击方法。

进一步地,电子设备还包括:

通信接口603,用于存储器601和处理器602之间的通信。

存储器601,用于存放可在处理器602上运行的计算机程序。

存储器601可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。

如果存储器601、处理器602和通信接口603独立实现,则通信接口603、存储器601和处理器602可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器601、处理器602及通信接口603,集成在一块芯片上实现,则存储器601、处理器602及通信接口603可以通过内部接口完成相互间的通信。

处理器602可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本申请实施例的一个或多个集成电路。

本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的针对梯度压缩联邦学习的数据重建攻击方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 干燥压缩气体的装置和方法、设置有此装置的压缩机设备
  • 针对联邦学习神经元梯度攻击的防御方法
  • 一种面向深度联邦学习的用户数据重建攻击方法
技术分类

06120115580399