本发明属于深度学习,具体涉及一种基于视觉变换和特征鲁棒的对抗训练方法。
背景技术:
1、深度神经网络(dnn)在一系列领域都表现出了显著的成就,其应用场景也越来越多样化,如计算机视觉、语音识别和自然语言处理。然而,神经网络存在一个安全问题,即它们很容易被对抗性样本所欺骗。对抗性样本是一种特殊的输入,它被设计成能够欺骗神经网络,使其产生错误的输出。这种攻击方式可以通过对原始数据进行微小的修改来实现,这些修改对人类来说几乎不可察觉,但对神经网络却具有极大的影响。对抗性攻击可能会导致神经网络在现实世界中产生的决策错误,从而对人类造成严重的危害。dnn的脆弱性导致了对人工智能安全的担忧。提高dnn对对抗性样本的鲁棒性已经变得越来越重要,这给深度学习的应用带来了新的挑战。
2、众多的防御技术已经出现,以增强dnn的对抗性鲁棒性。对抗训练被学术界广泛认为是对对抗性攻击最有力的防御策略。对抗性训练的主要概念是在训练期间将dnn暴露在对抗性样本中,以便获得对对抗性样本的免疫力。然而,在对抗性训练中过度利用训练集的例子会导致dnn被过度拟合。这意味着dnn在面对来自训练集的对抗性样本时表现特别好,而当遇到dnn从未见过的来自测试集的对抗性样本时,性能就会明显下降。这表明,对抗性训练不能完全解决dnns的脆弱性,对抗性攻击仍然代表着对dnns的严重威胁。
3、深度学习对抗训练的过程包括以下几个步骤:
4、一、生成对抗性样本:在训练过程中,研究人员会生成一些对抗性样本,这些样本是通过对原始数据进行微小的修改而生成的。这些修改通常是针对特定的神经网络,以使其产生错误的输出。
5、二、将对抗性样本加入训练数据中:生成的对抗性样本会被加入到训练数据中,与原始数据一起用于训练神经网络。这样可以使神经网络更好地学习如何识别和分类对抗性样本,从而提高其鲁棒性。
6、三、重新训练神经网络:在加入对抗性样本后,研究人员会重新训练神经网络,以使其能够更好地抵御对抗性攻击。
7、这个过程可能需要多次迭代,以达到最佳的效果。
8、现有对抗训练算法的改进方式主要设计步骤一和三,在步骤一中的改进方法包括生成对抗样本时使用不同的对抗攻击算法生成对抗样本,和同一种算法生成不同强度的对抗样本来进行对抗训练。步骤三中的改进方法主要是通过设计更有效的损失函数来对网络进行训练。
9、为了提高dnn的鲁棒性和泛化能力,最近的一些工作从不同角度改进了对抗性训练方法,如提前结束训练、优化损失函数、改进对抗性样本生成模式和优化参数更新策略。尽管现有的方法在增强鲁棒性和泛化方面取得了重大进展,但这些改进并没有关注网络的感兴趣区域。众所周知,图像中的前景和背景对分类任务的贡献应该是不同的,但网络对图像上的每个像素点都赋予了相同的重要性。这在一定程度上限制了dnns的鲁棒性和泛化能力。
10、有研究表明,dnn在训练过程中既能学习稳定的特征,也能学习不稳定的特征,其中不稳定的特征会导致网络的鲁棒性差。相比之下,视觉刺激的小扰动似乎对人类视觉的鲁棒性影响不大。这可能归因于人类视觉系统的采样机制,视网膜上锥体细胞的不均匀分布导致了视觉刺激的空间采样不均匀。采样密度在图像上的注视点是最高的,并随着与注视点的距离而降低。这种非均匀取样使人类视觉系统能够实现更高的鲁棒性,使注意力落在关键区域,从而提高对目标的注意力,减少背景的影响。相反,在dnn的网络结构中,同一个卷积核被用来不加区分地卷积样本上的所有像素点。这种机制意味着dnns对样本上的每个像素点都赋予相同的重要性,这可能会引导dnns学习一些不稳定的特征,从而导致鲁棒性和泛化能力差。
11、综上,现有技术的缺点为:
12、(1)对抗训练的过程中由于过度使用训练集样本,导致模型出现过拟合现象。
13、(2)几乎没有方法尝试通过增强样本关键区域来改进对抗训练。
技术实现思路
1、为了克服现有技术的不足,本发明提供了一种基于视觉变换和特征鲁棒的对抗训练方法,构建了一个视觉化图像对抗训练框架vtfr,主要包含两部分:视觉变换模块(vt)和特征鲁棒(fr)损失函数;视觉变换模块(vt)通过对图像进行预处理,实现对图像中的主体信息强化,并且弱化背景信息和消除扰动噪声。特征鲁棒(fr)损失函数通过约束网络在相似图像上的特征相似度,增强网络特征提取部分抗扰动的能力。视觉化图像对抗训练框架能够大幅提高模型在对抗样本上的性能,并且提高其对抗鲁棒性和泛化能力。
2、本发明解决其技术问题所采用的技术方案包括如下步骤:
3、步骤1:构建神经网络模型f1,并在训练数据集上进行训练;
4、步骤2:构建神经网络模型f2,并进行随机初始化;
5、步骤3:对神经网络模型的训练数据集通过pgd对抗攻击算法,在神经网络模型f2上生成对抗样本数据集
6、步骤4:将训练数据集与对抗样本数据集进行视觉变换,得到用于训练的数据集和
7、步骤5:将和成对输入神经网络模型f2用于训练,分别计算对抗样本的分类损失、对抗样本与干净样本之间的特征损失;用这两部分损失和计算梯度,对神经网络模型f2的参数进行更新;
8、步骤6:判断神经网络是否收敛,若不收敛,跳回步骤3,否则输出神经网络,得到训练后有对抗鲁棒性的神经网络模型f2。
9、优选地,所述pgd对抗攻击算法具体表示为:
10、
11、其中,α表示单步攻击强度,sign()表示符号函数,projx,∈()表示投影函数。
12、优选地,所述步骤4具体为:
13、步骤4-1:对训练数据集在神经网络模型f1上使用grad-cam算法得到图像的注意力图,将热力图上各像素点的值视为该位置的权重,对整张图像位置进行加权求和得到图像的物体的中心位置;
14、
15、
16、
17、其中,z为特征图中像素个数,y为标签类别的得分,为第k个特征图中点(i,j)的值,为第k个特征图的权重,(x,y)是物体在图像中的中心位置;
18、步骤4-2:针对数据集和在以中心位置为坐标原点的极坐标系中进行非均匀采样;
19、
20、rk+1=rk+dk
21、其中,r0=0,c为给定的采样曲率,k=0,1,…,s-1,s为输入图像尺寸,m为采样密度,即限制采样边界为给定采样曲率的图像边界,h为图像高度;
22、步骤4-3:针对数据集和对得到的非均匀采样图周围进行高斯模糊,得到最终用于训练的图像;
23、
24、
25、其中,dx,dy表示从(x,y)到模糊像素点的距离,w(x,y)表示像素值权重,i表示非均匀采样后的图像,ivt表示高斯模糊后的图像;σ是超参数,通过控制σ来控制模糊程度,当进行高斯模糊时,距离物体中心位置越近,σ越小。
26、优选地,所述分类损失和特征损失分别为:
27、
28、lfea=l′(f(θ,x),f(θ,x))
29、l=lcla+lfea
30、其中,ce是交叉熵损失函数,kl为kl散度损失函数,x′表示对抗样本,y和y′分别表示样本标签和对抗样本的预测结果,f、f′分别表示从模型中提取的干净样本和对抗样本的高维特征。
31、本发明的有益效果如下:
32、本发明方法能极大的提高网络对于对抗样本的识别精度,提高网络的鲁棒性和泛化能力。