一种基于GAN的强化样本生成方法

文档序号:26052114发布日期:2021-07-27 15:28阅读:194来源:国知局
一种基于GAN的强化样本生成方法

本申请涉及计算机图像处理技术领域,特别是涉及一种基于gan的强化样本生成方法。



背景技术:

随着人工智能技术的发展,机器学习和深度学习算法已被广泛应用于许多复杂领域,如目标检测、人脸识别、自然语言处理和图像分类等。但有研究发现神经网络易受微小输入扰动的干扰,且当前大多数研究(如对抗样本)均是利用扰动的消极影响使神经网络产生误判。

目前,对抗样本的生成方法主要分为传统方法和生成对抗网络法。其中,传统方法主要基于梯度和优化的方法,如fgsm(goodfellowij,shlensj,szegedyc.explainingandharnessingadversarialexamples[j].arxivpreprintarxiv:1412.6572,2014.)、deepfool(moosavi-dezfoolism,fawzia,frossardp.deepfool:asimpleandaccuratemethodtofooldeepneuralnetworks[c]//proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2016:2574-2582.)和c&w(carlinin,wagnerd.towardsevaluatingtherobustnessofneuralnetworks[c]//2017ieeesymposiumonsecurityandprivacy(sp).ieee,2017:39-57.)。尽管传统方法可以在短时间内生成大量有效的对抗样本,但这些样本容易扰动过度,且样本的对抗性特性几乎不具有鲁棒性。2014年,goodfellow等人提出的生成对抗网络(gan)能够生成高质量样本,节省训练时间(goodfellowi,pouget-abadiej,mirzam,etal.generativeadversarialnets[c]//advancesinneuralinformationprocessingsystems.2014:2672-2680.),与传统模型相比,取得了长足进步,同时也为对抗样本的研究带来了新方向。此后基于生成对抗网络的方法被提了出来。肖超伟等人提出了advgan方法,该方法在原始gan结构中添加了分类器,在gan约束生成的样本接近原始样本的同时使其预测类别接近目标类别,从而确保对抗样本可以有效地进行攻击(xiaoc,lib,zhujy,etal.generatingadversarialexampleswithadversarialnetworks[j].arxivpreprintarxiv:1801.02610,2018.)。在此基础上,mangla等人提出了一种改进的方法advgan++,该方法通过引入分类器中的隐藏层向量作为gan的输入来生成对抗样本(manglap,jandials,varshneys,etal.advgan++:harnessinglatentlayersforadversarygeneration[j].arxivpreprintarxiv:1908.00706,2019.)。

而上述对抗样本的生成方法都是基于扰动的消极影响会误导网络的想法而设计的,神经网络易受微小扰动影响,因此容易使神经网络产生误判,使得神经网络的性能较低。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高神经网络的性能的基于gan的强化样本生成方法。

一种基于gan的强化样本生成方法,所述方法包括:

获取待强化样本;

将所述待强化样本输入到预先训练好的strgan生成模型中进行强化,获得目标强化样本;

所述strgan生成模型的训练方式为:

获取原始图片样本;

采用rgb转ycbcr的方法对所述原始图片样本进行处理,获得处理后的图片样本;

将所述处理后的图片样本输入到基于strgan算法的生成器中,采用strgan算法将自动提取输入的所述处理后的图片样本的特征,生成强化样本;

将所述强化样本进行精度评估,当所述精度达到预设条件时,获得strgan生成模型。

在其中一个实施例中,所述采用rgb转ycbcr的方法对所述原始图片样本进行处理,获得处理后的图片样本的步骤,包括:

采用rgb转ycbcr的方法对所述原始图片样本进行处理,并将所述原始图片样本的通道由3压缩为2,获得处理后的图片样本。

在其中一个实施例中,所述将所述强化样本进行精度评估,当所述精度达到预设条件时,获得strgan生成模型的步骤,包括:

将所述强化样本输入判别器,输出对抗损失;

将所述强化样本输入目标分类器,计算所述强化样本的标签与所述原始图片样本的标签之间的标签距离;

根据所述对抗损失、所述标签距离和l2范数计算的所述强化样本与所述原始图片样本之间的样本距离,判断所述精度是否达到预设条件;

当所述精度达到预设条件时,获得strgan生成模型。

在其中一个实施例中,所述预设条件为:

所述对抗损失小于等于第一预设值、所述标签距离小于等于第二预设值和所述样本距离小于等于第三预设值。

在其中一个实施例中,所述方法还包括:

当所述精度未达到预设条件时,返回采用rgb转ycbcr的方法对所述原始图片样本进行处理,获得处理后的图片样本的步骤,直至所述精度达到预设条件。

在其中一个实施例中,所述目标分类器为采用alexnet、vgg16和resnet18三种分类器,对二分类、三分类和五分类三种数据集进行训练,获得的准确率在75%-85%范围内的分类器。

上述基于gan的强化样本生成方法,通过获取待强化样本;将待强化样本输入到预先训练好的strgan生成模型中进行强化,获得目标强化样本;strgan生成模型的训练方式为:获取原始图片样本;采用rgb转ycbcr的方法对原始图片样本进行处理,获得处理后的图片样本;将处理后的图片样本输入到基于strgan算法的生成器中,采用strgan算法将自动提取输入的处理后的图片样本的特征,生成强化样本;将强化样本进行精度评估,当精度达到预设条件时,获得strgan生成模型,使生成的目标强化样本从扰动的积极影响来提高神经网络,提高了神经网络的性能。

附图说明

图1为一个实施例中基于gan的强化样本生成方法的流程示意图;

图2为一个实施例中基于strgan算法的生成器的模型结构示意图;

图3为一个实施例中判别器的模型结构示意图;

图4为一个实施例中strgan的整体架构示意图;

图5为一个实施例中基于gan的强化样本生成方法的评估流程示意图;

图6为一个实施例中二分类样本的实验结果示意图;

图7为一个实施例中三分类样本的实验结果示意图;

图8为一个实施例中五分类样本的实验结果示意图;

图9为一个实施例中不同图像处理的实验结果示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,如图1所示,提供了一种基于gan的强化样本生成方法,包括以下步骤:

步骤s220,获取待强化样本。

步骤s240,将待强化样本输入到预先训练好的strgan生成模型中进行强化,获得目标强化样本。

其中,strgan(全称为:stronggenerativeadversarialnetwork)生成模型是在advgan和advgan++的基础上改进用于生成强化样本的模型,strgan生成模型与目标分类器是相互独立的,仅对输入样本进行修改,使得原始识别正确的还维持正确判断,原始识别错误的被识别正确,因此不需要重新训练分类器便可以进一步提升它的性能,有效减少了分类器的计算资源和训练时间。

在一个实施例中,strgan生成模型的训练方式为:获取原始图片样本;采用rgb转ycbcr的方法对原始图片样本进行处理,获得处理后的图片样本;将处理后的图片样本输入到基于strgan算法的生成器中,采用strgan算法将自动提取输入的处理后的图片样本的特征,生成强化样本;将强化样本进行精度评估,当精度达到预设条件时,获得strgan生成模型。

其中,该strgan算法是通过最小化强化样本与原始图片样本之间的距离,以及强化标签与原始标签之间的损失,来得到所需的强化样本。如图2所示,基于strgan算法的生成器主要由编码器、残差块和解码器三部分组成,一共十六层,在输入原始图片样本到基于strgan算法的生成器进行卷积之前先对其进行处理。这里采用的是将原始图片样本由rgb格式转换为ycbcr格式的方法,但这样可能会使网络只能学习到它的变换矩阵。为了使网络能够更好的学习到样本特征,在不影响视觉质量的前提下去除了cr分量,将样本通道由3压缩为2。之后将处理后的图片样本输入编码器开始进行卷积,编码器使用下采样将输入处理后的图片样本从2×224×224卷积为256×55×55,在此期间通道数成倍增加,随着网络深度的增加,样本大小和通道数在残差块中保持不变,解码器使用上采样,将残差块的输出样本从256×55×55解卷积为3×224×224,在此期间通道数成倍下降。

在一个实施例中,采用rgb转ycbcr的方法对原始图片样本进行处理,获得处理后的图片样本的步骤,包括:

采用rgb转ycbcr的方法对原始图片样本进行处理,并将原始图片样本的通道由3压缩为2,获得处理后的图片样本。

其中,将原始图片样本的通道由3压缩为2,可以是在不影响样本视觉质量的基础上减去了cr分量,得到2通道处理后的图片样本。

在一个实施例中,将强化样本进行精度评估,当精度达到预设条件时,获得strgan生成模型的步骤,包括:

将强化样本输入判别器,输出对抗损失;将强化样本输入目标分类器,计算强化样本的标签与原始图片样本的标签之间的标签距离;根据对抗损失、标签距离和l2范数计算的强化样本与原始图片样本之间的样本距离,判断精度是否达到预设条件;当精度达到预设条件时,获得strgan生成模型。

其中,对抗损失lgan采用二值交叉熵损失函数进行计算,通过对抗学习最小化判别损失和生成损失,最终使得生成器生成尽可能逼真的强化样本且判别器无法区分该强化样本的真实性;类别损失lstr(即强化样本的标签ystr与原始图片样本的标签y之间的距离)采用多分类的交叉熵损失函数进行计算,最小化目标分类器对生成强化样本的标签与原始图片样本的标签之间的距离,即最小化损失函数,使得目标分类器对生成强化样本的标签与对应的原始图片样本标签大体一致;像素损失lpert采用均方根误差损失函数,即l2范数进行计算,通过最小化生成强化样本与原始图片样本之间的距离,来约束生成强化样本与真实样本一致,从而进一步提升生成强化样本的视觉质量。

预设条件为:对抗损失小于等于第一预设值、标签距离小于等于第二预设值和样本距离小于等于第三预设值。第一预设值、第二预设值和第三预设值可以根据strgan生成模型需要的实际精度确定,根据需要的精度高低,通过多个周期的训练,使得对抗损失、标签距离和样本距离,达到预设条件。

目标分类器为采用alexnet、vgg16和resnet18三种分类器,对二分类、三分类和五分类三种数据集进行训练,获得的准确率在75%-85%范围内的分类器。具体地,目标分类器为采用alexnet、vgg16和resnet18三种分类器,对二分类、三分类和五分类三种数据集进行训练,获得的准确率在80%的分类器。基于strgan算法的生成器直接将输入样本映射为强化样本,判别器负责约束强化样本与原始图片样本接近,目标分类器负责约束强化样本的标签与原始图片样本的标签接近,当参数达到最优时(即对抗损失小于等于第一预设值、标签距离小于等于第二预设值和样本距离小于等于第三预设值时),strgan生成模型生成的样本即为所需的强化样本。

如图3所示,判别器为一个五层的网络,前四层为卷积层,最后一层为全连接层,卷积层使用下采样将输入样本从3×224×224卷积为256×14×14,全连接层将卷积层的输出作为输入并输出一个神经元,在下采样过程中,卷积核的大小为4,步长为2,填充为1,每次卷积后样本尺寸变为前一个样本的一半,并且通道数成倍增加。

在一个实施例中,方法还包括:

当精度未达到预设条件时,返回采用rgb转ycbcr的方法对原始图片样本进行处理,获得处理后的图片样本的步骤,直至精度达到预设条件。

具体地,strgan生成模型的训练主要包含三个部分,分别是生成器g、判别器d和目标分类器f。如图4所示,首先将原始图片样本x输入生成器g(基于strgan算法的生成器)用于生成与其对应的强化样本xstr,然后将强化样本xst分别输入判别器d和目标分类器f。其中判别器d用于区分强化样本xstr和原始图片样本x并输出对抗损失lgan,其目的是使强化样本与原始图片样本无法区分;输入目标分类器f则是为了有针对性的提高其性能,通过计算强化样本的标签ystr与原始图片样本的标签y之间的距离lstr并将其最小化,从而可使强化样本的标签与原始图片样本的标签接近。为了限制扰动的大小,使用l2范数来计算xstr和x之间的距离lpert并使其最小化。在训练过程中,目标分类器的参数固定,通过求解最小-最大博弈来获得生成器和判别器的最佳参数,从而训练出精度较高的strgan生成模型。

上述基于gan的强化样本生成方法,通过获取待强化样本;将待强化样本输入到预先训练好的strgan生成模型中进行强化,获得目标强化样本;strgan生成模型的训练方式为:获取原始图片样本;采用rgb转ycbcr的方法对原始图片样本进行处理,获得处理后的图片样本;将处理后的图片样本输入到基于strgan算法的生成器中,采用strgan算法将自动提取输入的处理后的图片样本的特征,生成强化样本;将强化样本进行精度评估,当精度达到预设条件时,获得strgan生成模型,使获得的目标强化样本从扰动的积极影响来提高神经网络,提高了神经网络的性能,适用于网络规模较大且难以训练的情况下进一步提升目标网络的性能。

如图5所示,对本申请基于gan的强化样本生成方法的有效性及可行性进行验证,进而说明强化样本能够切实提高目标分类器的性能,具体步骤如下:首先将原始图片样本x输入strgan(strgan生成模型)用于生成强化样本xstr,接着分别将原始图片样本x和强化样本xstr输入到目标分类器中进行分类,最后通过对比原始图片样本与强化样本的分类准确率px和pxstr来评估目标分类器对于强化样本的性能。

如图6所示,纵坐标提升的准确率指强化样本的准确率与原始图片样本的准确率之差,横坐标epoch次数表示训练的周期。该图是针对二分类样本进行实验的结果,从图中可以看出在120个训练周期中,提升的准确率在前40个周期快速上升,之后随着训练周期的增加提升的准确率持续稳定的波动。其中基于alexnet和resnet18的准确率在20个周期之后均比基于vgg16的高,训练后期二者准确率不相上下。训练期间提升准确率最高的为基于resnet18生成的强化样本,其准确率提高了18.9%。最终提升的准确率均大于零说明本申请的strgan算法能够有效提高针对二分类样本的目标分类器的性能。

如图7所示,与图6相似但该图是针对三分类样本进行实验的结果,从图中可以看出,基于alexnet的准确率在前20个周期极速上升,之后一直处于平稳波动,而基于resnet18和vgg16的准确率在前40个周期快速上升,后期逐渐趋于平缓。整体上基于resnet18的准确率一直高于另外两个,其提升的准确率最高可达28.6%。最终提升的准确率均大于零说明本申请的strgan算法能够有效提高针对三分类样本的目标分类器的性能。

如图8所示,与图7和图6类似但该图是针对五分类样本进行实验的结果,从图中可以看出前40个周期提升的准确率大体处于快速上升趋势,后期逐渐趋于稳定。最终提升准确率最高的仍是基于resnet18生成的强化样本,其准确率提高了13.6%。最终提升的准确率均大于零说明本申请的strgan算法能够有效提高针对五分类样本的目标分类器的性能。

如图9所示,该图对比了ycbcr处理和噪声处理后生成强化样本的实验结果。从图中可以看出ycbcr处理和噪声处理后的结果相差不大,由此说明本申请中强化样本的性能只取决于算法的实现,而不在于样本的处理。由图可直观的发现针对三分类样本的基于resnet18所生成的强化样本提升的准确率最高,其经过ycbcr和噪声处理后提升的准确率分别为28.6%和25.3%。总的来说,本申请基于strgan算法的生成器训练出来的strgan生成模型生成的强化样本能够有效提高目标分类器的性能。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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