一种深度神经网络模型鲁棒性优化方法
技术领域
本发明属于机器学习和AI安全领域,具体涉及深度神经网络模型鲁棒性优化问题,提出了一种深度神经网络模型鲁棒性优化方法。
背景技术
深度神经网络近年来发展飞快,已经在多个领域得到大量应用,虽然在现阶段深度神经网络模型已达到较高准确率,但研究表明通过对正常样本添加微小扰动会使神经网络分类器产生误判,这些扰动并不会影响人眼判断。这一类可以使神经网络分类器产生误判的样本被称为对抗样本,对抗样本改变神经网络的潜在特征影响了神经网络的输出。因此提高深度神经网络模型对对抗样本攻击的防御能力从而提高深度神经网络的模型鲁棒性,对于深度神经网络技术的发展起到关键作用。
为了使对抗环境下深度神经网络模型的使用更为安全,国内外许多学者致力于提升深度神经网络模型的鲁棒性。对深度神经网络模型进行白盒攻击时,在扰动相同的前提下,模型的分类准确率越高,鲁棒性越好。目前提高模型鲁棒性的方法有三类:修改模型的输入数据、修改网络结构和增加外部模块。对提高模型鲁棒性的以往研究基本都存在防御范围有限和开销大等问题。
发明内容
深度神经网络模型鲁棒性优化方法,其一主要是将基础模型改造为可以在速度和准确率之间进行权衡特征金字塔结构,其二是将特征金字塔结构模型作为目标模型,以原始图像的潜在特征作为先验生成对抗样本加入训练集中进行对抗训练。目标是使改进后的模型能防御多种白盒攻击,分类准确率高,由此模型鲁棒性得到优化。
本发明为一种深度神经网络模型鲁棒性优化方法,其特征在于包括以下步骤:
步骤一:选定一个深度神经网络图像分类模型作为基础模型,在基础模型的浅层添加额外的分支P1,P2,...,Pn形成多预测分支结构,其中n为基础模型的残差块组数减1;
步骤二:将Pn所在层的特征图采用上采样的方法扩展大小直至和Pn-1所在层的特征图一致;
步骤三:重复步骤二至n为2,最后将P1,P2,...,Pn的预测结果做平均运算作为输出,至此将基础模型改造为特征金字塔结构,特征金字塔结构如图2所示;
步骤四:选定特征金字塔结构模型作为目标模型M,训练目标模型M直至目标模型M可以准确地将从原始数据集中采样的图像映射到其对应的标签t,具体地,t为原始图像数据集中人工标记的图像类别信息;
步骤五:将目标模型M的最后一层卷积层作为特征提取器f,构建生成器G和判别器D,具体地,生成器G由卷积神经网络构建,判别器D用来区分真实图像和生成的对抗样本,体系结构如图3所示;
步骤六:输入所需对抗样本的攻击类别a;
步骤七:对来自噪声先验pg(z)的m个噪声样本{z1,…zm}进行小批量采样,对来自数据生成分布pdata(x)的m个样本{x1,…xm}进行小批量采样;
步骤八:将{x1,…xm}经过特征提取器f提取潜在特征输出特征向量f(x),从正态分布采样{z1,…zm}输出噪声向量z;
步骤九:将特征向量f(x)和噪声向量z作为级联向量,输入到生成器G中生成样本{xadv1,xadv2,...xadvm};
步骤十:最小化xadvi和xi之间的l2损失以限制扰动大小,其中1≤i≤m,增加随机梯度更新判别器D,判别器D最大化真实图像和生成样本差异度,降低随机梯度更新生成器G,生成器G最小化生成的样本属于类别t的概率;
步骤十一:重复步骤十直至{xadv1,xadv2,...xadvm}接近原始分布,且输出的对抗样本标签为a。
步骤十二:重复步骤六至步骤十一直至生成的对抗样本攻击类别的数量与原始图像数据集中存在的图像类别一致,将所有对抗样本人工标记为正确类别标签后重新加入训练集中,对目标模型M进行重新训练。
附图说明
附图1为深度神经网络模型鲁棒性优化方法流程图。
附图2为基础模型改造为特征金字塔结构的示意图。
附图3为利用潜在特征生成对抗样本的体系结构图。
具体实施方式
以经典深度神经网络模型Resne32为例,对本发明提出的一种深度神经网络模型鲁棒性优化方法的具体实施方式进行说明。
步骤一:选定Resne32模型作为基础模型,Resnet32模型总共有3组残差块,每组残差块有不同数量的恒等残差块组成,在Resnet32模型的前两组残差块之后分别加入分支P1,P2形成多预测分支结构;
步骤二:将P2所在层的特征图采用上采样的方法扩展大小直至和P1所在层的特征图一致;
步骤三:将P1,P2的预测结果做平均运算作为输出,至此将基础模型Resne32改造为特征金字塔结构;
步骤四:选定以Resne32模型改造的特征金字塔结构模型作为目标模型M,训练目标模型M直至目标模型M可以准确地将从原始数据集中采样的图像映射到其对应的标签t,具体地,t为原始图像数据集中人工标记的图像类别信息;
步骤五:将目标模型M的最后一层卷积层作为特征提取器f,构建生成器G和判别器D,具体地,生成器G由卷积神经网络构建,判别器D用来区分真实图像和生成的样本;
步骤六:针对MNIST数据集进行实验,输入所需对抗样本的攻击类别0;
步骤七:对10000个随机高维噪声样本{z1,…z10000}进行小批量采样,对来自原始数据的10000个样本{x1,…x10000}进行小批量采样;
步骤八:将{x1,…x10000}经过特征提取器f提取潜在特征输出特征向量f(x),从正态分布采样{z1,…z10000}输出噪声向量z;
步骤九:将图像特征向量f(x)和噪声向量z的级联映射输入到生成器G中生成样本{xadv1,xadv2,...xadv10000};
步骤十:最小化每个生成图像和原始图像之间的l2损失以限制扰动大小,增加随机梯度更新判别器D,判别器D最大化真实图像和生成样本差异度,降低随机梯度更新生成器G,生成器G最小化生成的样本属于类别0的概率;
步骤十一:重复步骤十直至生成的10000个样本输出的样本标签为0;
步骤十二:重复步骤六至步骤十一,分别将攻击类别设为0到9的数字,直至各种攻击类别都生成10000个对抗样本,将产生的对抗样本标记为正确标签加入MNIST训练集中重新训练目标模型M。
通过以上过程可以实现一种深度神经网络模型鲁棒性优化方法,流程图如图1所示,分为修改网络结构和修改模型输入数据两个阶段。修改网络结构阶段主要为目标模型添加预测分支,将目标模型改造为特征金字塔结构;修改模型输入数据阶段主要利用特征提取器提取潜在特征生成对抗样本,将生成的对抗样本加入训练集中训练模型。
针对Resne34模型,分别在MNIST和CIFAR-10数据集上使用五种白盒攻击分别进行实验,表1是优化后的Resne34模型在高扰动的五种白盒攻击下,对抗样本分类正确率比较,第一部分是在MNIST数据集上的实验结果,第二部分是在CIFAR-10数据集上的实验结果。
从表1可以看出,本方法在高扰动的五种白盒攻击下分类正确率相比基础模型至少提升了4倍,说明优化后的模型防御能力比原模型防御能力更强,防御范围扩大,可以作为一种深度神经网络模型鲁棒性优化方法。
表1 MNIST和CIFAR-10数据集上对于对抗样本分类正确率比较