CN114091597A - 基于自适应组样本扰动约束的对抗训练方法、装置及设备 - Google Patents
基于自适应组样本扰动约束的对抗训练方法、装置及设备 Download PDFInfo
- Publication number
- CN114091597A CN114091597A CN202111350578.6A CN202111350578A CN114091597A CN 114091597 A CN114091597 A CN 114091597A CN 202111350578 A CN202111350578 A CN 202111350578A CN 114091597 A CN114091597 A CN 114091597A
- Authority
- CN
- China
- Prior art keywords
- sample
- target
- disturbance
- training
- network model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种基于自适应组样本扰动约束的对抗训练方法、装置及设备,该方法包括:将训练图像输入给初始网络模型,得到训练图像对应的网络输出向量和预测类别;若基于预测类别和训练图像的实际类别确定训练图像的分类结果为错误,将训练图像确定为自然样本图像;若基于预测类别和实际类别确定训练图像的分类结果为正确,基于网络输出向量确定训练图像对应的目标自适应组;基于目标自适应组对应的目标样本扰动约束确定训练图像对应的目标扰动向量,基于目标扰动向量和训练图像生成扰动样本图像;基于自然样本图像和扰动样本图像对初始网络模型进行训练,得到目标网络模型。通过本申请的技术方案,显著提高目标网络模型对于攻击样本的抗干扰能力。
Description
技术领域
本申请涉及人工智能安全技术领域,尤其是涉及一种基于自适应组样本扰动约束的对抗训练方法、装置及设备。
背景技术
深度学习是机器学习领域中一个新的研究方向,被引入机器学习使其更接近于最初的目标,即,实现人工智能。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息,对诸如文字,图像和声音等数据的解释有很大帮助。深度学习的最终目标是让机器能够具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是复杂的机器学习算法,在图像识别、语音识别、自然语言处理等领域均取得了显著效果,从而被广泛应用。
在使用深度学习实现图像识别、语音识别、自然语言处理等功能时,需要先训练出一个深度神经网络模型,例如,CNN(Convolutional Neural Network,卷积神经网络)模型等,基于该深度神经网络模型实现图像识别,语音识别,自然语言处理等功能。但是,在深度学习领域中,包括CNN模型在内的各种深度神经网络模型,对于攻击样本具有比较高的脆弱性。比如说,若攻击者对输入样本添加微小的扰动,形成攻击样本,则将攻击样本输入给深度神经网络模型后,深度神经网络模型会以高置信度输出一个错误结果,从而导致深度神经网络模型的可靠性降低。比如说,在使用深度神经网络模型实现图像分类功能时,需要将图像输入给深度神经网络模型,由深度神经网络模型对图像进行人工智能处理,得到图像分类结果。但是,若攻击者对图像添加微小的扰动,在将修改后的图像输入给深度神经网络模型后,深度神经网络模型对图像进行人工智能处理后,得到的图像分类结果就可能是错误分类结果。
发明内容
本申请提供一种基于自适应组样本扰动约束的对抗训练方法,包括:
获取多个训练图像;针对每个训练图像,将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量和预测类别;
若基于所述预测类别和所述训练图像的实际类别确定所述训练图像的分类结果为错误,则将所述训练图像确定为自然样本图像;
若基于所述预测类别和所述实际类别确定所述训练图像的分类结果为正确,则基于所述网络输出向量确定所述训练图像对应的目标自适应组;基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,基于所述目标扰动向量和所述训练图像生成扰动样本图像;
基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型;
其中,所述目标网络模型用于对待分类图像进行分类。
本申请提供一种基于自适应组样本扰动约束的对抗训练装置,包括:
获取模块,用于获取多个训练图像;针对每个训练图像,将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量和预测类别;
确定模块,用于若基于所述预测类别和所述训练图像的实际类别确定所述训练图像的分类结果为错误,则将所述训练图像确定为自然样本图像;
若基于所述预测类别和所述实际类别确定所述训练图像的分类结果为正确,则基于所述网络输出向量确定所述训练图像对应的目标自适应组;基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,基于所述目标扰动向量和所述训练图像生成扰动样本图像;
训练模块,用于基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型;
其中,所述目标网络模型用于对待分类图像进行分类。
本申请提供一种基于自适应组样本扰动约束的对抗训练设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现如下步骤:
获取多个训练图像;针对每个训练图像,将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量和预测类别;
若基于所述预测类别和所述训练图像的实际类别确定所述训练图像的分类结果为错误,则将所述训练图像确定为自然样本图像;
若基于所述预测类别和所述实际类别确定所述训练图像的分类结果为正确,则基于所述网络输出向量确定所述训练图像对应的目标自适应组;基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,基于所述目标扰动向量和所述训练图像生成扰动样本图像;
基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型;
其中,所述目标网络模型用于对待分类图像进行分类。
由以上技术方案可见,本申请实施例中,在训练目标网络模型(如深度神经网络模型)时,可以使用自然样本图像和扰动样本图像共同训练得到目标网络模型,从而得到具有较高自然精度和鲁棒水平的目标网络模型,使得目标网络模型能够提高对攻击样本的对抗能力,显著提高目标网络模型对于攻击样本的抗干扰能力。比如说,若攻击者对图像添加微小的扰动,形成攻击样本,在将攻击样本输入给目标网络模型后,目标网络模型也可以输出正确结论,从而提高目标网络模型的可靠性,使得已训练的目标网络模型对添加微小扰动的输入图像具有很好的分类效果,能够得到准确的分类结果。此外,对于目标网络模型训练过程中所使用的扰动样本,可以为其划分多个自适应组,每个自适应组对应统一的样本扰动约束,在此基础上,可以确定训练图像对应的目标自适应组,并基于目标自适应组对应的目标样本扰动约束确定训练图像对应的目标扰动向量,基于目标扰动向量和训练图像生成扰动样本图像,继而使用扰动样本图像训练得到目标网络模型,值得注意的是,样本的目标自适应组和扰动约束可以加以调节,以改变自然精度和鲁棒精度的权衡,从而满足不同应用场景(更关注自然精度或鲁棒精度)的需求,更具有广泛的适用性。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是基于自适应组样本扰动约束的对抗训练方法的流程示意图;
图2是基于自适应组样本扰动约束的对抗训练方法的流程示意图;
图3是基于自适应组样本扰动约束的对抗训练装置的结构示意图;
图4是基于自适应组样本扰动约束的对抗训练设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了提高网络模型对于攻击样本的抗干扰能力,在一种可能的实施方式中,可以构建一个训练数据集,该训练数据集可以包括多个自然样本(如训练图像),在此基础上,可以由自然样本得到相应的对抗样本(Adversarial examples),对抗样本是指:在原本能被网络模型正确分类的自然样本上添加微小扰动后的样本,对抗样本使得网络模型输出错误分类结果。由于训练数据集包括自然样本和对抗样本,在使用训练数据集对网络模型进行训练时,就是使用自然样本和对抗样本共同训练网络模型。其中,通过使用自然样本训练网络模型,实现网络模型的自然训练,能够保证对自然样本的分类精度;通过使用对抗样本训练网络模型,实现网络模型的对抗训练,能够提高对攻击样本的对抗能力。
在上述方式中,需要基于自然样本生成对抗样本,为了生成对抗样本,通常会设定固定的样本扰动约束(如用户手动设定),在该样本扰动约束的基础上,基于自然样本生成对抗样本。但是,由于所有自然样本对应同一个样本扰动约束,忽略了自然样本的抗干扰能力的差别(如距离分类器决策边界远的自然样本更能抵抗扰动),导致对抗训练的效率较低,网络模型的对抗能力较差。
与上述方式不同的是,在另一种可能的实施方式中,为了基于自然样本生成对抗样本,可以划分多个自适应组,每个自适应组对应样本扰动约束,不同自适应组可以对应不同的样本扰动约束。在此基础上,可以确定自然样本对应的自适应组,在该自适应组对应的样本扰动约束的基础上生成相应的对抗样本,而该扰动约束既考虑了不同自然样本的抗干扰能力,又提高了对抗训练的效率,最终,在提高网络模型对攻击样本的对抗能力的同时,保证较高的自然精度。
以下结合具体实施例,对本申请实施例的技术方案进行说明。
本申请实施例提出一种基于自适应组样本扰动约束的对抗训练方法,该方法可以应用于任意设备,参见图1所示,为该方法的流程示意图,该方法包括:
步骤101、获取多个训练图像;针对每个训练图像,将该训练图像输入给初始网络模型,得到该训练图像对应的网络输出向量和预测类别。
示例性的,可以将该训练图像输入给初始网络模型的第一子网络,并将第一子网络输出的特征向量确定为该训练图像对应的网络输出向量。其中,初始网络模型包括第一子网络和第二子网络,第二子网络包括初始网络模型中的最后一个网络层,第一子网络包括除最后一个网络层之外的其余网络层。
步骤102、若基于该预测类别和该训练图像的实际类别确定该训练图像的分类结果为错误,则将该训练图像确定为自然样本图像。
步骤103、若基于该预测类别和该训练图像的实际类别确定该训练图像的分类结果为正确,则基于该网络输出向量确定该训练图像对应的目标自适应组;基于该目标自适应组对应的目标样本扰动约束确定该训练图像对应的目标扰动向量,基于该目标扰动向量和该训练图像生成扰动样本图像。
示例性的,基于该网络输出向量确定该训练图像对应的目标自适应组,可以包括但不限于:基于所有分类结果为正确的训练图像对应的网络输出向量中的最大特征值确定目标特征值,并基于目标特征值确定至少两个自适应组;其中,每个自适应组对应一个特征值区间,且不同自适应组对应的特征值区间不同。确定该网络输出向量中的最大特征值对应的特征值区间,并将该特征值区间对应的自适应组确定为该训练图像对应的目标自适应组。
示例性的,基于目标特征值确定至少两个自适应组,包括但不限于:基于该目标特征值确定第一自适应组、第二自适应组和第三自适应组。第一自适应组对应的特征值区间的区间起始值为该目标特征值与预设第一阈值(可以根据经验进行配置)之差,且第一自适应组对应的特征值区间的区间结束值为该目标特征值与预设第二阈值(可以根据经验进行配置)之和。第二自适应组对应的特征值区间的区间结束值为该目标特征值与预设第一阈值之差。第三自适应组对应的特征值区间的区间起始值为该目标特征值与预设第二阈值之和。
示例性的,目标自适应组对应的目标样本扰动约束的确定方式,包括但不限于:获取初始样本扰动约束,基于初始样本扰动约束确定初始扰动向量,基于该初始扰动向量和目标自适应组对应的训练图像生成初始样本图像;将初始样本图像输入给已配置的参考网络模型,得到该初始样本图像对应的预测类别;若基于该预测类别确定初始样本图像的分类结果为错误,则确定初始样本扰动约束是否已满足搜索结束条件。若是,基于初始样本扰动约束确定目标自适应组对应的目标样本扰动约束;若否,则降低初始样本扰动约束,基于降低后的初始样本扰动约束,返回执行基于初始样本扰动约束确定初始扰动向量的操作。
在将初始样本图像输入给已配置的参考网络模型,得到该初始样本图像对应的预测类别之后,若基于该预测类别确定初始样本图像的分类结果为正确,则可以增加初始样本扰动约束,并判断增加后的初始样本扰动约束是否大于已配置的样本扰动约束最大值。如果否,则基于增加后的初始样本扰动约束,返回执行基于初始样本扰动约束确定初始扰动向量的操作;如果是,则基于样本扰动约束最大值确定目标自适应组对应的目标样本扰动约束。
基于该目标自适应组对应的目标样本扰动约束确定该训练图像对应的目标扰动向量,可以包括但不限于:基于该目标自适应组对应的目标样本扰动约束确定扰动向量区间;其中,该扰动向量区间的最大扰动向量是基于该目标样本扰动约束确定;将处于该扰动向量区间的扰动向量确定为该目标扰动向量。
步骤104、基于多个训练图像对应的自然样本图像和扰动样本图像,对该初始网络模型进行训练,得到已训练的目标网络模型。示例性的,目标网络模型用于对待分类图像进行分类,即将待分类图像输入给目标网络模型之后,该目标网络模型可以对待分类图像进行人工智能处理,得到分类结果。
在一种可能的实施方式中,可以将自然样本图像输入给初始网络模型,得到自然样本图像对应的第一特征向量,基于第一特征向量确定第一损失值。可以将扰动样本图像输入给初始网络模型,得到扰动样本图像对应的第二特征向量,基于第二特征向量确定第二损失值。然后,基于第一损失值和第二损失值确定目标损失值,基于目标损失值对初始网络模型进行调整,得到调整后网络模型。在此基础上,若调整后网络模型已收敛,则将调整后网络模型确定为目标网络模型;若调整后网络模型未收敛,则将调整后网络模型确定为初始网络模型,返回执行将训练图像输入给初始网络模型的操作。
由以上技术方案可见,本申请实施例中,在训练目标网络模型(如深度神经网络模型)时,可以使用自然样本图像和扰动样本图像共同训练得到目标网络模型,从而得到具有较高自然精度和鲁棒水平的目标网络模型,使得目标网络模型能够提高对攻击样本的对抗能力,显著提高目标网络模型对于攻击样本的抗干扰能力。比如说,若攻击者对图像添加微小的扰动,形成攻击样本,在将攻击样本输入给目标网络模型后,目标网络模型也可以输出正确结论,从而提高目标网络模型的可靠性,使得已训练的目标网络模型对添加微小扰动的输入图像具有很好的分类效果,能够得到准确的分类结果。此外,对于目标网络模型训练过程中所使用的扰动样本,可以为其划分多个自适应组,每个自适应组对应统一的样本扰动约束,在此基础上,可以确定训练图像对应的目标自适应组,并基于目标自适应组对应的目标样本扰动约束确定训练图像对应的目标扰动向量,基于目标扰动向量和训练图像生成扰动样本图像,继而使用扰动样本图像训练得到目标网络模型,值得注意的是,样本的目标自适应组和扰动约束可以加以调节,以改变自然精度和鲁棒精度的权衡,从而满足不同应用场景(更关注自然精度或鲁棒精度)的需求,更具有广泛的适用性。
以下结合具体实施例,对本申请实施例的基于自适应组样本扰动约束的对抗训练方法进行说明。参见图2所示,为本申请实施例中的基于自适应组样本扰动约束的对抗训练方法的流程示意图,该方法可以包括以下步骤:
步骤201、获取训练数据集,该训练数据集包括多个自然样本,自然样本可以是图像样本,也可以是其它类型样本,对此不做限制,后续以图像样本为例,将训练数据集中的自然样本称为训练图像,即训练数据集包括多个训练图像。
步骤202、针对训练数据集中的每个训练图像,将该训练图像输入给初始网络模型,得到该训练图像对应的网络输出向量和预测类别。
示例性的,可以预先配置一个网络模型作为初始网络模型,对此初始网络模型的结构不做限制,该初始网络模型可以是采用深度学习算法的网络模型(如深度神经网络模型),也可以是采用其它机器学习算法的网络模型,对此初始网络模型的类型不做限制,如初始网络模型可以是CNN模型、RNN(循环神经网络)模型、或者全连接网络模型等。该初始网络模型可以用于实现分类功能,即用于识别图像中目标对象的类别,对此初始网络模型的功能不做限制。
初始网络模型可以是未训练完成的网络模型,可以使用训练数据集对初始网络模型进行训练,对此训练过程,可以参见后续实施例。
该初始网络模型可以包括多个网络层,这些网络层可以包括但不限于卷积层(Conv)、池化层(Pool)、激励层、全连接层(FC)等,对此网络层的类型不做限制。基于此,可以将初始网络模型的所有网络层划分为第一子网络和第二子网络,第二子网络包括初始网络模型中最后一个网络层,第一子网络包括除最后一个网络层之外的其余网络层。比如说,初始网络模型共包括M个网络层,则第二子网络包括第M个网络层,第一子网络包括第1个网络层至第M-1个网络层。若M为5,第一子网络包括第1个网络层(记为网络层a1)、第2个网络层(记为网络层a2)、第3个网络层(记为网络层a3)和第4个网络层(记为网络层a4),第二子网络包括第5个网络层(记为网络层a5)。
示例性的,针对训练数据集中的每个训练图像,可以将该训练图像输入给初始网络模型,得到该训练图像对应的网络输出向量和预测类别。比如说,将该训练图像输入给初始网络模型的第一子网络,并将第一子网络输出的特征向量确定为该训练图像对应的网络输出向量。以及,可以基于该网络输出向量确定该训练图像对应的预测类别。比如说,初始网络模型用于识别10种类别,则该网络输出向量可以对应10个概率值,这10个概率值对应10种类别,将概率值最大的类别作为该训练图像对应的预测类别,对此过程不做限制。
比如说,针对每个训练图像,将该训练图像输入给初始网络模型的网络层a1,由网络层a1对该训练图像进行处理,得到特征向量b1,将特征向量b1输入给网络层a2,由网络层a2对特征向量b1进行处理,得到特征向量b2,将特征向量b2输入给网络层a3,由网络层a3对特征向量b2进行处理,得到特征向量b3,将特征向量b3输入给网络层a4,由网络层a4对特征向量b3进行处理,得到特征向量b4,将特征向量b4作为该训练图像对应的网络输出向量。在得到特征向量b4之后,可以基于这个特征向量b4获知该训练图像对应的预测类别。
综上所述,针对训练数据集中的每个训练图像,在将训练图像输入给初始网络模型之后,就可以得到训练图像对应的网络输出向量和预测类别。
示例性的,可以定义为一个参数为θ的初始网络模型,该初始网络模型可以表示为该初始网络模型的倒数第二层输出的特征向量(Logit)记为本文将这个特征向量(Logit)称为网络输出向量。基于初始网络模型的倒数第二层输出的特征向量,就可以获知训练图像对应的网络输出向量和预测类别。综上可以看出,在将训练图像输入给初始网络模型之后,就可以得到训练图像对应的网络输出向量和预测类别。
步骤203、针对训练数据集中每个训练图像,该训练图像可以对应实际类别(训练图像的标定类别,是训练图像的真实类别)和预测类别(将训练图像输入给初始网络模型后得到的类别),若基于该预测类别和该实际类别确定该训练图像的分类结果为错误,即预测类别与实际类别不同,则将该训练图像存储至第一子集合。若基于该预测类别和该实际类别确定该训练图像的分类结果为正确,即预测类别与实际类别相同,则将该训练图像存储至第二子集合。
综上可以看出,针对训练数据集中所有训练图像,部分训练图像可能存储至第一子集合,其余部分训练图像存储至第二子集合。比如说,训练数据集包括训练图像c1-训练图像c10,训练图像c1-训练图像c6被存储至第一子集合(第一子集合用于存储分类结果为错误的训练图像),训练图像c7-训练图像c10被存储至第二子集合(第二子集合用于存储分类结果为正确的训练图像)。
示例性的,针对第一子集合中的训练图像,不需要生成训练图像对应的对抗样本,可以基于该训练图像对初始网络模型进行训练,为了区分方便,在后续实施例中,将第一子集合中的训练图像称为自然样本图像。针对第二子集合中的训练图像,需要生成训练图像对应的对抗样本,可以基于对抗样本对初始网络模型进行训练,为了区分方便,将对抗样本称为扰动样本图像。
步骤204、针对第二子集合中的每个训练图像,该训练图像对应的网络输出向量可以包括多个特征值,从该网络输出向量的所有特征值中选取出最大特征值(记为zmax),并基于所有网络输出向量中的最大特征值确定目标特征值。
在一种可能的实施方式中,针对网络输出向量来说,该网络输出向量包括多个特征值(也称为元素值),如网络输出向量是m*n维的矩阵,该矩阵中每个值称为一个特征值。针对第二子集合中每个训练图像,从该训练图像对应的网络输出向量的所有特征值中选取出最大特征值。例如,从训练图像c7对应的网络输出向量的所有特征值中选取出最大特征值d1,从训练图像c8对应的网络输出向量的所有特征值中选取出最大特征值d2,从训练图像c9对应的网络输出向量的所有特征值中选取出最大特征值d3,从训练图像c10对应的网络输出向量的所有特征值中选取出最大特征值d4。基于最大特征值d1、最大特征值d2、最大特征值d3和最大特征值d4确定出目标特征值。例如,将上述4个最大特征值的平均值作为目标特征值,或将上述4个最大特征值的最大值作为目标特征值,或将上述4个最大特征值的最小值作为目标特征值,对此不做限制。
步骤205、基于目标特征值确定至少两个自适应组,每个自适应组对应一个特征值区间(特征值区间的特征值范围可以基于该目标特征值确定),且不同自适应组对应的特征值区间不同,即自适应组与特征值区间可以一一对应。
比如说,基于该目标特征值可以确定第一自适应组和第二自适应组,第一自适应组对应特征值区间e1、第二自适应组对应特征值区间e2。特征值区间e1的区间结束值为该目标特征值(后续记为d),特征值区间e1的区间起始值可以为0,也可以为-∞,即e1=(-∞,d)。特征值区间e2的区间起始值为该目标特征值d,特征值区间e2的区间结束值可以为+∞,即e2=[d,+∞)。
又例如,基于该目标特征值可以确定出第一自适应组、第二自适应组和第三自适应组,第一自适应组可以对应特征值区间e3、第二自适应组可以对应特征值区间e4、第三自适应组可以对应特征值区间e5。特征值区间e3的区间起始值可以为目标特征值d与预设第一阈值(可以根据经验进行配置,记为f1,f1为正数)之差,特征值区间e3的区间结束值可以为目标特征值d与预设第二阈值(可以根据经验进行配置,记为f2,f2为正数,f2与f1可以相同,也可以不同)之和,即e3=[d-f1,d+f2]。特征值区间e4的区间结束值可以为目标特征值d与预设第一阈值之差,特征值区间e4的区间起始值可以为0,也可以为-∞,即e4=(-∞,d-f1)。特征值区间e5的区间起始值可以为目标特征值d与预设第二阈值之和,特征值区间e5的区间结束值可以为+∞,即e5=(d+f2,+∞)。
综上,可以选择被初始网络模型正确分类的训练图像,得到训练图像的zmax的频数分布,发现近似服从一种正态分布,将集中在zmax均值(即目标特征值d)附近的训练图像分为一组(第一自适应组),将低于zmax均值的训练图像分为一组(第二自适应组),将高于zmax均值的训练图像分为一组(第三自适应组)。
又例如,基于该目标特征值可以确定出4个自适应组,第1个自适应组对应的特征值区间为[d-f1,d+f2],第2个自适应组对应的特征值区间为(-∞,d-f1),第3个自适应组对应的特征值区间为(d+f2,d+f2+f3],第4个自适应组对应的特征值区间为(d+f2+f3,+∞)。当然,上述只是几个示例,只要基于目标特征值能够划分多个自适应组即可,对此自适应组的划分方式不做限制。
步骤206、针对每个自适应组,确定该自适应组对应的样本扰动约束。
示例性的,由于每个自适应组对应的样本扰动约束的确定方式相同,因此,在后续实施例中,以一个自适应组对应的样本扰动约束的确定过程为例。
针对步骤206,可以采用如下步骤确定自适应组对应的样本扰动约束:
步骤2061、获取初始样本扰动约束,该初始样本扰动约束可以根据经验任意配置,比如说,初始化一个样本扰动约束区间[εl,εr],εl表示样本扰动约束区间的最小值,εr表示样本扰动约束区间的最大值,均可以根据经验配置,对此不做限制,只要εl小于εr即可,可以将εr作为该初始样本扰动约束。
步骤2062、基于该初始样本扰动约束确定初始扰动向量。比如说,先基于该初始样本扰动约束确定扰动向量区间,该扰动向量区间的最大扰动向量是基于该初始样本扰动约束确定,将处于该扰动向量区间的扰动向量确定为初始扰动向量。需要注意的是,初始扰动向量可以包括多个扰动值,即针对图像的每个像素点,对应一个扰动值,不同像素点对应的扰动值可以相同,也可以不同,但是,每个像素点对应的扰动值就需要位于该扰动向量区间。
比如说,扰动向量区间可以是[-εr,εr],对此不做限制,只要扰动向量区间的最大扰动向量是初始样本扰动约束εr即可。在得到扰动向量区间之后,将处于扰动向量区间的任一扰动向量确定为初始扰动向量,对此不做限制,只要初始扰动向量位于扰动向量区间即可。例如,从扰动向量区间[-εr,εr]中随机选取一个扰动向量,将选取的扰动向量作为初始扰动向量。需要注意的是,在从扰动向量区间[-εr,εr]中随机选取初始扰动向量时,需要随机选取多个扰动值,即每个像素点对应一个扰动值,且这些扰动值均需要位于扰动向量区间[-εr,εr]。
步骤2063、基于初始扰动向量和自适应组对应的训练图像生成初始样本图像。
比如说,假设划分出第一自适应组、第二自适应组和第三自适应组,在确定第一自适应组对应的样本扰动约束(后续以第一自适应组为例,第二自适应组和第三自适应组的实现方式与此类似)时,针对第二子集合中的每个训练图像,从该训练图像对应的网络输出向量的所有特征值中选取出最大特征值zmax,若该最大特征值zmax处于第一自适应组对应的特征值区间e3,则将该训练图像划分到第一自适应组,若该最大特征值zmax不处于第一自适应组对应的特征值区间e3,则不将该训练图像划分到第一自适应组。综上,可以得到第一自适应组对应的训练图像(可以为多个),以第一自适应组对应训练图像c7为例。
基于第一自适应组对应的初始扰动向量和第一自适应组对应的训练图像c7,可以生成与训练图像c7对应的初始样本图像c7’,比如说,在训练图像c7的基础上添加该初始扰动向量,得到初始样本图像c7’,也就是说,在训练图像c7的每个像素点的像素值的基础上添加该初始扰动向量,得到初始样本图像c7’。
其中,该初始扰动向量包括多个扰动值,即每个像素点对应一个扰动值,针对每个像素点,在该像素点的像素值的基础上添加该像素点对应的扰动值。
步骤2064、将该初始样本图像输入给已配置的参考网络模型(即根据经验配置的参考网络模型),得到该初始样本图像对应的预测类别。
示例性的,在确定自适应组对应的样本扰动约束的过程中,参考网络模型用于提供初始样本图像对应的预测类别。在确定样本扰动约束的过程中,参考网络模型保持不变,即不会发生变化,即不需要对参考网络模型进行训练。
示例性的,参考网络模型的结构与初始网络模型的结构可以相同,参考网络模型的功能与初始网络模型的功能可以相同,参考网络模型中的参数值与初始网络模型中的参数值可以不同,在初始网络模型的训练过程中,初始网络模型中的参数值会发生变化,而参考网络模型中的参数值不会发生变化。
示例性的,在将该初始样本图像输入给参考网络模型之后,参考网络模型可以对该初始样本图像进行处理,并得到该初始样本图像对应的预测类别,预测类别的获取方式可以参见步骤202,在此不再重复赘述。
步骤2065、基于该初始样本图像对应的预测类别和该初始样本图像对应的实际类别,确定该初始样本图像的分类结果是否为错误。
如果是,即该初始样本图像对应的预测类别与该初始样本图像对应的实际类别不同,则执行步骤2066。如果否,即该初始样本图像对应的预测类别与该初始样本图像对应的实际类别相同,则执行步骤2069。
步骤2066、若该初始样本图像的分类结果为错误,则确定初始样本扰动约束是否已满足搜索结束条件。如果是,执行步骤2067,如果否,执行步骤2068。
步骤2067、基于初始样本扰动约束确定该初始样本图像对应的样本扰动约束,比如说,将该初始样本扰动约束作为该初始样本图像对应的样本扰动约束。
步骤2068、降低初始样本扰动约束,基于降低后的初始样本扰动约束,返回执行步骤2062,在重新执行步骤2062时,初始样本扰动约束是降低后的初始样本扰动约束,即基于降低后的初始样本扰动约束确定初始扰动向量。
针对步骤2066-步骤2068,可以确定是否已满足搜索结束条件,该搜索结束条件可以根据经验配置,对此不做限制,比如说,搜索结束条件可以是:样本扰动约束区间的最大值εr(即初始样本扰动约束εr)与样本扰动约束区间的最小值εl之间的差值小于或等于预设阈值γ,即εr-εl≤γ,当然,该搜索结束条件也可以是其它条件,对此不做限制。在此基础上,若εr与εl的差值小于或等于γ,则将该初始样本扰动约束εr作为该初始样本图像对应的样本扰动约束。若εr与εl的差值大于γ,则降低初始样本扰动约束εr,即样本扰动约束区间[εl,εr]中的εr降低,将降低后的εr更新为初始样本扰动约束,也即更新到样本扰动约束区间。
基于降低后的初始样本扰动约束εr,返回执行步骤2062-步骤2065,在步骤2065中,若该初始样本图像的分类结果为错误,则确定εr与εl的差值,若该差值小于或等于γ,则将εr作为该初始样本图像对应的样本扰动约束,若该差值大于γ,则降低初始样本扰动约束εr,以此类推。在上述过程中,εr是指降低后的初始样本扰动约束,εl是样本扰动约束区间的最小值,显然,上述过程中,不断对εr进行降低,而εl保持不变,即εr与εl的差值越来越小,直至εr-εl≤γ。
示例性的,在降低初始样本扰动约束εr时,可以采用二分法降低初始样本扰动约束εr,即降低后的初始样本扰动约束εr是降低前的初始样本扰动约束的一半。当然,也可以采用其它方式降低初始样本扰动约束εr,对此不做限制。
步骤2069、若该初始样本图像的分类结果为正确,则增加初始样本扰动约束,判断增加后的初始样本扰动约束是否大于已配置的样本扰动约束最大值(可以根据经验进行配置)。如果否,则基于增加后的初始样本扰动约束,返回执行步骤2062,在重新执行步骤2062时,初始样本扰动约束是增加后的初始样本扰动约束,即基于增加后的初始样本扰动约束确定初始扰动向量。如果是,则基于样本扰动约束最大值确定该初始样本图像对应的样本扰动约束,比如说,将该样本扰动约束最大值作为该初始样本图像对应的样本扰动约束。
针对步骤2069,可以增加初始样本扰动约束εr,即样本扰动约束区间[εl,εr]中的εr增加,将增加后的εr更新为初始样本扰动约束,也即更新到样本扰动约束区间。以及,还可以增加样本扰动约束区间[εl,εr]中的εl,将增加后的εl更新到样本扰动约束区间,即样本扰动约束区间[εl,εr]中的εl和εr均增加。
比如说,在增加初始样本扰动约束εr时,可以采用如下方式: 是根据经验配置的数值,可以为正数,即在初始样本扰动约束εr的基础上增加数值得到增加后的初始样本扰动约束εr。在增加样本扰动约束区间[εl,εr]中的εl时,可以采用如下方式: 是根据经验配置的数值,可以为正数,即在εl的基础上增加数值得到增加后的εl。在上述过程中,数值与数值可以相同,也可以不同,本实施例以数值与数值相同为例。当然,也可以采用其它方式增加初始样本扰动约束εr,对此不做限制。
在实际应用中,为了防止初始样本扰动约束εr的值过大,还可以通过不断更新εl←(εl+εr)/2或者εr←(εl+εr)/2,从而不断缩小[εl,εr]的范围。
可以判断增加后的初始样本扰动约束εr是否大于样本扰动约束最大值,如果是,则将样本扰动约束最大值作为该初始样本图像对应的样本扰动约束。如果否,则基于增加后的初始样本扰动约束εr,返回执行步骤2062-步骤2065,在步骤2065中,若该初始样本图像的分类结果为正确,则继续增加初始样本扰动约束εr,以此类推,一直到增加后的初始样本扰动约束εr大于样本扰动约束最大值,或者,基于增加后的初始样本扰动约束εr,获知初始样本图像的分类结果为错误,执行步骤2066-步骤2068,最终得到初始样本图像对应的样本扰动约束。
综上所述,针对第一自适应组对应的每张训练图像,可以采用步骤2061-步骤2069,得到该训练图像对应的初始样本图像对应的样本扰动约束,基于第一自适应组对应的训练图像对应的样本扰动约束,就可以得到第一自适应组对应的样本扰动约束。比如说,将第一自适应组对应的训练图像对应的样本扰动约束的平均值,作为第一自适应组对应的样本扰动约束,或者,将第一自适应组对应的训练图像对应的样本扰动约束的最大值,作为第一自适应组对应的样本扰动约束,或者,将第一自适应组对应的训练图像对应的样本扰动约束的最小值,作为第一自适应组对应的样本扰动约束,对此不做限制。
同理,可以得到第二自适应组对应的样本扰动约束和第三自适应组对应的样本扰动约束,从而得到每个自适应组对应的样本扰动约束。
步骤207、针对第二子集合中的每个训练图像,从该训练图像对应的网络输出向量的所有特征值中选取出最大特征值,基于最大特征值确定该训练图像对应的目标自适应组;基于该目标自适应组对应的目标样本扰动约束确定该训练图像对应的目标扰动向量,基于目标扰动向量和该训练图像生成扰动样本图像。
比如说,假设划分出第一自适应组、第二自适应组和第三自适应组,可以从该训练图像对应的网络输出向量的所有特征值中选取出最大特征值zmax,若该最大特征值zmax处于第一自适应组对应的特征值区间e3,则目标自适应组是第一自适应组,若该最大特征值zmax处于第二自适应组对应的特征值区间e4,则目标自适应组是第二自适应组,若该最大特征值zmax处于第三自适应组对应的特征值区间e5,则目标自适应组是第三自适应组。假设目标自适应组是第一自适应组,则将第一自适应组对应的样本扰动约束确定为目标样本扰动约束。
然后,基于目标样本扰动约束确定扰动向量区间,该扰动向量区间的最大扰动向量是基于该目标样本扰动约束确定,将处于该扰动向量区间的扰动向量确定为该训练图像对应的目标扰动向量,基于该目标扰动向量和该训练图像生成扰动样本图像。需要注意的是,目标扰动向量可以包括多个扰动值,即针对图像的每个像素点,对应一个扰动值,不同像素点对应的扰动值可以相同,也可以不同,但是,每个像素点对应的扰动值就需要位于该扰动向量区间。
比如说,扰动向量区间可以是[-εr,εr],对此不做限制,只要扰动向量区间的最大扰动向量是目标样本扰动约束εr即可。在得到扰动向量区间之后,将处于扰动向量区间的任一扰动向量确定为该训练图像对应的目标扰动向量,对此不做限制,只要目标扰动向量位于该扰动向量区间即可。需要注意的是,在从扰动向量区间[-εr,εr]中随机选取目标扰动向量时,需要随机选取多个扰动值,即每个像素点对应一个扰动值,且这些扰动值均需要位于扰动向量区间[-εr,εr]。
在得到该训练图像对应的目标扰动向量之后,在该训练图像的基础上添加该目标扰动向量,得到扰动样本图像,也就是说,在该训练图像的每个像素点的像素值的基础上添加该目标扰动向量,得到扰动样本图像,然后,可以使用该扰动样本图像替换第二子集合中的该训练图像,即对第二子集合进行更新。
其中,该目标扰动向量包括多个扰动值,即每个像素点对应一个扰动值,针对每个像素点,在该像素点的像素值的基础上添加该像素点对应的扰动值。
显然,在对第二子集合中的每个训练图像进行上述处理后,就可以得到每个训练图像对应的扰动样本图像,使得第二子集合包括的所有图像均是扰动样本图像,而扰动样本图像就是在训练图像的基础上添加扰动得到的对抗样本。
需要注意的是,由于不同训练图像对应的自适应组可能不同,从而使得不同训练图像能够对应不同样本扰动约束,考虑不同训练图像的抗干扰能力,提高对攻击样本的对抗能力的同时也适当保护了自然精度。
综上所述,可以得到第一子集合和第二子集合,第一子集合包括多个自然样本图像(即非对抗样本),第二子集合包括多个扰动样本图像(即对抗样本)。在此基础上,可以基于第一子集合和第二子集合进行模型训练,参见后续步骤。
步骤208、基于第一子集合中的自然样本图像和第二子集合中的扰动样本图像,对初始网络模型进行训练,得到已训练的目标网络模型。
在一种可能的实施方式中,可以采用如下步骤对初始网络模型进行训练:
步骤2081、将第一子集合中的自然样本图像输入给初始网络模型,得到自然样本图像对应的第一特征向量,基于第一特征向量确定第一损失值。
比如说,针对第一子集合中的每个自然样本图像,将该自然样本图像输入给初始网络模型的第一子网络,将第一子网络输出的特征向量作为该自然样本图像对应的第一特征向量(即第一特征向量对应上述实施例的网络输出向量)。
在得到所有自然样本图像对应的第一特征向量之后,就可以基于这些第一特征向量确定目标损失函数1的损失值,记为第一损失值。比如说,可以预先配置目标损失函数1,目标损失函数1的输入是第一特征向量,目标损失函数1的输出是第一损失值,对此目标损失函数1不做限制,只要能够满足上述输入输出关系即可。基于此,在得到这些第一特征向量之后,就可以将这些第一特征向量代入目标损失函数1,得到目标损失函数1的第一损失值。
步骤2082、将第二子集合中的扰动样本图像输入给初始网络模型,得到扰动样本图像对应的第二特征向量,基于第二特征向量确定第二损失值。
比如说,针对第二子集合中的每个扰动样本图像,可以将该扰动样本图像输入给初始网络模型的第一子网络,得到第二特征向量。
在得到所有扰动样本图像对应的第二特征向量之后,就可以基于这些第二特征向量确定目标损失函数2的损失值,记为第二损失值。目标损失函数2与目标损失函数1可以相同,也可以不同,以二者相同为例。在得到第二特征向量之后,就可以将这些第二特征向量代入目标损失函数2,得到第二损失值。
步骤2083、基于该第一损失值和该第二损失值确定目标损失值,并基于该目标损失值对初始网络模型进行调整,得到调整后网络模型。
比如说,可以基于该第一损失值与该第二损失值之间的和,确定该目标损失值,然后,基于该目标损失值对初始网络模型的参数进行更新,如通过反向传播算法更新该初始网络模型的网络参数(即网络权重),得到更新后的网络模型(记为调整后网络模型),对此更新过程不做限制。反向传播算法的示例可以是梯度下降法,即通过梯度下降法更新初始网络模型的网络权重。
步骤2084、在得到调整后网络模型之后,若调整后网络模型已收敛,则将调整后网络模型确定为目标网络模型,即完成模型训练过程,得到已训练的目标网络模型。若调整后网络模型未收敛,则将调整后网络模型确定为初始网络模型,返回步骤202,即将训练数据集中的每个训练图像输入给调整后网络模型,重复上述步骤,一直到调整后网络模型已收敛,得到目标网络模型。
示例性的,若目标损失值小于预设阈值,则可以确定调整后网络模型已收敛,否则,确定调整后网络模型未收敛。或者,若初始网络模型的迭代次数达到预设次数阈值,则可以确定调整后网络模型已收敛,否则,确定调整后网络模型未收敛。或者,若初始网络模型的迭代时长达到预设时长阈值,则可以确定调整后网络模型已收敛,否则,确定调整后网络模型未收敛。当然,上述只是调整后网络模型是否已收敛的几个示例,对此确定方式不做限制。
在得到目标网络模型之后,目标网络模型用于对待分类图像进行分类,即将待分类图像输入给目标网络模型之后,该目标网络模型可以对待分类图像进行人工智能处理,得到分类结果,对此目标网络模型的处理过程不做限制。
由以上技术方案可见,本申请实施例中,为了基于自然样本生成对抗样本,可以划分多个自适应组,每个自适应组对应样本扰动约束,即不同自适应组对应不同的样本扰动约束。在此基础上,可以确定自然样本对应的自适应组,在该自适应组对应的样本扰动约束的基础上,基于该自然样本生成对抗样本,使得不同自然样本能够对应不同样本扰动约束,考虑不同自然样本的抗干扰能力,提高对抗训练的效率,提高网络模型对攻击样本的对抗能力,得到具有较高自然精度和鲁棒水平的目标网络模型,满足不同应用场景的需求。zmax可以粗略衡量样本与分类器的决策边界的距离,具有相近zmax的样本抗扰动能力相近,由此根据zmax对样本进行分组(即自适应组),为每组样本自适应扰动约束,提高了自适应训练的效率,避免自适应得到过小或过大的扰动约束,利于鲁棒精度和自然精度的权衡,改善鲁棒性和自然精度的trade-off,可以灵活应对不同的场景。
以下结合具体应用场景,对本申请实施例的技术方案进行说明。
本申请实施例中提出一种基于自适应组样本扰动约束的对抗训练方法,该方法可以应用于任意类型的电子设备,该方法可以包括以下步骤:
步骤S11、将训练数据集D分为K个子数据集(minibatch),每个子数据集包括M个样本(即上述实施例的训练图像),设定T个epoch(使用训练数据集的全部数据对初始网络模型进行一次完整的训练过程,即1个epoch),T个epoch表示对初始网络模型进行T次完整训练。
示例性的,训练数据集D可以如CIFAR-10和ImageNet-30等训练数据集。
步骤S12、将第一个子数据集中的所有自然样本输入给初始网络模型,得到该自然样本对应的网络输出向量中的最大特征值zmax和预测类别。
步骤S13、基于该自然样本对应的预测类别确定分类结果是否正确,如果否,将该自然样本存储至第一子集合,如果是,将该自然样本存储至第二子集合。
步骤S14、基于第二子集合中的自然样本,基于自然样本对应的网络输出向量中的最大特征值zmax划分多个自适应组,确定每个自适应组对应的样本扰动约束,在自然样本对应的自适应组对应的样本扰动约束的约束下,基于该自然样本生成扰动样本,并将该扰动样本存储至第二子集合,以替换该自然样本。
步骤S15、将第一子集合中的自然样本和第二子集合中的扰动样本输入给初始网络模型,得到目标损失值,基于目标损失值进行反向传播更新初始网络模型的网络参数,从而完成一个子数据集(minibatch)的训练过程。
对于剩余的K-1个子数据集,采用步骤S12-步骤S15重复训练过程,不断更新初始网络模型的网络参数,完成一个epoch的训练。
然后,将整个训练数据集顺序打乱,针对新的K个子数据集,采用步骤S12-步骤S15重复训练过程,不断更新初始网络模型的网络参数,完成另一个epoch的训练。以此类推,不断重复上述过程,直至T个eopch的训练结束。
基于与上述方法同样的申请构思,本申请实施例中提出一种基于自适应组样本扰动约束的对抗训练装置,参见图3所示,为所述基于自适应组样本扰动约束的对抗训练装置的结构示意图,所述装置可以包括:
获取模块31,用于获取多个训练图像;针对每个训练图像,将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量和预测类别;
确定模块32,用于若基于所述预测类别和所述训练图像的实际类别确定所述训练图像的分类结果为错误,则将所述训练图像确定为自然样本图像;所述确定模块32,还用于若基于所述预测类别和所述实际类别确定所述训练图像的分类结果为正确,则基于所述网络输出向量确定所述训练图像对应的目标自适应组;基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,基于所述目标扰动向量和所述训练图像生成扰动样本图像;
训练模块33,用于基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型;
其中,所述目标网络模型用于对待分类图像进行分类。
在一种可能的实施方式中,所述获取模块31将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量时具体用于:
将所述训练图像输入给初始网络模型的第一子网络,并将所述第一子网络输出的特征向量确定为所述网络输出向量;其中,所述初始网络模型包括第一子网络和第二子网络,所述第二子网络包括初始网络模型中的最后一个网络层,所述第一子网络包括除所述最后一个网络层之外的其余网络层。
在一种可能的实施方式中,所述确定模块32基于所述网络输出向量确定所述训练图像对应的目标自适应组时具体用于:
基于所有分类结果为正确的训练图像对应的网络输出向量中的最大特征值确定目标特征值,并基于所述目标特征值确定至少两个自适应组;其中,每个自适应组对应一个特征值区间,且不同自适应组对应的特征值区间不同;
确定所述网络输出向量中的最大特征值对应的特征值区间,并将该特征值区间对应的自适应组确定为所述训练图像对应的目标自适应组。
在一种可能的实施方式中,所述确定模块32基于所述目标特征值确定至少两个自适应组时具体用于:基于所述目标特征值确定第一自适应组、第二自适应组和第三自适应组;所述第一自适应组对应的特征值区间的区间起始值为所述目标特征值与预设第一阈值之差,且所述第一自适应组对应的特征值区间的区间结束值为所述目标特征值与预设第二阈值之和;所述第二自适应组对应的特征值区间的区间结束值为所述目标特征值与预设第一阈值之差;所述第三自适应组对应的特征值区间的区间起始值为所述目标特征值与预设第二阈值之和。
在一种可能的实施方式中,所述确定模块32确定目标自适应组对应的目标样本扰动约束时具体用于:获取初始样本扰动约束,基于所述初始样本扰动约束确定初始扰动向量,基于所述初始扰动向量和所述目标自适应组对应的训练图像生成初始样本图像;将所述初始样本图像输入给已配置的参考网络模型,得到所述初始样本图像对应的预测类别;若基于该预测类别确定所述初始样本图像的分类结果为错误,则确定所述初始样本扰动约束是否已满足搜索结束条件;若是,则基于所述初始样本扰动约束确定所述目标自适应组对应的目标样本扰动约束;若否,则降低所述初始样本扰动约束,基于降低后的初始样本扰动约束,返回执行基于所述初始样本扰动约束确定初始扰动向量的操作。
在一种可能的实施方式中,所述确定模块32将所述初始样本图像输入给已配置的参考网络模型,得到所述初始样本图像对应的预测类别之后还用于:
若基于该预测类别确定所述初始样本图像的分类结果为正确,则增加所述初始样本扰动约束,判断增加后的初始样本扰动约束是否大于已配置的样本扰动约束最大值;如果否,则基于增加后的初始样本扰动约束,返回执行基于所述初始样本扰动约束确定初始扰动向量的操作;如果是,则基于所述样本扰动约束最大值确定所述目标自适应组对应的目标样本扰动约束。
在一种可能的实施方式中,所述确定模块32基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量时具体用于:
基于所述目标自适应组对应的目标样本扰动约束确定扰动向量区间;其中,所述扰动向量区间的最大扰动向量是基于所述目标样本扰动约束确定;
将处于所述扰动向量区间的扰动向量确定为所述目标扰动向量。
在一种可能的实施方式中,所述训练模块33基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型时具体用于:将所述自然样本图像输入给所述初始网络模型,得到所述自然样本图像对应的第一特征向量,基于所述第一特征向量确定第一损失值;将所述扰动样本图像输入给所述初始网络模型,得到所述扰动样本图像对应的第二特征向量,基于所述第二特征向量确定第二损失值;
基于所述第一损失值和所述第二损失值确定目标损失值,基于所述目标损失值对所述初始网络模型进行调整,得到调整后网络模型;
若调整后网络模型已收敛,则将调整后网络模型确定为目标网络模型;
若调整后网络模型未收敛,则将调整后网络模型确定为初始网络模型,返回执行将所述训练图像输入给初始网络模型的操作。
基于与上述方法同样的申请构思,本申请实施例中提出一种基于自适应组样本扰动约束的对抗训练设备(即电子设备),参见图4所示,所述基于自适应组样本扰动约束的对抗训练设备可以包括:处理器41和机器可读存储介质42,所述机器可读存储介质42存储有能够被所述处理器41执行的机器可执行指令;所述处理器41用于执行机器可执行指令,以实现如下步骤:
获取多个训练图像;针对每个训练图像,将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量和预测类别;
若基于所述预测类别和所述训练图像的实际类别确定所述训练图像的分类结果为错误,则将所述训练图像确定为自然样本图像;
若基于所述预测类别和所述实际类别确定所述训练图像的分类结果为正确,则基于所述网络输出向量确定所述训练图像对应的目标自适应组;基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,基于所述目标扰动向量和所述训练图像生成扰动样本图像;
基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型;
其中,所述目标网络模型用于对待分类图像进行分类。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的基于自适应组样本扰动约束的对抗训练方法。其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于自适应组样本扰动约束的对抗训练方法,其特征在于,包括:
获取多个训练图像;针对每个训练图像,将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量和预测类别;
若基于所述预测类别和所述训练图像的实际类别确定所述训练图像的分类结果为错误,则将所述训练图像确定为自然样本图像;
若基于所述预测类别和所述实际类别确定所述训练图像的分类结果为正确,则基于所述网络输出向量确定所述训练图像对应的目标自适应组;基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,基于所述目标扰动向量和所述训练图像生成扰动样本图像;
基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型;
其中,所述目标网络模型用于对待分类图像进行分类。
2.根据权利要求1所述的方法,其特征在于,所述将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量,包括:
将所述训练图像输入给初始网络模型的第一子网络,并将所述第一子网络输出的特征向量确定为所述网络输出向量;其中,所述初始网络模型包括第一子网络和第二子网络,所述第二子网络包括初始网络模型中的最后一个网络层,所述第一子网络包括除所述最后一个网络层之外的其余网络层。
3.根据权利要求1所述的方法,其特征在于,
所述基于所述网络输出向量确定所述训练图像对应的目标自适应组,包括:
基于所有分类结果为正确的训练图像对应的网络输出向量中的最大特征值确定目标特征值,并基于所述目标特征值确定至少两个自适应组;其中,每个自适应组对应一个特征值区间,且不同自适应组对应的特征值区间不同;
确定所述网络输出向量中的最大特征值对应的特征值区间,并将该特征值区间对应的自适应组确定为所述训练图像对应的目标自适应组。
4.根据权利要求3所述的方法,其特征在于,
所述基于所述目标特征值确定至少两个自适应组,包括:
基于所述目标特征值确定第一自适应组、第二自适应组和第三自适应组;
其中,所述第一自适应组对应的特征值区间的区间起始值为所述目标特征值与预设第一阈值之差,且所述第一自适应组对应的特征值区间的区间结束值为所述目标特征值与预设第二阈值之和;所述第二自适应组对应的特征值区间的区间结束值为所述目标特征值与预设第一阈值之差;所述第三自适应组对应的特征值区间的区间起始值为所述目标特征值与预设第二阈值之和。
5.根据权利要求1所述的方法,其特征在于,
所述目标自适应组对应的目标样本扰动约束的确定方式,包括:
获取初始样本扰动约束,基于所述初始样本扰动约束确定初始扰动向量,基于所述初始扰动向量和所述目标自适应组对应的训练图像生成初始样本图像;
将所述初始样本图像输入给已配置的参考网络模型,得到所述初始样本图像对应的预测类别;若基于该预测类别确定所述初始样本图像的分类结果为错误,则确定所述初始样本扰动约束是否已满足搜索结束条件;
若是,则基于所述初始样本扰动约束确定所述目标自适应组对应的目标样本扰动约束;若否,则降低所述初始样本扰动约束,基于降低后的初始样本扰动约束,并返回执行基于所述初始样本扰动约束确定初始扰动向量的操作。
6.根据权利要求5所述的方法,其特征在于,
所述将所述初始样本图像输入给已配置的参考网络模型,得到所述初始样本图像对应的预测类别之后,所述方法还包括:
若基于该预测类别确定所述初始样本图像的分类结果为正确,则增加所述初始样本扰动约束,并判断增加后的初始样本扰动约束是否大于已配置的样本扰动约束最大值;如果否,则基于增加后的初始样本扰动约束,返回执行基于所述初始样本扰动约束确定初始扰动向量的操作;如果是,则基于所述样本扰动约束最大值确定所述目标自适应组对应的目标样本扰动约束。
7.根据权利要求1所述的方法,其特征在于,所述基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,包括:
基于所述目标自适应组对应的目标样本扰动约束确定扰动向量区间;其中,所述扰动向量区间的最大扰动向量是基于所述目标样本扰动约束确定的;
将处于所述扰动向量区间的扰动向量确定为所述目标扰动向量。
8.根据权利要求1所述的方法,其特征在于,
所述基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型,包括:
将所述自然样本图像输入给所述初始网络模型,得到所述自然样本图像对应的第一特征向量,基于所述第一特征向量确定第一损失值;
将所述扰动样本图像输入给所述初始网络模型,得到所述扰动样本图像对应的第二特征向量,基于所述第二特征向量确定第二损失值;
基于所述第一损失值和所述第二损失值确定目标损失值,基于所述目标损失值对所述初始网络模型进行调整,得到调整后网络模型;
若调整后网络模型已收敛,则将调整后网络模型确定为目标网络模型;
若调整后网络模型未收敛,则将调整后网络模型确定为初始网络模型,返回执行将所述训练图像输入给初始网络模型的操作。
9.一种基于自适应组样本扰动约束的对抗训练装置,其特征在于,包括:
获取模块,用于获取多个训练图像;针对每个训练图像,将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量和预测类别;
确定模块,用于若基于所述预测类别和所述训练图像的实际类别确定所述训练图像的分类结果为错误,则将所述训练图像确定为自然样本图像;
若基于所述预测类别和所述实际类别确定所述训练图像的分类结果为正确,则基于所述网络输出向量确定所述训练图像对应的目标自适应组;基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,基于所述目标扰动向量和所述训练图像生成扰动样本图像;
训练模块,用于基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型;
其中,所述目标网络模型用于对待分类图像进行分类。
10.一种基于自适应组样本扰动约束的对抗训练设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现如下步骤:
获取多个训练图像;针对每个训练图像,将所述训练图像输入给初始网络模型,得到所述训练图像对应的网络输出向量和预测类别;
若基于所述预测类别和所述训练图像的实际类别确定所述训练图像的分类结果为错误,则将所述训练图像确定为自然样本图像;
若基于所述预测类别和所述实际类别确定所述训练图像的分类结果为正确,则基于所述网络输出向量确定所述训练图像对应的目标自适应组;基于所述目标自适应组对应的目标样本扰动约束确定所述训练图像对应的目标扰动向量,基于所述目标扰动向量和所述训练图像生成扰动样本图像;
基于所述多个训练图像对应的自然样本图像和扰动样本图像,对所述初始网络模型进行训练,得到已训练的目标网络模型;
其中,所述目标网络模型用于对待分类图像进行分类。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111350578.6A CN114091597A (zh) | 2021-11-15 | 2021-11-15 | 基于自适应组样本扰动约束的对抗训练方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111350578.6A CN114091597A (zh) | 2021-11-15 | 2021-11-15 | 基于自适应组样本扰动约束的对抗训练方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114091597A true CN114091597A (zh) | 2022-02-25 |
Family
ID=80300749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111350578.6A Pending CN114091597A (zh) | 2021-11-15 | 2021-11-15 | 基于自适应组样本扰动约束的对抗训练方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114091597A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115169251A (zh) * | 2022-09-06 | 2022-10-11 | 新华三人工智能科技有限公司 | 一种风扇转速控制方法、装置及设备 |
CN115496924A (zh) * | 2022-09-29 | 2022-12-20 | 北京瑞莱智慧科技有限公司 | 一种数据处理方法、相关设备及存储介质 |
-
2021
- 2021-11-15 CN CN202111350578.6A patent/CN114091597A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115169251A (zh) * | 2022-09-06 | 2022-10-11 | 新华三人工智能科技有限公司 | 一种风扇转速控制方法、装置及设备 |
CN115169251B (zh) * | 2022-09-06 | 2022-11-25 | 新华三人工智能科技有限公司 | 一种风扇转速控制方法、装置及设备 |
CN115496924A (zh) * | 2022-09-29 | 2022-12-20 | 北京瑞莱智慧科技有限公司 | 一种数据处理方法、相关设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10909455B2 (en) | Information processing apparatus using multi-layer neural network and method therefor | |
WO2021164625A1 (en) | Method of training an image classification model | |
CN105960647B (zh) | 紧凑人脸表示 | |
Singh et al. | Layer-specific adaptive learning rates for deep networks | |
KR20200022739A (ko) | 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치 | |
Schilling | The effect of batch normalization on deep convolutional neural networks | |
CN111310814A (zh) | 利用不平衡正负样本对业务预测模型训练的方法及装置 | |
CN110046634B (zh) | 聚类结果的解释方法和装置 | |
CN114091597A (zh) | 基于自适应组样本扰动约束的对抗训练方法、装置及设备 | |
CN112818690B (zh) | 结合知识图谱实体信息的语义识别方法、装置及相关设备 | |
CN107223260B (zh) | 用于动态地更新分类器复杂度的方法 | |
CN112633309A (zh) | 基于贝叶斯优化的查询高效的黑盒对抗攻击 | |
KR101901307B1 (ko) | 가중 퍼지 소속함수 기반 심층 신경망을 이용한 클래스 분류 방법, 장치 및 컴퓨터 판독 가능한 기록매체 | |
US11080596B1 (en) | Prediction filtering using intermediate model representations | |
CN111723915A (zh) | 深度卷积神经网络的剪枝方法、计算机设备及应用方法 | |
CN112149825A (zh) | 神经网络模型的训练方法及装置、电子设备、存储介质 | |
CN110598837A (zh) | 人工神经网络调整方法和装置 | |
Hurtado et al. | Overcoming catastrophic forgetting using sparse coding and meta learning | |
CN111340057A (zh) | 一种分类模型训练的方法及装置 | |
Putra et al. | Multilevel neural network for reducing expected inference time | |
CN116917899A (zh) | 用于具有用于对抗性检测的能力的深度神经网络的方法和装置 | |
CN115761343A (zh) | 一种基于持续学习的图像分类方法及图像分类装置 | |
CN111602145A (zh) | 卷积神经网络的优化方法及相关产品 | |
US20220284261A1 (en) | Training-support-based machine learning classification and regression augmentation | |
CN112734039B (zh) | 一种深度神经网络的虚拟对抗训练方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |