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

一种神经网络下基于敏感度的鲁棒性训练防御方法

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


一种神经网络下基于敏感度的鲁棒性训练防御方法

技术领域

本发明涉及神经网络模型安全的技术领域,尤其是指一种神经网络下基于敏感度的鲁棒性训练防御方法。

背景技术

神经网络模型由于其强大的学习能力,在许多应用,如计算机视觉,自然语言处理和控制领域中都取得了优异的成绩。但是,许多研究表明,神经网络方法在对抗环境中易受攻击。在对抗环境中,攻击方故意制造样本以误导目标系统的决策。与其它机器学习方法一样,神经网络方法也假定训练和测试集遵循相同(或相似)的分布。由于这种假设被对抗性攻击破坏了,因此神经网络方法的性能会大大下降。一些研究表明,加入了较小的对抗性噪声的样本可能会混淆神经网络方法。该漏洞影响了我们在与安全相关的应用中使用神经网络的信心。因为对抗攻击的存在,自动驾驶汽车将无法正确识别路标,面部识别系统也可能会错误地将一个人试别成其他人,这种攻击被称为“逃逸攻击”。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提出了一种神经网络下基于敏感度的鲁棒性训练防御方法,旨在改善传统防御方法--对抗训练的弊端,对抗训练需要事先对攻击者的攻击策略进行假设或猜想,而基于敏感度的方法无须知道攻击算法的任何细节,只需要寻找样本点周围的高斯噪声,为样本构造高斯邻域即可;其次,对抗性训练需要生成对抗样本注入训练集中,这需要花费大量的时间,以至于数倍于基于敏感度的防御方法。而本方法通过在原始样本周围构造敏感度样本来将模型的分类误差和敏感度度量结合起来作为最终的误差进行反向传播,让模型不仅仅关注分类误差,同时关注模型敏感度。敏感度训练能够让模型获得更可靠的决策边界,经过敏感度训练后的决策边界距离样本更远,这增加了攻击者的攻击成本,从而有效的提高模型的防御能力。

为实现上述目的,本发明所提供的技术方案为:一种神经网络下基于敏感度的鲁棒性训练防御方法,包括以下步骤:

1)选择用于鲁棒性训练所用的神经网络模型及其对应的分类数据集和损失函数;

2)对步骤1)中所选的分类数据集中的样本生成多个高斯噪声,此时多个高斯噪声会围绕在样本周围形成高斯邻域,再将高斯邻域中的噪声添加到样本上,从而形成敏感度样本;

3)对步骤1)中所选择的损失函数进行改造,即计算步骤2)中的敏感度样本和正常样本的神经网络模型输出的欧几里得距离,将此距离的期望值作为敏感度正则项添加到损失函数上,从而完成对损失函数的改造;

4)对步骤3)中经过损失函数改造后的神经网络模型进行鲁棒性训练,训练完成后得到最优的神经网络模型,此时该神经网络已经形成了强大的防御能力。

在步骤1)中,选择的神经网络模型有VGG系列、RestNet系列或efficientNet系列;分类数据集的选择与所选神经网络的层数和复杂度成正相关,为MNIST、CIFAR10、CIFAR100或ImageNet;而针对分类的损失函数则选择使用交叉熵损失函数。

在步骤2)中,针对步骤1)中的分类数据集的样本生成多个高斯噪声,在样本周围形成高斯邻域,再将高斯噪声添加到样本从而形成敏感度样本,包括以下步骤:

2.1)对每一个批次的样本随机选取一部分,得到样本集合D及其抽样集合S:

2.2)根据抽样集合S中的单一样本生成多个高斯噪声,生成高斯噪声Δx的均值为0,方差为σ,即该噪声服从均值为0,方差为σ的高斯分布,当有多个高斯噪声形成时,则会在该样本周围形成高斯邻域,其中方差σ控制该邻域的半径大小;

2.3)将高斯邻域内的高斯噪声添加到到原始样本上,从而形成该样本所对应的敏感度样本x

x

上式中,x为原始样本来自抽样集合S。

