具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一个或多个一部分实施例,而不是全部的实施例。基于本说明书一个或多个中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书一个或多个保护的范围。
本说明书一个或多个实施例提供了一种对抗样本生成方法及装置,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
图1为本说明书一个或多个实施例提供的对抗样本生成方法的第一种流程示意图,如图1所示,该方法至少包括以下步骤:
S101,获取与初始样本相关的当前待识别的噪点样本,并将该噪点样本输入至预设模型,其中,该初始样本可以是图像信息样本、语音信息样本、或者文本信息样本,该噪点样本即为在初始样本中增加噪点信息的样本,该当前待识别的噪点样本包括:首次待识别的噪点样本和下一轮待识别的噪点样本,该首次待识别的噪点样本是在初始样本中首次添加噪点信息得到的噪点样本,该下一轮待识别的噪点样本是对抗样本生成过程中每一轮基于识别结果对噪点样本进行调整得到的噪点样本;
S102,利用预设模型对输入至该预设模型的噪点样本进行识别,确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果;
其中,预设模型为用于对输入的噪点样本进行标签识别的机器学习模型,该预设模型是基于初始样本对应的原始识别模型确定的;将确定出的当前待识别的噪点样本输入至预设模块后,该预设模型的输出结果为噪点样本在指定变换约束条件的多个约束子集下的被识别为目标标签的概率、或者是否被识别为目标标签的二分类结果;
具体的,针对不同类型的初始样本,对应的指定变换约束条件不同,例如,对于图像信息样本可以将旋转角度作为指定变换约束条件、对于语音信息样本可以将音量大小作为指定变换约束条件、对于文本信息样本可以将标点符号位置作为指定变换约束条件;
S103,判断确定出的识别结果是否满足预设条件,具体的,基于确定出的识别结果确定在指定变换约束条件的多个约束子集下噪点样本被识别为目标标签的概率是否大于预设阈值,或者确定在指定变换约束条件的多个约束子集下噪点样本是否均被识别为目标标签;
若否,则执行S104,基于该噪点样本和该识别结果生成下一轮待识别的噪点样本,直到针对当前待识别的噪点样本的识别结果满足预设条件;
具体的,预设模型输出的识别结果可以是噪点样本在指定变换约束条件的多个约束子集下被识别为目标标签的概率值,还可以是噪点样本在指定变换约束条件的多个约束子集下是否被识别为目标标签的二分类结果;
例如,以初始样本是图像信息样本,指定变换约束条件为旋转角度为例,预设模型输出的识别结果可以是基于图像信息样本得到的噪点样本在多个旋转角度下被识别为目标标签的概率值,还可以是基于图像信息样本得到的噪点样本在多个旋转角度是否被识别为目标标签的二分类结果;
对应的,若识别结果为噪点样本在某些旋转角度下被识别为目标标签的概率值不大于预设阈值、或者识别结果为噪点样本在某些旋转角度下未被识别为目标标签,则确定识别结果不满足预设条件;
因此,在确定识别结果不满足预设条件后,利用梯度下降算法或遗传算法基于本轮得到的分类识别结果,对本轮识别所用的噪点样本进行调整,生成下一轮待识别的噪点样本,直到得到的分类识别结果满足预设条件,即本轮所用的噪点样本在指定变换约束条件的多个约束子集下的识别结果均为目标标签,从而通过对噪点样本进行不断循环、不断优化得到在指定变换约束条件的多个约束子集下均满足预设条件的噪点样本,例如,指定变换约束条件为图像样本的旋转角度,使得得到的对抗样本在不同旋转角度下的识别结果均为目标标签,保证对对抗样本进行指定变换后预测结果仍为目标标签,从而解决在对对抗样本经过简单变换后预测结果回落原始标签的问题。
若是,则执行S105基于该噪点样本确定初始样本对应的对抗样本,其中,生成的对抗样本可作为黑样本材料反哺业务的机器学习模型,训练得到识别模型,也可以作为训练素材进行GAN(Generative adversarial network,对抗网络)训练;
其中,仍以初始样本是图像信息样本,指定变换约束条件为旋转角度为例,若识别结果为噪点样本在多个旋转角度下被识别为目标标签的概率值均大于预设阈值、或者识别结果为噪点样本在多个旋转角度下均被识别为目标标签,则确定识别结果满足预设条件;
具体的,在确定出识别结果满足预设条件后,可以直接将识别结果满足预设条件的噪点样本确定为对抗样本,也可以对识别结果满足预设条件的噪点样本进行相应的处理,得到对抗样本,针对不同的应用场景,基于满足预设条件的噪点样本确定对抗样本的过程可能不同;
本说明书一个或多个实施例中,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
进一步的,由于在生成对抗样本时,需要对过程中产生的噪点样本进行标签识别,再基于标签识别结果对噪点样本进行不断优化、调整,以便得到在指定变换约束条件的多个约束子集下均符合预设条件的噪点样本,最终基于该噪点样本输出对抗样本,其中,考虑到不同的应用场景实际识别过程所用的识别模型可能是白盒模型,也可能是黑盒模型,另外,针对黑盒模型而言,可能能够模拟出该黑盒模型对应的白盒模型,还可能无法模拟出该黑盒模型对应的白盒模型,因此,针对不同的应用场景,待识别的噪点样本输入的预设模型的确定过程与该应用场景对应的识别模型的类型有关,其中,若初始样本对应的原始识别模型为白盒模型,则该预设模型为该原始识别模型,若初始样本对应的原始识别模型为黑盒模型且存在对应的白盒模型,则该预设模型为与该原始识别模型具有相同识别功能的白盒模型,若初始样本对应的原始识别模型为黑盒模型且不存在对应的白盒模型,则该预设模型为该原始识别模型,具体的,给出了如下不同应用场景下确定预设模型和首次输入至预设模型的噪点样本的过程,具体为:
(1)第一种应用场景,针对初始样本的原始识别模型为白盒模型的情况,即原始识别模型是用于输出预测概率或分值的模型;
对应的,如图2a所示,在步骤S101获取与初始样本相关的当前待识别的噪点样本之前,还包括:
S106,将初始样本的原始识别模型确定为预设模型,即预设模型是输出结果为预测概率或分值的白盒模型;以及,
S107,将添加有初始噪点信息的初始样本,确定为与初始样本相关的首次待识别的噪点样本,其中,该初始噪点信息是指在初始样本中一开始添加的一个初始干扰向量,后续需要不断对该初始干扰向量进行调整、优化。
其中,原始识别模型是指在初始样本所属领域使用的机器学习分类器,例如,对于初始样本为图像信息样本,该原始识别模型为针对图像识别领域利用机器学习方法训练得到的图像识别模型;又如,对于初始样本为语音信息样本,该原始识别模型为针对语音识别领域利用机器学习方法训练得到的语音识别模型;再如,对于初始样本为文本信息样本,该原始识别模型为针对文本识别领域利用机器学习方法训练得到的文本识别模型。
其中,针对图像识别领域,通常训练得到的图像识别模型为能够输出识别概率或预测分值的白盒模型,此时,可以直接将该图像识别模型确定为预设模型,直接将与初始图像样本相关的首次待识别的图像噪点样本输入至该图像识别模型中,再对该图像噪点样本不断进行调整、优化,得到满足预期的对抗样本。
(2)第二种应用场景,针对初始样本的原始识别模型为黑盒模型且该原始识别模型存在对应的白盒模型的情况,即原始识别模型是用于输出预测是否满足的模型,该原始识别模型属于二分类模型,并且能够模拟出与原始识别模型功能相同且能够输出预测概率或分值的白盒模型;
对应的,如图2b所示,在步骤S101获取与初始样本相关的当前待识别的噪点样本之前,还包括:
S108,生成初始样本的原始识别模型对应的白盒模型,具体的,由于初始样本所属领域使用的识别模型只能输出二分类结果,因此,不能直接将该识别模型作为预设模型,需要模拟生成原始识别模型的近似模型或逼近模型,即模拟生成白盒模型;
例如,对于图像识别而言,若直接已知的图像识别模型为黑盒模型,则可以使用CNN即卷积层+全连接层+dropout层来训练得到对应的白盒模型;对于语音识别而言,若直接已知的语音识别模型为黑盒模型,则可以使用wavenet来训练得到对应的白盒模型,对于文本识别而言,若直接已知的文本识别模型为黑盒模型,则可以使用词袋模型+LSTM来训练得到对应的白盒模型;
S109,将生成的白盒模型确定为预设模型,即预设模型是输出结果为预测概率或分值的白盒模型;以及,
S110,将添加有初始噪点信息的初始样本,确定为与初始样本相关的首次待识别的噪点样本,其中,该初始噪点信息是指在初始样本中一开始添加的一个初始干扰向量,后续需要不断对该初始干扰向量进行调整、优化;
具体的,利用迁移学习方法利用预设模型生成对抗样本,再将对抗样本迁移到原始识别模型中。
其中,针对人脸识别领域,如果训练得到的人脸识别模型为二分类模型,且能够模拟出该人脸识别模型对应的近似模型或逼近模型,即人脸识别模型只输出目标人脸是否为用户本人的识别结果,并不会输出具体的匹配分数(置信度),并且可以模拟出该人脸识别模型对应的能够输出具体匹配分数的白盒模型,此时,需要先模拟得到人脸识别模型对应的白盒模型,再将该白盒模型确定为预设模型,并将与初始人脸样本相关的首次待识别的人脸噪点样本输入至模拟得到的该白盒模型中,再对该人脸噪点样本不断进行调整、优化,得到满足预期的对抗样本。
(3)第三种应用场景,针对初始样本的原始识别模型为黑盒模型且该原始识别模型不存在对应的白盒模型的情况,即原始识别模型是用于输出预测是否满足的模型,该原始识别模型属于二分类模型,并且由于很难获取到该应用场景下的开放数据集,不容易模拟出与原始识别模型功能相同且能够输出预测概率或分值的白盒模型;
对应的,如图2c所示,在步骤S101获取与初始样本相关的当前待识别的噪点样本之前,还包括:
S111,将初始样本的原始识别模型确定为预设模型,即预设模型是输出结果为二分类结果的黑盒模型;以及,
S112,利用遗传算法对初始样本进行种群化处理,得到包含多个样本个体的样本种群,其中,该样本个体之间所添加的噪点信息的向量方向不同;
具体的,在对于初始样本进行种群化处理之前,需要先对初始样本进行预编码处理,即将初始样本初始化为机器能够识别的向量(矩阵),例如,对于包含目标人脸的图像样本而言,提取目标人脸图像中预设数量的关键点,如80-100个关键点;
具体的,针对预设模型为黑盒模型的情况,引入进化生物学中的遗传算法将初始样本种群化得到样本种群,该样本种群中包含多个样本个体,以便后续对样本种群中的样本个体进行不断优化,获得满足预期的样本种群;
S113,对得到的样本种群进行编码处理,将编码后的样本种群确定为首次待识别的噪点样本;
具体的,由于样本种群中各样本个体均以向量形式表示,为了采用遗传算法对样本种群进行调整、优化,因此,需要将样本种群中的各样本个体编码为符合遗传算法要求格式的种群个体表示。
其中,由于不容易模拟出与原始识别模型功能相同且能够输出预测概率或分值的白盒模型,因此,在对噪点样本进行调整、优化过程中,无法利用梯度下降算法并基于原始识别模型输出的二分类结果来寻找最优解,为了能够实现在无法模拟出白盒模型的情况下,也能够基于原始识别模型的识别结果对噪点样本进行调整、优化,引入进化生物学中的遗传算法,充分借助通过模拟生物学上自然选择、自然进化、优胜劣汰的过程进行最优解搜索,不断对样本种群中的样本个体选择、交叉、变异来寻找满足预期的样本种群;
其中,针对浓缩铀纯度识别或GFW恶意流量识别领域,通常训练得到的浓缩铀纯度识别模型或GFW恶意流量识别模型为二分类模型,并且由于浓缩铀纯度识别或GFW恶意流量识别领域的开放数据集很难获取到,即很难获取到大量的训练样本集,因此,很难模拟出该浓缩铀纯度识别模型或GFW恶意流量识别模型对应的近似模型或逼近模型,此时,仍将浓缩铀纯度识别模型或GFW恶意流量识别模型等黑盒模型确定为预设模型,并将获取的首次待识别的噪点样本输入至该黑盒模型中,同时结合进化生物学中的遗传算法对噪点样本进行调整、优化,得到满足预期的对抗样本。
进一步的,在确定出预设模型和首次待识别的噪点样本后,先将该首次待识别的噪点样本输入至对应的预设模型中,利用该预设模型对输入至该预设模型的噪点样本进行识别,确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,通常第一次得到的识别结果不会满足预设条件,因此,需要生成下一轮待识别的噪点样本,完成不断对噪点样本进行调整、优化,其中,针对不同的应用场景,下一轮待识别的噪点样本的生成过程与使用的预设模型的类型有关,其中,若预设模型为白盒模型,则利用梯度下降算法基于该噪点样本和该识别结果生成下一轮待识别的噪点样本,若预设模型为黑盒模型,则利用进化生物学中的遗传算法基于该噪点样本和该识别结果生成下一轮待识别的噪点样本,具体的,给出了如下在不同预设模型下生成下一轮待识别的噪点样本的过程,具体为:
针对上述第一种应用场景和第二种应用场景,即针对预设模型是输出结果为预测概率或分值的白盒模型,以原始识别模型为黑盒模型为例,如图3a所示,上述步骤S104基于该噪点样本和该识别结果生成下一轮待识别的噪点样本,具体包括:
S1041,利用梯度下降算法并基于确定出的识别结果,对与该识别结果对应的噪点样本进行噪点信息调整,得到调整后的噪点样本,具体的,由于预设模型的输出结果为预测概率或分值,因此,可以利用梯度下降算法对预设模型输出的识别结果进行求梯度,寻找关于噪点样本的最优解,将求解得到的最优解作为下一轮待识别的噪点样本;
S1042,将调整后的噪点样本确定为下一轮待识别的噪点样本,具体的,利用反向传播算法将调整后的噪点样本重新作为预设模型的输入,获取针对每一轮识别该预设模型输出的预测概率或分值来动态调整噪点样本的向量梯度,得到新的噪点样本作为下一轮待识别的噪点样本,再继续利用预设模型对该新一轮的噪点样本进行标签识别,输出对应的识别结果,通过不断对噪点样本信息调整、优化,最终确定满足变换不变性的目标噪点信息,将包含该目标噪点信息的初始样本确定为对抗样本。
其中,上述噪点样本在指定变换约束条件的多个约束子集下的识别结果为下述条件概率计算公式:
其中,Et~T表示指定变换约束条件,T表示任意线性变换,例如旋转变换、位移变换、缩放变换、音量变换等,表示指定标签,/>表示变换约束条件的某一约束子集下的噪点样本,/>表示在变换约束条件的某一约束子集下的噪点样本被识别为指定标签/>的条件概率。
其中,针对识别结果为上述条件概率计算公式的情况,对应的,上述S1041利用梯度下降算法并基于该识别结果,对该噪点样本进行噪点信息调整,得到调整后的噪点样本,具体包括:
对上述条件概率计算公式进行求梯度运算,得到下述概率梯度计算公式:
利用梯度下降算法对上述概率梯度计算公式进行求解,得到的噪点样本确定为调整后的噪点样本;
具体的,利用梯度下降算法对预设模型输出的关于噪点样本在指定变换约束下多个约束子集下的条件概率进行求梯度,寻找关于噪点样本的最优解,将求解得到的最优解作为下一轮待识别的噪点样本。
针对上述第三种应用场景,即针对预设模型是输出结果为二分类结果的黑盒模型,如图3b所示,上述步骤S104基于该噪点样本和该识别结果生成下一轮待识别的噪点样本,具体包括:
S1043,利用预设适应性函数并基于确定出的识别结果,对与该识别结果对应的样本种群中的多个样本个体进行适应度评估,得到各样本个体的适应度评估结果;
具体的,样本种群中各样本个体编码串进行解码处理,得到各样本个体的表现型;根据各样本个体的表现型计算出该样本个体的目标函数值;根据最优化问题的类型,按照预设转换规则根据该目标函数值确定各样本个体的适应度;
S1044,利用遗传算法并根据各样本个体的适应度评估结果,对上述样本种群中的多个样本个体进行预设处理,得到处理后的样本种群,其中,该预设处理包括:选择、交叉、变异、变换约束调整中至少一种;
具体的,根据各样本个体的适应度评估结果,挑选出待淘汰的样本个体,对剩余的样本个体进行交叉、变异,即对样本种群中的多个样本个体进行优胜劣汰筛选,并且对剩余的样本个体进行指定变换约束条件的调整,例如,将样本个体的旋转角度由第一预设区间调整为第二预设区间,并实现对样本种群中剩余的样本个体进行回归验证;
针对预设模型为黑盒模型的情况,在对噪点样本进行优化、调整的过程中,结合进化生物学中的遗传算法,充分借助通过模拟生物学上自然选择、自然进化、优胜劣汰的过程进行最优解搜索,不断对样本种群中的样本个体选择、交叉、变异来寻找满足预期的样本种群;
S1045,将处理后的样本种群确定为下一轮待识别的噪点样本,具体的,将处理后的样本种群重新作为预设模型的输入,继续利用预设模型对该新一轮的样本种群进行标签识别,输出对应的识别结果;
其中,基于遗传算法对样本种群中的样本个体不断在各变换约束条件下进行优胜劣汰、选择、交叉、变异,最终确定满足变换不变性的目标样本种群,基于该目标样本种群确定对抗样本,具体的,在每一轮识别结束后,基于样本种群中各样本个体的适应度,将不满足指定变换约束条件中对应的约束子集的样本个体淘汰掉,这样样本种群循环识别次数越多,剩余的样本个体满足指定变换约束条件下的约束子集的个数越多,从而寻找在指定变换约束条件的多个约束子集下均满足预设条件的目标样本种群。
其中,针对识别结果满足预设条件的噪点样本为处理后的样本种群的情况,该样本种群包含多个样本个体;
对应的,如图4a所示,上述S105基于该噪点样本确定初始样本对应的对抗样本,具体包括:
S1051,基于识别结果满足预设条件的样本种群中包含的多个样本个体,确定中位数样本个体;
具体的,针对满足预设条件的样本种群中包含的每个样本个体,确定该样本个体对应的个体向量;对各样本个体分别对应的个体向量求中位数,确定满足预设条件的样本种群对应的中位数样本个体;
S1052,将确定出的中位数样本个体确定为初始样本对应的对抗样本;
或者,如图4b所示,上述S105基于该噪点样本确定初始样本对应的对抗样本,具体包括:
S1053,基于识别结果满足预设条件的样本种群中包含的多个样本个体,确定平均数样本个体;
具体的,针对满足预设条件的样本种群中包含的每个样本个体,确定该样本个体对应的个体向量;对各样本个体分别对应的个体向量求平均数,确定满足预设条件的样本种群对应的中位数样本个体;
S1054,将确定出的平均数样本个体确定为初始样本对应的对抗样本。
本说明书一个或多个实施例中的对抗样本生成方法,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
对应上述图1至图4b描述的对抗样本生成方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种对抗样本生成装置,图5为本说明书一个或多个实施例提供的对抗样本生成装置的模块组成示意图,该装置用于执行图1至图4b描述的对抗样本生成方法,如图5所示,该装置包括:
样本输入模块501,用于获取与初始样本相关的当前待识别的噪点样本,并将所述噪点样本输入至预设模型;
样本识别模块502,用于利用所述预设模型对所述噪点样本进行识别,确定所述噪点样本在指定变换约束条件的多个约束子集下的识别结果;
第一处理模块503,用于若所述识别结果满足预设条件,则基于所述噪点样本确定所述初始样本对应的对抗样本;
第二处理模块504,用于若所述识别结果不满足预设条件,则基于所述噪点样本和所述识别结果生成下一轮待识别的噪点样本,直到针对所述噪点样本的所述识别结果满足预设条件。
本说明书一个或多个实施例中,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
可选地,所述初始样本的原始识别模型为白盒模型;
如图6所示,所述装置还包括:第一模型确定模块505和第一样本确定模块506,其中:
所述第一模型确定模块505,用于将所述初始样本的所述原始识别模型确定为预设模型;以及,
所述第一样本确定模块506,用于将添加有初始噪点信息的初始样本,确定为与初始样本相关的首次待识别的噪点样本。
可选地,所述初始样本的原始识别模型为黑盒模型且所述原始识别模型存在对应的白盒模型;
所述装置还包括:第二模型确定模507和第二样本确定模块508,其中:
所述第二模型确定模块507,用于生成所述初始样本的所述原始识别模型对应的白盒模型;将生成的所述白盒模型确定为预设模型;以及,
所述第二样本确定模块508,用于将添加有初始噪点信息的初始样本,确定为与初始样本相关的首次待识别的噪点样本。
可选地,所述初始样本的原始识别模型为黑盒模型且所述原始识别模型不存在对应的白盒模型;
所述装置还包括:第三模型确定模509和第三样本确定模块510,其中:
所述第三模型确定模块509,用于将所述初始样本的所述原始识别模型确定为预设模型;以及,
所述第三样本确定模块510,用于利用遗传算法对所述初始样本进行种群化处理,得到包含多个样本个体的样本种群,其中,所述样本个体之间所添加的噪点信息的向量方向不同;对所述样本种群进行编码处理,将编码后的样本种群确定为首次待识别的噪点样本。
可选地,所述第二处理模块504,具体用于:
利用梯度下降算法并基于所述识别结果,对所述噪点样本进行噪点信息调整,得到调整后的噪点样本;
将所述调整后的噪点样本确定为下一轮待识别的噪点样本。
可选地,所述噪点样本在指定变换约束条件的多个约束子集下的识别结果为下述条件概率计算公式:
其中,Et~T表示指定变换约束条件,表示指定标签,/>表示变换约束条件的某一约束子集下的噪点样本,/>表示在变换约束条件的某一约束子集下的噪点样本被识别为指定标签/>的条件概率。
可选地,所述第二处理模块504,还具体用于:
对所述条件概率计算公式进行求梯度运算,得到下述概率梯度计算公式:
利用梯度下降算法对所述概率梯度计算公式进行求解,得到的噪点样本确定为调整后的噪点样本。
可选地,所述第二处理模块504,还具体用于:
利用预设适应性函数并基于所述识别结果,对所述样本种群中的多个样本个体进行适应度评估,得到各所述样本个体的适应度评估结果;
利用遗传算法并根据各所述样本个体的所述适应度评估结果,对所述样本种群中的多个样本个体进行预设处理,得到处理后的样本种群,其中,所述预设处理包括:选择、交叉、变异、变换约束调整中至少一种;
将所述处理后的样本种群确定为下一轮待识别的噪点样本。
可选地,所述识别结果满足预设条件的噪点样本为所述处理后的样本种群,所述样本种群包含多个样本个体;
所述第一处理模块503,具体用于:
基于所述样本种群中包含的多个样本个体,确定中位数样本个体,将所述中位数样本个体确定为所述初始样本对应的对抗样本;
或者,
基于所述样本种群中包含的多个样本个体,确定平均数样本个体,将所述平均数样本个体确定为所述初始样本对应的对抗样本。
本说明书一个或多个实施例中的对抗样本生成装置,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
需要说明的是,本说明书中关于对抗样本生成装置的实施例与本说明书中关于对抗样本生成方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的对抗样本生成方法的实施,重复之处不再赘述。
进一步地,对应上述图1至图4b所示的方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种对抗样本生成设备,该设备用于执行上述的对抗样本生成方法,如图7所示。
对抗样本生成设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器701和存储器702,存储器702中可以存储有一个或一个以上存储应用程序或数据。其中,存储器702可以是短暂存储或持久存储。存储在存储器702的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对对抗样本生成设备中的一系列计算机可执行指令。更进一步地,处理器701可以设置为与存储器702通信,在对抗样本生成设备上执行存储器702中的一系列计算机可执行指令。对抗样本生成设备还可以包括一个或一个以上电源703,一个或一个以上有线或无线网络接口704,一个或一个以上输入输出接口705,一个或一个以上键盘706等。
在一个具体的实施例中,对抗样本生成设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对对抗样本生成设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取与初始样本相关的当前待识别的噪点样本,并将所述噪点样本输入至预设模型;
利用所述预设模型对所述噪点样本进行识别,确定所述噪点样本在指定变换约束条件的多个约束子集下的识别结果;
若所述识别结果满足预设条件,则基于所述噪点样本确定所述初始样本对应的对抗样本;
若所述识别结果不满足预设条件,则基于所述噪点样本和所述识别结果生成下一轮待识别的噪点样本,直到针对所述噪点样本的所述识别结果满足预设条件。
本说明书一个或多个实施例中,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
可选地,计算机可执行指令在被执行时,所述初始样本的原始识别模型为白盒模型;
在获取与初始样本相关的当前待识别的噪点样本之前,还包括:
将所述初始样本的所述原始识别模型确定为预设模型;以及,
将添加有初始噪点信息的初始样本,确定为与初始样本相关的首次待识别的噪点样本。
可选地,计算机可执行指令在被执行时,所述初始样本的原始识别模型为黑盒模型且所述原始识别模型存在对应的白盒模型;
在获取与初始样本相关的当前待识别的噪点样本之前,还包括:
生成所述初始样本的所述原始识别模型对应的白盒模型;
将生成的所述白盒模型确定为预设模型;以及,
将添加有初始噪点信息的初始样本,确定为与初始样本相关的首次待识别的噪点样本。
可选地,计算机可执行指令在被执行时,所述初始样本的原始识别模型为黑盒模型且所述原始识别模型不存在对应的白盒模型;
在获取与初始样本相关的当前待识别的噪点样本之前,还包括:
将所述初始样本的所述原始识别模型确定为预设模型;以及,
利用遗传算法对所述初始样本进行种群化处理,得到包含多个样本个体的样本种群,其中,所述样本个体之间所添加的噪点信息的向量方向不同;
对所述样本种群进行编码处理,将编码后的样本种群确定为首次待识别的噪点样本。
可选地,计算机可执行指令在被执行时,所述基于所述噪点样本和所述识别结果生成下一轮待识别的噪点样本,包括:
利用梯度下降算法并基于所述识别结果,对所述噪点样本进行噪点信息调整,得到调整后的噪点样本;
将所述调整后的噪点样本确定为下一轮待识别的噪点样本。
可选地,计算机可执行指令在被执行时,所述噪点样本在指定变换约束条件的多个约束子集下的识别结果为下述条件概率计算公式:
其中,Et~T表示指定变换约束条件,表示指定标签,/>表示变换约束条件的某一约束子集下的噪点样本,/>表示在变换约束条件的某一约束子集下的噪点样本被识别为指定标签/>的条件概率。
可选地,计算机可执行指令在被执行时,所述利用梯度下降算法并基于所述识别结果,对所述噪点样本进行噪点信息调整,得到调整后的噪点样本,包括:
对所述条件概率计算公式进行求梯度运算,得到下述概率梯度计算公式:
利用梯度下降算法对所述概率梯度计算公式进行求解,得到的噪点样本确定为调整后的噪点样本。
可选地,计算机可执行指令在被执行时,所述基于所述噪点样本和所述识别结果生成下一轮待识别的噪点样本,包括:
利用预设适应性函数并基于所述识别结果,对所述样本种群中的多个样本个体进行适应度评估,得到各所述样本个体的适应度评估结果;
利用遗传算法并根据各所述样本个体的所述适应度评估结果,对所述样本种群中的多个样本个体进行预设处理,得到处理后的样本种群,其中,所述预设处理包括:选择、交叉、变异、变换约束调整中至少一种;
将所述处理后的样本种群确定为下一轮待识别的噪点样本。
可选地,计算机可执行指令在被执行时,所述识别结果满足预设条件的噪点样本为所述处理后的样本种群,所述样本种群包含多个样本个体;
所述基于所述噪点样本确定所述初始样本对应的对抗样本,包括:
基于所述样本种群中包含的多个样本个体,确定中位数样本个体,将所述中位数样本个体确定为所述初始样本对应的对抗样本;
或者,
基于所述样本种群中包含的多个样本个体,确定平均数样本个体,将所述平均数样本个体确定为所述初始样本对应的对抗样本。
本说明书一个或多个实施例中的对抗样本生成设备,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
进一步地,对应上述图1至图4b所示的方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
获取与初始样本相关的当前待识别的噪点样本,并将所述噪点样本输入至预设模型;
利用所述预设模型对所述噪点样本进行识别,确定所述噪点样本在指定变换约束条件的多个约束子集下的识别结果;
若所述识别结果满足预设条件,则基于所述噪点样本确定所述初始样本对应的对抗样本;
若所述识别结果不满足预设条件,则基于所述噪点样本和所述识别结果生成下一轮待识别的噪点样本,直到针对所述噪点样本的所述识别结果满足预设条件。
本说明书一个或多个实施例中,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述初始样本的原始识别模型为白盒模型;
在获取与初始样本相关的当前待识别的噪点样本之前,还包括:
将所述初始样本的所述原始识别模型确定为预设模型;以及,
将添加有初始噪点信息的初始样本,确定为与初始样本相关的首次待识别的噪点样本。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述初始样本的原始识别模型为黑盒模型且所述原始识别模型存在对应的白盒模型;
在获取与初始样本相关的当前待识别的噪点样本之前,还包括:
生成所述初始样本的所述原始识别模型对应的白盒模型;
将生成的所述白盒模型确定为预设模型;以及,
将添加有初始噪点信息的初始样本,确定为与初始样本相关的首次待识别的噪点样本。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述初始样本的原始识别模型为黑盒模型且所述原始识别模型不存在对应的白盒模型;
在获取与初始样本相关的当前待识别的噪点样本之前,还包括:
将所述初始样本的所述原始识别模型确定为预设模型;以及,
利用遗传算法对所述初始样本进行种群化处理,得到包含多个样本个体的样本种群,其中,所述样本个体之间所添加的噪点信息的向量方向不同;
对所述样本种群进行编码处理,将编码后的样本种群确定为首次待识别的噪点样本。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述噪点样本和所述识别结果生成下一轮待识别的噪点样本,包括:
利用梯度下降算法并基于所述识别结果,对所述噪点样本进行噪点信息调整,得到调整后的噪点样本;
将所述调整后的噪点样本确定为下一轮待识别的噪点样本。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述噪点样本在指定变换约束条件的多个约束子集下的识别结果为下述条件概率计算公式:
其中,Et~T表示指定变换约束条件,表示指定标签,/>表示变换约束条件的某一约束子集下的噪点样本,/>表示在变换约束条件的某一约束子集下的噪点样本被识别为指定标签/>的条件概率。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述利用梯度下降算法并基于所述识别结果,对所述噪点样本进行噪点信息调整,得到调整后的噪点样本,包括:
对所述条件概率计算公式进行求梯度运算,得到下述概率梯度计算公式:
利用梯度下降算法对所述概率梯度计算公式进行求解,得到的噪点样本确定为调整后的噪点样本。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述噪点样本和所述识别结果生成下一轮待识别的噪点样本,包括:
利用预设适应性函数并基于所述识别结果,对所述样本种群中的多个样本个体进行适应度评估,得到各所述样本个体的适应度评估结果;
利用遗传算法并根据各所述样本个体的所述适应度评估结果,对所述样本种群中的多个样本个体进行预设处理,得到处理后的样本种群,其中,所述预设处理包括:选择、交叉、变异、变换约束调整中至少一种;
将所述处理后的样本种群确定为下一轮待识别的噪点样本。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述识别结果满足预设条件的噪点样本为所述处理后的样本种群,所述样本种群包含多个样本个体;
所述基于所述噪点样本确定所述初始样本对应的对抗样本,包括:
基于所述样本种群中包含的多个样本个体,确定中位数样本个体,将所述中位数样本个体确定为所述初始样本对应的对抗样本;
或者,
基于所述样本种群中包含的多个样本个体,确定平均数样本个体,将所述平均数样本个体确定为所述初始样本对应的对抗样本。
本说明书一个或多个实施例中的存储介质存储的计算机可执行指令在被处理器执行时,在基于初始样本生成对抗样本的过程中,引入指定变换约束条件,获取当前待识别的与初始样本相关的噪点样本,利用预设模型确定该噪点样本在指定变换约束条件的多个约束子集下的识别结果,再通过综合评价引入指定变换约束条件的噪点样本的识别结果,只有噪点样本在指定变换约束条件的多个约束子集下的识别结果均符合预设条件的情况,才输出对抗样本,否则基于识别结果对噪点样本进行修改,进入下一轮噪点样本的识别,直到噪点样本达到预期,再基于该噪点样本输出对抗样本,这样能够保证得到的对抗样本具有变换不变性的特点,提高了生成的对抗样本的稳定性和鲁棒性。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HD Cal、JHDL(Java Hardware Description Language)、Lava、Lola、My HDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书一个或多个的实施例而已,并不用于限制本说明书一个或多个。对于本领域技术人员来说,本说明书一个或多个可以有各种更改和变化。凡在本说明书一个或多个的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个的权利要求范围之内。