使用交叉训练模型检测对抗样本的方法与流程

文档序号:16147278发布日期:2018-12-05 16:41阅读:411来源:国知局
使用交叉训练模型检测对抗样本的方法与流程

本发明涉及的是一种人工智能领域的技术,具体是一种针对对抗样本攻击的基于交叉训练的对抗样本检测方法。

背景技术

随着人工智能和深度学习的快速发展,机器学习本身的安全问题也不断涌现。攻击者在样本上加上精心构造的扰动,产生对抗样本,能导致机器识别出错误的结果,造成严重后果。如果将对抗样本作为训练数据的一部分,则可以增强鲁棒性,但还是不能抵抗不了强大的攻击方法,于是目前很多研究集中在对抗样本的鉴别上,希望通过独立于攻击方式的检测方法来抵御对抗性攻击。



技术实现要素:

本发明提出一种使用交叉训练模型检测对抗样本的方法,通过优化训练数据集和训练过程,显著提高模型的鲁棒性。这样,一般的对抗样本无法使得模型产生误分类,而更强大的对抗样本以高概率导致两个模型分类不同,所以会被检测出来。这样一来,可以减小系统受到对抗样本攻击的风险。本发明针对人工智能对抗攻击,能够广泛应用于基于分类器的机器学习模型,如语音识别、图像分类等多个领域,提高对抗样本检测率。用于人工智能api,可以对输入样本进行过滤,对人工智能的安全性有明显提升。

本发明是通过以下技术方案实现的:

本发明首先通过普通样本分别训练两个待优化模型,然后混合生成训练样本集并交叉训练若干次,完成训练后得到的两个模型分别用于对样本进行分类,根据分类结果的是否相同判断该样本是否为对抗样本。

所述的训练样本集包括:正常样本、模型自身的对抗样本以及来自其他模型的对抗样本,其中正常样本、模型自身的对抗样本和另一个模型的对抗样本按1:2:1的比例混合。

所述的交叉训练是指:每轮训练中分别以训练样本集训练两个待优化模型,并根据每轮各自产生对抗样本对训练样本集进行更新,供下一轮交叉训练使用。

所述的两个模型分别为卷积神经网络以及全连接深度学习网络。

所述的对抗样本生成方法包括:快速梯度下降法(fgsm)、多重迭代的快速梯度下降算法(iter_fgsm)、基于优化的对抗样本距离计算方法(c&w)。

所述的交叉训练采用的损失函数为基于距离的损失函数:

其中:xi是正常样本,是模型自身的对抗样本,是另一个模型的对抗样本,yi是样本的正确分类标签,l(xi|yi)是输入xi且标签为yi时的损失值,和ei分别是向模型中输入和xi时输出的预测值(未经过argmax),和ei的距离,k和γ是常数。

技术效果

与现有技术相比,本发明的特点在于用交叉训练的方式,训练两个模型,训练样本的丰富性以及训练过程的多轮迭代,增强了两个模型抵御对抗性攻击的鲁棒性。而且本发明采用的鉴别方法不是主流的基于样本周围样本的分布来鉴别,而是用两个模型分别分类,并通过分类结果的异同而鉴别。交叉训练的两个高鲁棒性模型,可以抵抗多数对抗样本,而通过两个模型分类结果的异同,以基于分类结果的方法检测,极大提高了检测正确性。

附图说明

图1为本发明总体结构示意图;

图2为交叉训练过程的流程图;

图3为对抗样本鉴别过程的流程图;

图4为实施例中模型a的神经网络结构,即卷积神经网络(cnn)示意图;

图5为实施例中模型b的神经网络结构,即全连接深度神经网络(dnn)示意图。

具体实施方式

如图1所示,为本实施例涉及的一种实现基于交叉训练的对抗样本检测方法的系统,,包括:依次级联的预处理模块、交叉训练模块和对抗样本鉴别模块,其中:预处理模块采用普通样本对模型进行训练并分别得到两个模型的模型参数,交叉训练模块将正常样本、两个模型之一的对抗样本、另一模型的对抗样本作为该模型的训练样本集训练两个模型,并各自产生对抗样本后迭代地进行交叉训练直至得到鉴别模型,对抗样本鉴别模块分别用两个鉴别模型对待鉴别样本进行分类,根据分类结果的是否相同判断该样本是否为对抗样本。

本实施例中交叉训练采用的损失函数为:

其中:xi是正常样本,是模型自身的对抗样本,是另一个模型的对抗样本,yi是样本的正确分类标签,l(xi|yi)是输入xi且标签为yi时的损失值,和ei分别是向模型中输入和xi时输出的预测值(未经过argmax),和ei的距离,k和γ是常数,本实施例中选取k=0.5,γ=0.7。

如图4所示,本实施例中所采用的模型a为使用卷积层的卷积神经网络(cnn),包括:三层卷积层和一层全连接层。

如图5所示,本实施例中所采用的模型b为使用全连接的深度学习网络(dnn),包括:四层全连接层(dense)和三层dropout层。

如图2和图3所示,本实施例涉及上述系统的针对对抗样本攻击的交叉训练方法,包括以下步骤:

a)用普通样本训练模型a和模型b,其中模型a的神经网络结构如图4所示,模型b的神经网络结构如图5所示。

b)对模型a生成对抗样本对模型b生成对抗样本普通样本为xclean

c)将xclean以1:2:1的比例用于模型a的训练,将xclean以1:2:1的比例用于模型b的训练。

d)重复步骤b)和步骤c),直至模型对对抗样本的准确率达到97%以上

e)将模型a和b用于对抗样本的鉴别,即通过交叉训练后的模型a和模型b分别对测试样本t进行样本分类,仅当两者分类结果相同时才视t为正常样本。

用现有的对抗样本检测技术在mnist和cifar数据集上进行测试后,效果分别如下:

a)mnist:

i.核密度法(kerneldensity):95.7%

ii.k-平均距离(k-meandistance):93.0%

iii.lid(局部内在维度):96.8%

iv.基于交叉训练的对抗样本检测方法(本方法):99.2%

b)cifar:

i.核密度法(kerneldensity):83.5%

ii.k-平均距离(k-meandistance):80.7%

iii.lid(局部内在维度):91.1%

iv.基于交叉训练的对抗样本检测方法(本方法):95.1%

可以看出,在比较简单的mnist数据集上,几种方法的对抗样本检测率都比较高,而本方法的检测率更是高达99.2。而在cifar数据集上,本方法则表现出明显的优势。

上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1