一种基于神经通路的深度学习的中毒防御方法及装置转让专利

申请号 : CN202110697441.1

文献号 : CN113343225B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈晋音金海波

申请人 : 浙江工业大学

摘要 :

本发明公开了一种基于神经通路的深度学习的中毒防御方法及装置,其中公开了基于神经通路的深度学习的中毒防御方法,利用中毒模型,通过特征提取层产生导向性样本从而构建深度学习模型的关键神经通路,模拟触发样本的数据流动过程,对激活值异常的神经元通过人工神经元来抑制激活值,增加新的权重使得模型实现自我防御机制。本发明还公开了一种基于神经通路的深度学习的中毒防御装置,包括收集模块,预训练模块,构建通路模块,构建防御机制模块,评估模块。

权利要求 :

1.一种基于神经通路的深度学习的中毒防御方法,其特征在于,包括如下步骤:(1)获取图像数据集;

(2)根据获取的图像数据集预训练中毒深度学习模型;

(3)根据预训练好的中毒深度学习模型构建Top‑k神经通路;

构建Top‑k神经通路包括如下步骤:

(3.1)利用干净图像数据构建特征图通路,将特征图中激活值最大的Top‑k神经元进行累加,构成损失函数:其中,TKFeature(X)表示取X样本集中的Top‑k特征图通路,λ表示平衡参数;maxk(femb(xi))表示第e层激活值最大的k个特征图;femb(xi)为样本在中毒深度学习模型卷积层与池化层的嵌入特征,xi∈X,i=1,2,...; 表示取当xi∈X,i=1,2,...时,激活值最大的前k个特征图的集合;

(3.2)通过对像素值进行变异构建变异样本,通过对损失函数梯度上升作为导向对原始图像的像素进行改变,即:x′i=xi+s*grad

其中s为迭代步长,xi∈X,i=1,2,...,xi'表示由xi像素改变的后得到的样本;

(3.3)Top‑k整体神经通路定义如下:其中,N={n1,n2,...}为深度学习模型的一组神经元;T={x'1,x'2,...}为深度学习模型的一组变异输入;φi(x',n)代表在给定输入x'i∈T,n∈N时,第i层所得到的神经元输出值,maxk(φi(x',n))表示第i层激活值最大的k个神经元;

(4)根据Top‑k神经通路构建防御机制;

构建防御机制包括如下步骤:

(4.1)通过神经通路的激活状态增加人工神经元;

对每层神经元后安插一层人工神经元作为评判指标,假设i层有p个神经元,则每层神经元激活值记为 神经元的激活值与该层权重 密切相关,则触发人工神经元AT激活的条件为:当输入样本的进入该层,该层激活值达到阈值θT,说明可能触发潜在后门最终导致深度学习模型发生错误,需要通过人工神经元来进行调整;

(4.2)计算连接下层神经元的权重;

i+1

设正常输入时第i+1层神经元的激活值为Z ,通路产生的样本刺激时得到的激活值记*为 我们利用函数计算需要的优化权重向量ζ:i+1

其中,w 为下层神经元的权重;

(5)对防御机制进行评估;

对防御机制进行评估包括如下步骤:

(5.1)将步骤(3.2)中生成的变异样本输入到增加防御机制后的深度学习模型中,统计模型的标签变化率:当 小于一定阈值Tth说明模型得到了一定的修复,当 小于一定阈值Tth重复步骤(3);

其中, 衡量测试模型的敏感性。

2.根据权利要求1所述的基于神经通路的深度学习的中毒防御方法,其特征在于:步骤(1)中所述的图像数据集包括MNIST数据集、CIFAR‑10数据集和ImageNet数据集,将获取的图像数据集保存为X以及每张图像相应的类标Y。

3.根据权利要求2所述的基于神经通路的深度学习的中毒防御方法,其特征在于,步骤(2)中所述的预训练中毒深度学习模型包括如下步骤:(2.1)将图像数据集按预设比例划分为训练集和测试集,通过one‑hot编码将图片数据集中每个样本的标签转化为一维向量;

(2.2)收集并保存模型中毒攻击方法;

(2.3)选取中毒攻击方法,利用该中毒攻击方法对获取的图像数据进行下毒操作,并将中毒的图像数据混入到干净样本中进行模型训练。

4.一种基于神经通路的深度学习的中毒防御装置,其特征在于,包括:收集模块,收集图像并对图像进行整理分类;

预训练模块,根据获得的图像进行中毒,预训练中毒深度学习模型;

构建通路模块,利用卷积和池化层构建初始化变异种子,通过对模型进行刺激模拟触发样本的数据流动方向;

构建防御机制模块,通过神经通路的激活状态增加人工神经元,并获得连接下层神经元的权重;

评估模块,通过评估防御后模型与防御前模型的敏感性指标来评判是否需要迭代,当敏感性指标大于一定阈值则表明模型达到一定程度上的修复。

说明书 :

一种基于神经通路的深度学习的中毒防御方法及装置

技术领域

[0001] 本发明涉及深度学习的中毒防御领域,特别涉及一种基于神经通路的深度学习的中毒防御方法及装置。

背景技术

[0002] 由于高度可并行化的算法(CNN)的新变种的发展以及针对现代图像处理单元(GPU)优化的高效并行网络框架的出现,是的深度神经网络具有十分良好的商业前景。
[0003] 然而,虽然深度学习模型能较好的适用于各种场景并展现出其独有的精确、高效的性能,但它非常容易受到恶意数据的攻击。对于深度学习模型的攻击,分为对抗攻击和中毒攻击,相对对抗攻击而言,中毒攻击往往对深度学习的安全性威胁性更大。中毒攻击通常针对深度学习模型的训练阶段,通过对干净样本添加一定的扰动或将两张干净样本的特征混合实现毒药样本的构建,并标注错误的标签混入干净样本中进行训练;在预测阶段,潜在的触发样本输入到深度学习模型中,将会使模型内部发生混乱从而导致错误分类,值得注意的是,触发样本可能与干净样本无异。因此,特别是在自动驾驶和人脸识别等安全性相关领域中,注入毒药样本训练后的中毒模型对一些潜在的触发样本造成误分类的现象,将会对人工智能安全乃至人生安全产生严重的威胁。因此建立深度学习的中毒防御是必要的。
[0004] 现有的用于对抗中毒攻击的方法如公开号为CN112905997A的中国专利申请中公开的面向深度学习模型中毒攻击的检测方法、装置及系统,包括如下步骤:获取样本集和待检测模型;预训练与待检测模型结构相同的良性模型;对部分样本进行数据增广,组成新样本集;将每一类新样本作为目标类,剩下的所有类新样本作为源类,对预训练后的良性模型进行目标类的多种中毒攻击,获得多种中毒模型和多种中毒样本;获得中毒样本在所有非所出中毒模型下的检测结果,依据检测结果筛选并构建中毒模型池和中毒样本池;依据中毒样本在待检测深度学习模型的检测结果和中毒样本在非所出中毒模型下的检测结果来判断待检测深度学习模型是否中毒。来实现对面向深度学习模型中毒攻击的快速准确检测。
[0005] 上述专利申请公开的方法仅能对中毒攻击进行检测,并未形成防御机制,用于对抗中毒攻击不够完善。

发明内容

[0006] 为解决现有技术中存在的问题,本发明提供一种基于神经通路的深度学习的中毒防御方法及装置,通过模拟异常样本在深度学习模型中的数据流动过程增加防御机制,从而使深度学习模型在实际部署和应用时更加安全可靠。
[0007] 一种基于神经通路的深度学习的中毒防御方法,包括如下步骤:
[0008] (1)获取图像数据集;
[0009] (2)根据获取的图像数据集预训练样本在模型卷积层与池化层的嵌入特征;
[0010] (3)根据预训练好的中毒深度学习模型构建Top‑k神经通路;
[0011] (4)根据Top‑k神经通路构建防御机制;
[0012] (5)对防御机制进行评估。
[0013] 步骤(1)中所述的图像数据集包括MNIST数据集、CIFAR‑10数据集和ImageNet数据集,将获取的图像数据集保存为X以及每张图像相应的类标Y。
[0014] 步骤(2)中所述的预训练中毒深度学习模型包括如下步骤:
[0015] (2.1)将图像数据集按预设比例划分为训练集和测试集,通过one‑hot编码将图片数据集中每个样本的标签转化为一维向量;
[0016] (2.2)收集并保存模型中毒攻击方法;
[0017] (2.3)选取中毒攻击方法,利用该中毒攻击方法对对获取的图像数据进行下毒操作,并将中毒的图像数据混入到干净样本中进行模型训练。
[0018] 中毒攻击方法包括BadNets、Dynamic Backdoor Attack、Feature Collision Attack和Trojan Attack等。
[0019] 所述步骤(3)中构建Top‑k神经通路包括如下步骤:
[0020] (3.1)利用干净图像数据构建特征图通路,将特征图中激活值最大的Top‑k神经元进行累加,构成损失函数:
[0021]
[0022]
[0023] 其中,TKFeature(X)表示取X样本集中的Top‑k特征图通路,λ表示平衡参数;maxk(femb(xi))表示第e层激活值最大的k个特征图;femb(xi)为样本在中毒深度学习模型卷积层与池化层的嵌入特征,xi∈X,i=1,2,...; 表示取当xi∈X,i=1,2,...时,激活值最大的前k个特征图的集合。
[0024] N={n1,n2,...}为深度学习模型的一组神经元,将干净图像数据集X输入到步骤(2.3)预训练好的中毒深度学习模型f(·)中,并计算样本在中毒深度学习模型f(·)卷积层与池化层的嵌入特征femb(xi);
[0025] (3.2)通过对像素值进行变异构建变异样本,通过对损失函数梯度上升作为导向对原始图像的像素进行改变,即:
[0026]
[0027] xi′=xi+s*grad
[0028] 其中s为迭代步长,xi∈X,i=1,2,...,xi'表示由xi像素改变的后得到的样本;
[0029] 改变图像的像素值时需满足:
[0030]
[0031] 其中,L0表示已更改像素的最大数量;L∞表示像素更改的最大值;size(xi)是图像中0<xi的像素数量;0<α,β<1;
[0032] (3.3)从步骤(2.1)中选取的数据集的测试集中随机选取样本作为测试种子样本输入到给定深度学习模型中Top‑k整体神经通路定义如下:
[0033]
[0034] 其中,N={n1,n2,...}为深度学习模型的一组神经元;T={x'1,x'2,...}为深度学习模型的一组变异输入;φi(x',n)代表在给定输入x'i∈T,n∈N时,第i层所得到的神经元输出值,maxk(φi(x',n))表示第i层激活值最大的k个神经元。
[0035] 将神经网络的前向传播过程表示为f:RD→RC,其中D表示输入的维度,C表示输出的维度。对于L层网络结构,以输入的某个神经元为起始节点,每层中间运算层的某个神经元为中间节点,最后输出的某个神经元为末节点,节点间串联构成一条有向无环图,这就是主要研究的第L‑1级神经通路,称为最长神经通路,定义为集合PL‑1={pL‑1(1,·,...,·)}。对集合中所有神经通路的计算构成了神经网络的前向传播过程,并且决定了最后的输出结果。由于卷积层、池化层和全连接层对于深度学习模型分类过程的意义不同,卷积层、池化层主要用于模拟中毒数据特征提取过程,对下层起导向作用;全连接层则是图像增加的扰动像素的直观表现形式,因此将对两部分分别构建神经通路。
[0036] 所述步骤(4)中构建防御机制包括如下步骤:
[0037] (4.1)通过神经通路的激活状态增加人工神经元;
[0038] 对每层神经元后安插一层人工神经元作为评判指标,假设i层有p个神经元,则每层神经元激活值记为 神经元的激活值与该层权重 密切相关,则触发人工神经元AT激活的条件为:
[0039]
[0040] 当输入样本的进入该层,该层激活值达到阈值θT,说明可能触发潜在后门最终导致深度学习模型发生错误,需要通过人工神经元来进行调整;
[0041] (4.2)计算连接下层神经元的权重;
[0042] 设正常输入时第i+1层神经元的激活值为Zi+1,通路产生的样本刺激时得到的激活*值记为 我们利用函数计算需要的优化权重向量ζ:
[0043]
[0044]
[0045] 其中,wi+1为下层神经元的权重。
[0046] 所述步骤(5)中对防御机制进行评估包括如下步骤:
[0047] (5.1)将步骤(3.2)中生成的变异样本输入到增加防御机制后的深度学习模型中,统计模型的标签变化率:
[0048]
[0049] 当 小于一定阈值Tth说明模型得到了一定的修复,当 小于一定阈值Tth重复步骤(3);且 值越大表示模型防御效果越好;
[0050] 其中, 衡量测试模型的敏感性。
[0051] 本发明还提供一种基于神经通路的深度学习的中毒防御装置,包括:
[0052] 收集模块,收集图像并对图像进行整理分类;
[0053] 预训练模块,根据获得的图像进行中毒,预训练中毒深度学习模型;
[0054] 构建通路模块,利用卷积和池化层构建初始化变异种子,通过对模型进行刺激模拟触发样本的数据流动方向;
[0055] 构建防御机制模块,通过神经通路的激活状态增加人工神经元,并获得连接下层神经元的权重;
[0056] 评估模块,通过评估防御后模型与防御前模型的敏感性指标来评判是否需要迭代,当敏感性指标大于一定阈值则表明模型达到一定程度上的修复。
[0057] 与现有技术相比,本发明的有益效果在于:
[0058] 1、通过模拟异常样本在深度学习模型中的数据流动过程增加防御机制,从而使深度学习模型在实际部署和应用时更加安全可靠。

附图说明

[0059] 图1是本发明提供的基于神经通路的深度学习的中毒防御方法框图;
[0060] 图2是本发明提供的基于神经通路的深度学习的中毒防御装置的结构示意图。

具体实施方式

[0061] 下面结合附图和具体实施例,对本发明的方案作进一步说明。
[0062] 基于神经通路的深度学习的中毒防御方法,利用中毒模型,通过特征提取层产生导向性样本从而构建深度学习模型的关键神经通路,模拟触发样本的数据流动过程,对激活值异常的神经元通过人工神经元来抑制激活值,增加新的权重使得模型实现自我防御机制。
[0063] 图1为本实施例提供的基于神经通路的深度学习的中毒防御方法框图。实施例提供的基于神经通路的深度学习的中毒防御方法可以用于自动驾驶领域,深度学习模型依据采集的图像数据构建神经通路,用于建立防御机制,以保证自动驾驶的安全性。如图1所示,基于神经通路的深度学习的中毒防御方法包括如下步骤:
[0064] 获取图像数据集并选择干净样本构建神经通路;通过深度神经网络(CNN)的出特征图;利用特征图构建TOP‑K特征图并得出损失函数:
[0065]
[0066]
[0067] 计算损失函数的梯度;
[0068]
[0069] xi′=xi+s*grad
[0070] 并构建变异样本,将变异样本反馈至CNN;
[0071] 根据预训练好的中毒深度学习模型构建Top‑k神经通路;Top‑k神经通路定义如下:
[0072]
[0073] 根据Top‑k神经通路构建防御机制;对每层神经元后安插一层人工神经元作为评判指标,假设i层有p个神经元,则每层神经元激活值记为
[0074] 神经元的激活值与该层权重 密切相关,则触发人工神经元激活的条件为:
[0075]
[0076] 当输入样本的进入该层,该层激活值达到阈值θT,说明可能触发潜在后门最终导致深度学习模型发生错误,需要通过人工神经元来进行调整;
[0077] 计算人工神经元连接的权重,具体操作包括:
[0078] 设正常输入时第i+1层神经元的激活值为Zi+1,通路产生的样本刺激时得到的激活*值记为 我们利用函数计算需要的优化权重向量ζ:
[0079]
[0080]
[0081] 即获得连接下层的权重。
[0082] 对防御机制进行评估;
[0083] 将生成的变异样本输入到增加防御机制后的深度学习模型中,统计模型的标签变化率:
[0084]
[0085] 其中, 衡量测试模型的敏感性,值越大表示模型防御效果越好。当 小于一定阈值Tth则重复步骤3,否则则说明模型得到了一定的修复。
[0086] 图2为本实施例提供的基于神经通路的深度学习的中毒防御装置的结构示意图。如图2所示,
[0087] 基于神经通路的深度学习的中毒防御装置,包括:
[0088] 收集模块,收集图像并对图像进行整理分类;
[0089] 预训练模块,根据获得的图像进行中毒,预训练中毒深度学习模型;
[0090] 构建通路模块,利用卷积和池化层构建初始化变异种子,通过对模型进行刺激模拟触发样本的数据流动方向;
[0091] 构建防御机制模块,通过神经通路的激活状态增加人工神经元,并获得连接下层神经元的权重;
[0092] 评估模块,通过评估防御后模型与防御前模型的敏感性指标来评判是否需要迭代,当敏感性指标大于一定阈值则表明模型达到一定程度上的修复。