一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于主任务神经元的深度学习模型祛毒加固方法

2023-01-15 07:35:04 来源:中国专利 TAG:


1.本发明属于面向深度学习模型的安全问题领域,具体涉及一种基于主任务神经元的深度 学习模型祛毒加固方法。


背景技术:

2.目前对于中毒攻击的防御方法可以根据作用阶段分为:数据及特征修改、模型修改、输 出防御三类。数据及特征修改主要是指在数据层面进行修改,从而达到防御效果。模型修改 是指对模型参数进行修改从而实现防御效果。输出防御是指通过对模型的输出结果进行分析, 从而实现防御的效果。
3.因此,当我们拿到一个模型,需要将其部署在实用场景之前,我们需要对其进行基于主 任务神经元的深度学习模型祛毒加固操作。具体来说,针对一个模型,我们拿同属于一类的 多张干净样本输入到模型中,寻找全连接层输出的top-k的神经元,这些神经元就是此类的 主任务神经元。我们发现,不同种类的图片对应不同的主任务神经元,并且彼此之间的主任 务神经元会有高度重叠的现象。在不同种类上,主任务神经元的差异很小。中毒任务也有其 中毒任务神经元。这些神经元都是极其重要的神经元,当删去这些神经元的时候,会对其任 务造成较大的影响。中毒攻击会使得模型的某些神经元激活值增大,造成模型不同种类的主 任务神经元差异变大。根据此特性,我们可以先找到各类主任务神经元的差异部分。并进行 精细操作删除神经元,进而达到祛毒效果。
4.在我们拿到各个种类的神经元后,去除掉各个种类中共有的部分,留下差异的部分。将 这些差异的部分分为k组。然后对每一组内的神经元进行如下操作:将其权值置为零。看神 经元删除前后,模型在此类的预测成功率和预测值变化程度。以此为根据,来决定此组内的 神经元是否删除。


技术实现要素:

5.目前,深度学习模型的中毒与防御是一个持续博弈的境况。对于中毒攻击的防御方法可 以根据作用阶段分为:数据及特征修改、模型修改、输出防御三类。为了提高模型应对中毒 攻击的鲁棒性,我们对模型中对主任务分类激活的神经元上做加固。提出了一种基于主任务 神经元的深度学习模型祛毒加固方法。
6.本发明的技术方案如下:本发明实施例的第一方面提供了一种基于主任务神经元的深度 学习模型祛毒加固方法,所述方法包括以下步骤:
7.s1,选取图像数据集,选择深度学习网络,利用中毒攻击方法对图像数据集中的部分干净样 本打上触发器生成中毒样本,基于中毒样本训练得到中毒模型;
8.s2,将步骤s1选取的图像数据集输入至训练得到的中毒模型中,计算图像数据集中每一类图 片对应的神经元的激活值,对所有神经元的激活值进行排序,自定义排序阈值n,取前n个 的神经元作为高激活值的神经元;对于每一类中对应的所有图片对应的高激活值的神经元取 重叠部分,作为该类的主任务神经元;统计出图像数据集中每一类的主任务
神经元。
9.s3,将各个类主任务神经元的差异部分划分为k组,依次取k组中的一组,将该组内的神经 元对应的权重置为0,即在中毒模型中删除改组内的神经元,将该组对应的图像数据集中图 片类输入至中毒模型中,在删除该组内的神经元前后,分别计算中毒模型的性能;依据中毒 模型前后的预测准确率和置信度,判定改组神经元是否为待删除的神经元;重复上述步骤, 遍历k个组,得到待删除的神经元集合;
10.s4,在中毒模型中删除步骤s3得到的待删除的神经元集合,并对中毒模型进行重训练得到 祛毒加固的深度学习模型,用于图像分类任务。
11.本发明实施例的第一方面提供了一种电子设备,包括存储器和处理器,所述存储器与所 述处理器耦接;其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以 实现上述的基于主任务神经元的深度学习模型祛毒加固方法。
12.本发明实施例的第二方面提供了一种计算机可读存储介质,其上存储有计算机程序,所 述程序被处理器执行时实现上述的基于主任务神经元的深度学习模型祛毒加固方法。
13.本发明的有益效果主要表现在:
14.本发明提出了一种基于主任务神经元的深度学习模型祛毒加固方法,先找到各个种类的 神经元后,去除掉各个种类中共有的部分,留下差异的部分,得到各类主任务神经元的差异 部分。将这些差异的部分分为k组。将其权值置为零,即在中毒模型中删除该组神经元,计 算中毒模型在此类的预测成功率和预测值变化程度。以此为根据,来决定此组内的神经元是 否删除。进而达到祛毒效果。在真实深度学习模型上的实验结果表明,本发明方法具有良好 的适用性,能够有效的防御中毒攻击,并且不影响模型正常样本的正确率。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附 图获得其他附图。
16.图1是本发明的实施例中基于主任务神经元的深度学习模型祛毒加固方法框图。
17.图2是本发明的实施例提出的一种电子设备的示意图。
具体实施方式
18.下面结合说明书附图对本发明的具体实施方式作进一步详细描述。
19.本发明的技术构思为:基于现有的中毒防御方法没有完全考虑到训练的时间成本以及模 型的鲁棒性。我们首先提出一种基于主任务神经元的深度学习模型祛毒加固方法。我们利用 中毒攻击会提高模型不同类的的主任务神经元之间的差异。通过对主任务神经元的差异部分 进行删减,从而同时达到提高模型的鲁棒性与祛毒的效果。
20.参照图1~图2,本发明实施例提出了一种基于主任务神经元的深度学习模型祛毒加固方 法,所述方法具体步骤如下:
21.s1,准备图像数据集,选择深度学习网络,利用中毒攻击方法对图像数据集中的部
分干 净样本打上触发器生成中毒样本,基于中毒样本训练得到中毒模型。
22.所述图像数据集选自mnist、cifar10、imagenet、gtsrb、casia等图像数据集。所 述中毒攻击方法选自badnets、poisonfrog、trojannn、feature collision attack。所述深度学 习网络选自lenet、alexnet、vgg11、resnet34。
23.s2,主任务神经元,并取出差异部分:将步骤s1选取的图像数据集输入至训练得到的中 毒模型中,计算图像数据集中每一类图片对应的神经元的激活值,对所有神经元的激活值进 行排序,自定义排序阈值n,取前n个的神经元作为高激活值的神经元。
24.将图像数据集中的所有图片输入中毒模型后,每张图片都有其对应的高激活值的神经元。 对于每一类中对应的所有图片对应的高激活值的神经元取重叠部分,作为该类的主任务神经 元。使用以上方法,统计出图像数据集中每一类的主任务神经元。
25.将图像数据集中各个类的主任务神经元进行比较,去除掉每个类共有的主任务神经元部 分,剩下的就是各个类主任务神经元的差异部分。
26.s3,基于主任务神经元的差异部分进行祛毒:
27.在祛毒的过程中,我们要保证除去我们要操作的这部分神经元外,其余神经元的参数不 变。保证模型的性能改变不受其他因素影响。
28.s301,将步骤s2中得到的各个类主任务神经元的差异部分分为k组,k为自定义设置 的组数。
29.s302,依次取k组中的一组,将该组内的神经元对应的权重置为0(即在中毒模型中删 除改组内的神经元),将该组对应的图像数据集中图片类输入至中毒模型中,在删除该组内的 神经元前后,对中毒模型的性能进行计算,公式如下:
30.tc(x)=acc
aft-acc
pre
[0031][0032]
其中,x表示该组对应的图像数据集中图片类对应的测试图片样本。n表示x中所含的 样本数量。tc(x)表示中毒模型删除神经元前后,中毒模型预测样本群x的准确度的变化。 acc
pre
表示删除神经元前中毒模型的准确度,acc
aft
表示删除神经元后中毒模型的准确度。x 表示分组内样本的标签,即图像数据集中对应的图片类。aft(x)表示中毒模型在删除神经元后, 模型对样本预测的属于类别x的置信度。pre(x)表示中毒模型在删除神经元前,中毒模型对样 本预测的属于类别x的置信度。
[0033]
删除此组神经元前后,若中毒模型的性能下降小于5%,则再查看中毒模型对样本预测 的属于类别x的置信度平均变化(即cc函数值)。若置信度平均下降不超过25%,则将此组 神经元加入待删除的神经元集合中。否则,则取下一组神经元做以上操作。重复上述步骤, 遍历k个组,得到待删除的神经元集合。
[0034]
s4,祛毒:在中毒模型中将步骤302得到的待删除的神经元集合中的神经元删去,对中 毒模型再次重训练得到祛毒加固的深度学习模型。
[0035]
具体地,使用基于交叉熵损失函数对中毒模型进行重训练。计算损失函数的梯度并反向 传播,根据梯度更新中毒模型内的参数。直到交叉熵损失函数趋于收敛,最终得到干净的祛 毒加固的深度学习模型。其中,重训练的损失函数采用如下交叉熵损失函数loss:
[0036][0037]
其中,m是图像类别的数量;y
ic
为符号函数,如果样本i的真实类别等于c取1,否则 取0;p
ic
表示样本i属于类别c的预测概率,n表示样本数量。
[0038]
实施例1:
[0039]
s1,在本实例中,以mnist数据集为例,所述mnist数据集为一个图片大小为28*28 的10分类的灰度图图片数据集。选择lenet深度学习网络为例,lenet深度学习网络结构主 要由两个卷积层,三个全连接层组成。以badnets中毒方法为例。
[0040]
具体地,以在mnist数据集上badnets中毒为例,对图像数据集中label是“0”的10% 的干净样本打上直角型触发器生成中毒样本,打了直角型触发器的样本即为中毒样本,再把label改为“1”添加到训练数据集中去,然后开始训练深度学习网络,训练得到中毒模型m。 本发明实施例训练的中毒模型m在测试集上干净样本的准确率为98.37%,在测试集上中毒 样本的准确率为100%。
[0041]
s2,主任务神经元,并取出差异部分:将步骤s1选取的图像数据集输入至训练得到的中 毒模型中,计算图像数据集中每一类图片对应的神经元的激活值,对所有神经元的激活值进 行排序,自定义排序阈值为5,取前5个的神经元作为高激活值的神经元。
[0042]
将图像数据集中的所有图片输入中毒模型后,每张图片都有其对应的高激活值的神经元。 对于每一类中对应的所有图片对应的高激活值的神经元取重叠部分,作为该类的主任务神经 元。使用以上方法,统计出图像数据集中每一类的主任务神经元。
[0043]
将图像数据集中各个类的主任务神经元进行比较,去除掉每个类共有的主任务神经元部 分,剩下的就是各个类主任务神经元的差异部分。
[0044]
具体地,以在mnist数据集使用badnet中毒的lenet模型为例,我们在中毒模型上做了 以上操作。选出了各类的主神经元的差异部分。
[0045]
s3,基于主任务神经元的差异部分进行祛毒:
[0046]
在祛毒的过程中,我们要保证除去我们要操作的这部分神经元外,其余神经元的参数不 变。保证模型的性能改变不受其他因素影响。
[0047]
s301,将步骤s2中得到的各个类主任务神经元的差异部分分为k组,k为自定义设置 的组数。
[0048]
s302,依次取k组中的一组,将该组内的神经元对应的权重置为0(即在中毒模型中删 除改组内的神经元),将该组对应的图像数据集中图片类输入至中毒模型中,在删除该组内的 神经元前后,对中毒模型的性能进行计算,公式如下:
[0049]
tc(x)=acc
aft-acc
pre
[0050][0051]
其中,x表示该组对应的图像数据集中图片类对应的测试图片样本。n表示x中所含的 样本数量。tc(x)表示中毒模型删除神经元前后,中毒模型预测样本群x的准确度的变化。 acc
pre
表示删除神经元前中毒模型的准确度,acc
aft
表示删除神经元后中毒模型的准确度。x 表示分组内样本的标签,即图像数据集中对应的图片类。aft(x)表示中毒模型在删除
神经元后, 模型对样本预测的属于类别x的置信度。pre(x)表示中毒模型在删除神经元前,中毒模型对样 本预测的属于类别x的置信度。
[0052]
删除此组神经元前后,若性能下降小于5%,则再查看模型对样本预测的属于类别x的 置信度平均变化(即cc函数值)。若置信度平均下降不超过25%,则将此组神经元加入待删 除的神经元集合中。否则,则取下一组神经元做以上操作。
[0053]
具体的,以在mnist数据集使用badnet中毒的lenet模型为例,对类别0,我们选取了 4个神经元作为其主任务神经元的差异部分。我们选取k=2。并使用以上操作选取了2个待 删除的神经元。
[0054]
s4,祛毒:在中毒模型中将步骤302中的待删除的神经元集合中的神经元删去,对中毒 模型再次重训练得到祛毒加固的深度学习模型。
[0055]
具体地,使用基于交叉熵损失函数对中毒模型进行重训练。计算损失函数的梯度并反向 传播,根据梯度更新中毒模型内的参数。直到交叉熵损失函数趋于收敛,最终得到干净的祛 毒加固的深度学习模型。其中,重训练的损失函数采用如下交叉熵损失函数loss:
[0056][0057]
其中,m是图像类别的数量;y
ic
为符号函数,如果样本i的真实类别等于c取1,否则 取0;p
ic
表示样本i属于类别c的预测概率,n表示样本数量。
[0058]
具体的,我们在mnist上使用badnets中毒的lenet模型,经过以上操作后,其在测试 集上干净样本的准确率为98.53%,在测试集上中毒样本的准确率为0%。
[0059]
上述实施提供的基于主任务神经元的深度学习模型祛毒加固方法,具有以下优点:
[0060]
1)解决了现有常用的深度学习模型中毒防御方法在祛毒的同时没有增强模型鲁棒性的问 题,并且本发明方法使得祛毒加固后的深度学习模型在主任务上仍保留很高的准确率。
[0061]
2)本发明方法只需要用到少量的测试样本即可获得较好的效果,效率较高。
[0062]
3)本发明方法适用性好,可以满足不同深度学习模型、不同数据集的需求。
[0063]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。 因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的 形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储 介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形 式。
[0064]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/ 或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/ 或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令 到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个 机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程 图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
的装置。
[0065]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工 作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制 造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指 定的功能。
[0066]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或 其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编 程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多 个方框中指定的功能的步骤。
[0067]
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不 应当被视为仅限于实施实例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根 据本发明构思所能够想到的等同技术手段。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献