在步骤3)中,在对步骤1)中所选的损失函数进行改造,引入敏感度正则项,包括以下步骤:

3.1)首先计算所选分类数据集的抽样集合S中样本x的神经网络模型输出C(x),以及步骤2)中所生成的敏感度样本的神经网络模型输出C(x+Δx),再计算两个输出之间的欧几里得距离,而该距离的期望即为二者的敏感度度量Sen(x),其定义如下:

Sen(x)=E(||C(x)-C(x+Δx)||

式中,Δx为步骤2)中生成的高斯噪声,而(x+Δx)为步骤2)中生成的敏感度样本,C(.)代表神经网络模型的输出,||.||2代表欧几里得距离,E(.)代表期望;

3.2)引入权衡参数λ,其中λ∈(0,1);

3.3)将权衡参数λ和敏感度度量Sen(x)带入损失函数对其改造后得到最终损失函数为:

式中,L为交叉熵函数,其代表了模型的分类损失,x来自步骤1)中所选分类数据集的样本集合D,y为x的标签,S为D中的抽样集合,当权衡参数λ>0.5时则说明在鲁棒性训练中神经网络模型侧重于学习敏感度度量,反之则神经网络模型侧重学习交叉熵主导下的分类损失。

在步骤4)中,对步骤3)中改造后的神经网络模型进行鲁棒性训练,包括以下步骤:

4.1)将步骤1)中所选分类数据集的样本的像素点除以255化归到[0,1]之间,以便于神经网络模型对其进行特征提取;

4.2)对步骤2)中的高斯噪声点的数量进行固定,当高斯噪声点数量提高时,神经网络模型的防御能力随之提高,而当高斯噪声点数量下降时,训练时间随之减少,其中,高斯噪声点至少应为3个;

4.3)采用5折交叉验证的训练方法,将分类数据集对神经网络模型的偏差影响降到最低;

4.4)设定训练周期,通过对神经网络模型的验证表现来选取该周期内最优的神经网络模型,随着鲁棒性训练的结束,此时该神经网络模型已经形成了强大的防御能力。

本发明与现有技术相比,具有如下优点与有益效果:

1、本发明首次引入了高斯噪声来构造敏感度样本,无须知晓对手攻击细节,突破传统防御方法需要掌握对手攻击策略的缺点。

2、本发明首次引入欧几里得距离来进行模型敏感度度量作为正则项,代替了传统的交叉熵损失函数。

3、本发明首次引入样本邻域噪声点来影响模型决策平面,进而提升模型的防御能力。

4、本发明首次通过不同采样率的敏感度训练下,发现了不同样本对模型防御能力的差异性贡献,从而实现了神经网络模型在低采样率保持高防御能力。

5、本发明方法在深度系统的对抗和安全领域中具有广泛的使用空间,思路巧妙、适应性强,可与诸多防御方法进入融合。

附图说明

图1为本发明逻辑流程示意图。

图2为本发明整体训练架构细节图。

图3为本发明下引入噪声点后模型决策边界变化图。

图4为本发明攻击结果展示图。

图5为本发明和传统方法训练时间(秒)的对比图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

如图1至图2所示,本实施例所提供的神经网络下基于敏感度的鲁棒性训练防御方法,需要使用相关的计算机,编程语言和神经网络架构作为该方法运行的客观条件,其包括以下步骤:

1)选择用于鲁棒性训练所用的神经网络模型及其对应的分类数据集和损失函数,其中,所述分类数据集是指神经网络所针对的具体任务;所述模型信息是指所选择的用于鲁棒性训练的具体的神经网络模型,包括但不限于VGG系列,RestNet系列,efficientNet系列,分类数据集的选择与所选神经网络的层数和复杂度成正相关,包括但不限于MNIST,CIFAR10,CIFAR100,ImageNet,而针对分类的损失函数则选择使用交叉熵损失函数。不同的神经网络模型会适应不同的任务场景,如:本实施例选择VGG9网络模型和MNIST数据集。

2)对步骤1)中所选的分类数据集中的样本生成多个高斯噪声,此时多个高斯噪声会围绕在样本周围形成高斯邻域,再将高斯噪声添加到样本上,从而形成敏感度样本,包括以下步骤:

2.1)对每一个批次的样本随机选取一部分,得到样本集合D及其抽样集合S:

2.2)根据抽样集合S中的单一样本生成多个高斯噪声,生成高斯噪声Δx的均值为0,方差为σ,即该噪声服从均值为0,方差为σ的高斯分布,当有多个高斯噪声形成时,则会在该样本周围形成高斯邻域,其中方差σ控制该邻域的半径大小。

2.3)将高斯邻域内的高斯噪声添加到到原始样本上,从而形成该样本所对应的敏感度样本x

x

上式中,x为原始样本来自抽样集合S。

如图3所示,引入了敏感度样本后模型的决策边界发生了变化,决策边间变得更为稳固,这增加了攻击者的攻击成本,从而提高了模型的防御能力。

3)对原有模型的损失函数进行改造:引入敏感度正则项。

在对步骤1)中所选的损失函数进行改造,引入敏感度正则项,主要流程有以下步骤:

3.1)首先计算抽样集合S中样本x的神经网络模型输出C(x),以及步骤2)中所生成的敏感度样本的神经网络模型输出C(x+Δx),再计算两个输出之间的欧几里得距离,而该距离的期望即为二者的敏感度度量Sen(x),其定义如下:

Sen(x)=E(||C(x)-C(x+Δx)||

式中,Δx为步骤2)中生成的高斯噪声,而(x+Δx)为步骤2)中生成的敏感度样本,C(.)代表神经网络模型的输出,||.||

3.2)引入权衡参数λ,其中λ∈(0,1);

3.3)将权衡参数λ和敏感度度量Sen(x)带入损失函数对其改造后得到最终损失函数为:

式中,L为交叉熵函数,其代表了模型的分类损失,x来自步骤1)中所选分类数据集的样本集合D,y为x的标签;当权衡参数λ>0.5时则说明在鲁棒性训练中神经网络模型侧重于学习敏感度度量,反之则神经网络模型侧重学习交叉熵主导下的分类损失。

经过改造后VGG9模型相比较普通的VGG9模型的输入引入了敏感度样本,最终误差计算也引入了敏感度度量,并且引入权衡系数对两种误差做出平衡。

4)对神经网络模型训练,并选取最优模型。

如图2所示,对VGG9模型进行鲁棒性训练时,我们采用了5折交叉验证的训练方法,将MINST数据集的固有偏差对模型的影响降到最低,同时对MINST训练样本的像素点除以255化归到[0,1]之间以便于神经网络模型对其进行特征提取。在进行归一化处理和采样后,可通过增加高斯噪声点的数量来提高神经网络模型的防御能力,或降低高斯噪声点的数量来缩减训练时间。接着设定训练周期,通过神经网络模型的验证表现选取该周期内最优的神经网络模型,随着鲁棒性训练结束此时该神经网络模型已经具备了强大防御能力。

如图4所示,当攻击强度为0是,三个神经网络模型的准确率均在90%以上,但是随着攻击强度的不断提升,正常VGG9模型的分类准确率出现了断崖式下跌,其中传统防御方法的VGG9模型和基于敏感度的鲁棒性训练方法下的VGG9模型都取得了不错的防御效果,但是在各个攻击强度下传统方法均弱于基于敏感度的防御方法。

如图5所示,在时间复杂度方面基于敏感度的防御方法也是极大的优于传统方法,极大的降低了深度学习神经网络模型防御训练的时间成本。

综上所述,在采用以上方案后,本发明为解决神经网络模型中的安全问题提供了新的解决方法,将敏感度样本和敏感度度量带入神经网络模型,能够有效的增加攻击者的攻击成本,有效的提升了神经网络模型的防御能力和鲁棒性,此方法便于和任何现有的防御方法进行融合,极易进行推广,为许多防御算法带来了启发。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

相关技术
  • 一种神经网络下基于敏感度的鲁棒性训练防御方法
  • 一种同时提高神经网络精确度和鲁棒性的辅助训练方法
技术分类

06120112940093