掌桥专利:专业的专利平台
掌桥专利
首页

对抗样本生成方法、相关装置及存储介质

文献发布时间:2024-04-18 20:00:50


对抗样本生成方法、相关装置及存储介质

技术领域

本申请涉及人工智能模型训练技术领域,更具体地涉及一种对抗样本生成方法、相关装置及存储介质。

背景技术

现有的模型攻击方法根据攻击的结果可以分为两大类:第一类为定向攻击,其攻击样本可以令模型在预测时,所有的识别结果均为目标类别。第二类为非定向攻击,即攻击样本可以令模型在预测时,所有的识别结果均为错误类别。

定向攻击主要用于评估基于深度学习的目标模型,定向攻击需要非常多的对抗样本去对目标模型进行鲁棒性评估。

目前,目标模型在对抗样本攻击下,无法得到足够符合要求的对抗样本,使得目标模型的评估效率低且模型评估不够准确。

发明内容

本申请实施例提供一种对抗样本生成方法、相关装置及存储介质,在物理变换下的对抗攻击成功率更高,攻击者可以以更加高的成功率鲁棒地攻击深度学习模型,进一步的,可以得到符合实际应用要求的对抗样本生成模型,基于符合实际应用要求的对抗样本生成模型,可以生成大量符合要求的对抗样本去进行目标检测模型的评估,使得目标检测模型的评估效率更高且模型评估更准确。

第一方面,本申请实施例提供一种对抗样本生成方法,包括:

获取初始对抗样本和目标攻击类别;

根据所述初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数,所述待训练模型用于生成针对目标模型的对抗样本;

根据所述目标函数,确定所述待训练模型的目标损失函数,所述目标损失函数中包括初始变换函数和所述初始变换函数对应的一组最有害变换函数,所述初始变换函数使用预期改进采集函数对所述目标函数进行采样得到;

迭代优化所述目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。

第二方面,本申请实施例提供一种模型评估方法,所述方法利用如第一方面所述的对抗样本生成方法生成多个对抗样本,评估目标检模型的鲁棒性。

第三方面,本申请提供一种对抗样本生成装置,所述装置包括:

获取模块,用于获取初始对抗样本和目标攻击类别;

构建模块,用于根据所述初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数,所述待训练模型用于生成针对目标模型的对抗样本;

确定模块,用于根据所述目标函数,确定所述待训练模型的目标损失函数,所述目标损失函数中包括初始变换函数和所述初始变换函数对应的一组最有害变换函数,所述初始变换函数使用预期改进采集函数对所述目标函数进行采样得到;

生成模块,用于迭代优化所述目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。

在本申请一些实施例中,所述构建模块具体用于:

获取用于表示先验分布的均值函数和协方差函数;

通过所述均值函数和所述协方差函数,表示先验分布;

通过贝叶斯优化中的高斯过程和所述先验分布构建待训练模型的目标函数。

在本申请一些实施例中,所述确定模块具体用于:

使用预期改进采集函数对所述目标函数进行采样,得到初始变换函数;

在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数;

根据所述初始变换函数和所述最有害变换函数,确定所述待训练模型的目标损失函数。

在本申请一些实施例中,所述确定模块具体用于:

通过迭代求出所述初始变换的梯度,并沿着所述梯度相反的方向移动,在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数。

在本申请一些实施例中,所述确定模块具体用于:

根据所述初始变换函数和所述最有害变换函数,确定最小化对抗样本被分类成目标攻击类别的第一损失函数;

获取对抗样本和原始样本在范数意义上的距离;

根据所述第一损失函数和所述距离,确定所述待训练模型的目标损失函数。

在本申请一些实施例中,所述确定模块具体用于:

将所述目标函数的最小值作为第二损失函数,将所述初始变换函数和所述最有害变换函数代入所述第二损失函数,得到第一损失函数。

在本申请一些实施例中,所述确定模块具体用于:

获取对抗样本和原始样本在范数意义上的初始距离;

获取所述初始距离的权重参数;

根据所述权重参数和所述初始距离,计算对抗样本和原始样本在范数意义上的距离。

第四方面,本申请实施例提供一种计算设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如第一方面所述的对抗样本生成方法、如第二方面所述的模型评估方法。

第五方面,本申请实施例提供一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如第一方面所述的对抗样本生成方法、如第二方面所述的模型评估方法。

第六方面,本申请实施例提供一种包含指令的计算机程序产品,所述计算机程序产品包括程序指令,当所述程序指令在计算机或处理器上运行时,使得所述计算机或所述处理器执行如第一方面所述的对抗样本生成方法、如第二方面所述的模型评估方法。

第七方面,本申请实施例提供一种芯片系统,该芯片系统包括:

通信接口,用于输入和/或输出信息;

处理器,用于执行计算机可执行程序,使得安装有所述芯片系统的设备执行如第一方面所述的对抗样本生成方法、如第二方面所述的模型评估方法。

在一种可能的设计中,上述芯片系统还包括存储器,该存储器用于保存终端必需的程序指令和数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

相较于现有技术,本申请实施例中获取初始对抗样本和目标攻击类别;根据初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数;根据目标函数,确定待训练模型的目标损失函数;迭代优化目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。因此,本申请实施例由于目标损失函数中包括初始变换函数和初始变换函数对应的一组最有害变换函数,初始变换函数使用预期改进采集函数对所述目标函数进行采样得到,通过预期改进采集函数来找到最优解,基于贝叶斯优化找到一组最有害的变换,提升了对抗样本在物理变换(如密度增减,旋转等)下的鲁棒性,相较于一般的对抗攻击,本申请实施例在物理变换下的对抗攻击成功率更高,攻击者可以以更加高的成功率鲁棒地攻击深度学习模型,进一步的,基于符合实际应用要求的对抗样本生成模型,可以生成大量符合要求的对抗样本去进行目标检测模型的评估,使得目标检测模型的评估效率更高且模型评估更准确。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的对抗样本生成系统的场景示意图;

图2是本申请实施例中提供的对抗样本生成方法的一个实施例流程示意图;

图3是本申请实施例中提供的根据所述目标函数,确定所述待训练模型的目标损失函数的一个流程示意图;

图4为本申请实施例的对抗样本生成装置的结构示意图;

图5为本申请实施例中手机的一种结构示意图;

图6为本申请实施例中服务器的一种结构示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在以下的说明中,本申请的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有说明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本申请原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。

本文所使用的术语“模块”或“单元”可看做为在该运算系统上执行的软件对象。本文所述的不同组件、模块、引擎及服务可看做为在该运算系统上的实施对象。而本文所述的装置及方法优选的以软件的方式进行实施,当然也可在硬件上进行实施,均在本申请保护范围之内。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本申请实施例提供一种对抗样本生成方法、相关装置及存储介质。

请参阅图1,图1为本申请实施例所提供的对抗样本生成系统的场景示意图,该对抗样本生成系统可以包括计算设备100,计算设备100通过网络连接,计算设备100中集成有对抗样本生成装置。本申请实施例中,计算设备100可以是终端设备或者服务器。

本申请实施例中,在计算设备100为服务器的情况下,该服务器可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本申请实施例中所描述的服务器,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。本申请的实施例中,服务器与客户端之间可通过任何通信方式实现通信,包括但不限于,基于第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)、长期演进(Long Term Evolution,LTE)、全球互通微波访问(Worldwide Interoperability forMicrowave Access,WiMAX)的移动通信,或基于TCP/IP协议族(TCP/IP Protocol Suite,TCP/IP)、用户数据报协议(User Datagram Protocol,UDP)协议的计算机网络通信等。

可以理解的是,当本申请实施例中所使用的计算设备100为终端设备时,终端设备可以是既包括接收硬件和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种终端设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的计算设备100具体可以是台式终端或移动终端,计算设备100具体可以手机、平板电脑、笔记本电脑等中的一种。

本申请实施例涉及的终端设备,还可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(英文全称:Personal Communication Service,英文简称:PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless Local Loop,英文简称:WLL)站、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)等设备。

本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算设备,或者计算设备网络连接关系,例如图1中仅示出1个计算设备,可以理解的,该对抗样本生成系统还可以包括一个或多个其他计算设备,或/且一个或多个与计算设备100网络连接的其他计算设备,具体此处不作限定。

另外,如图1所示,该对抗样本生成系统还可以包括存储器300,用于存储数据,如存储样本图片、对抗样本数据。

需要说明的是,图1所示的对抗样本生成系统的场景示意图仅仅是一个示例,本申请实施例描述的对抗样本生成系统以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着对抗样本生成系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

本申请实施例提供的方案涉及人工智能(Artificial Intelligence,AI)、计算机视觉技术(Computer Vision,CV)、机器学习(Machine Learning,ML)等技术,具体通过如下实施例进行说明:

其中,AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

AI技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

目前,AI技术被广泛用在人机交互,安全防护等多个领域。而由于机器学习算法的输入形式是一种数值型向量,攻击者可以通过设计一种有针对性的数值型向量从而让机器学习模型做出误判,这就是对抗性攻击的过程。

攻击方法根据攻击的结果可以分为两大类:第一类为定向攻击,其攻击样本可以令模型在预测时,所有的识别结果均为目标类别。第二类为非定向攻击,即攻击样本可以令模型在预测时,所有的识别结果均为错误类别。

相比而言定向攻击则更具有挑战性,需要令检测器将目标物识别为特定的攻击类别,这种攻击更具有针对性。目标检测是一个多任务的学习问题,多个任务包括前景背景区分,多个目标物区分,以及目标物位置识别,目标检测已经展现了它解决实际问题的能力。目前对于目标检测情景的对抗样本研究尽管已有很多,但大多数仍然集中在非定向领域。

一个相关技术中,直接生成对抗样本。具体地,直接对损失函数进行优化,得到对抗样本,用来误导模型的预测,此方案得到的对抗样本在误导模型时缺乏鲁棒性,这限制了这些对抗样本的实用性,因为它们只能在数字世界中生效,而不能在真实世界中起作用,不能有效应对物理世界的变换。

本申请实施例在物理变换下的对抗攻击成功率更高,攻击者可以以更加高的成功率鲁棒地攻击深度学习模型,进一步的,基于符合实际应用要求的对抗样本生成模型,可以生成大量符合要求的对抗样本去进行目标检测模型的评估,使得目标检测模型的评估效率更高且模型评估更准确。

下面结合具体实施例进行详细说明。

在本实施例中,将从对抗样本生成方法的角度进行描述,该对抗样本生成方法具体可以集成在计算设备100中。

本申请提供一种对抗样本生成方法,该对抗样本生成方法包括:获取初始对抗样本和目标攻击类别;根据所述初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数,所述待训练模型用于生成针对目标模型的对抗样本;根据所述目标函数,确定所述待训练模型的目标损失函数,所述目标损失函数中包括初始变换函数和所述初始变换函数对应的一组最有害变换函数,所述初始变换函数使用预期改进采集函数对所述目标函数进行采样得到;迭代优化所述目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。

请参阅图2,为本申请实施例中本申请实施例中对抗样本生成方法的一个实施例流程示意图,该对抗样本生成方法包括如下步骤201~204:

201、获取初始对抗样本和目标攻击类别。

其中,攻击类别可以是模型被攻击的目标物识别为定向攻击的类别,例如将红灯类别攻击为绿灯类别,则绿灯类别为选定的攻击类别。

具体的,攻击类别可以是按照攻击训练时的样本图片类别、实际需求选定的。例如:该方法应用于视频监控系统时,则为了干扰监控,样本图片是人类别时,攻击类别可以是猫类别。

其中,样本图片可以用像素集成的向量表示。具体的,样本图片可以来自于视频帧,例如:样本图片可以是视频监控中的人像图片,此处不对样本图片的具体来源加以限定。

对抗样本由Christian Szegedy等人提出,是指在数据集中通过故意添加细微的干扰所形成的输入样本,导致模型以高置信度给出一个错误的输出,在正则化背景下,通过对抗训练减少原有独立同分布的测试集的错误率——在对抗扰动的训练集样本上训练网络。

其中,将对抗样本添加到样本图片后,神经网络会将样本图片识别为攻击类别,攻击类别和样本图片本该所属类别为不同的类别,即将对抗样本添加到样本图片中,会使神经网络产生误判。

具体的,对抗样本可以是添加到样本图片的每个像素单元上,也可以是添加到样本图片的其中几个像素单元上,此处不对对抗样本的具体添加方式加以限定。另外,初始对抗样本不是最终的对抗样本,初始对抗样本可以是基于纯色图片生成,具体此处不作限定。

202、根据所述初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数。

其中,所述待训练模型用于生成针对目标模型的对抗样本,即待训练模型生成的对抗样本可以用来对目标模型进行攻击训练。

贝叶斯优化算法(BO)是一种用于全局优化的序列模型优化方法。这种算法通过构建目标函数在给定输入空间上的高斯过程(GP),结合Bayes公式来进行优化。简单来说,就是在每次迭代中,通过利用已经观测到的最优结果,来调整下一步的搜索方向和选择更优的候选点,从而逐步逼近全局最优解。

先验分布(prior distribution)一译“验前分布”“事前分布”。是概率分布的一种。与“后验分布”相对。与试验结果无关,或与随机抽样无关,反映在进行统计试验之前根据其他有关参数θ的知识而得到的分布。贝叶斯学派认为,在进行观察以获得样本之前,人们对θ也会有一些知识。因为是在试验观察之前,故称之为先验知识。因此,贝叶斯派认为,应该把θ看作是随机变量。θ的分布函数记为H(θ),θ的密度函数记为h(θ),分别称为先验分布函数和先验密度函数,两者合称为先验分布。在进行贝叶斯统计推断之前,可以根据已知的先验知识或假定,建立一个概率分布,这个分布被称为先验分布,先验分布代表了在进行实验或者收集数据之前对参数的概率分布的了解程度。

203、根据所述目标函数,确定所述待训练模型的目标损失函数。

其中,所述目标损失函数中包括初始变换函数和所述初始变换函数对应的一组最有害变换函数,所述初始变换函数使用预期改进采集函数对所述目标函数进行采样得到。

204、迭代优化所述目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。

相较于现有技术生成对抗样本时随机选取物理变换,忽视了不同的物理变换的重要程度不同这个事实,所以缺乏对物理世界变换的鲁棒性,本申请实施例中获取初始对抗样本和目标攻击类别;根据初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数;根据目标函数,确定待训练模型的目标损失函数;迭代优化所述目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。因此,本申请实施例由于目标损失函数中包括初始变换函数和初始变换函数对应的一组最有害变换函数,初始变换函数使用预期改进采集函数对所述目标函数进行采样得到,通过预期改进采集函数来找到最优解,基于贝叶斯优化找到一组最有害的变换,提升了对抗样本在物理变换(如密度增减,旋转等)下的鲁棒性,相较于一般的对抗攻击,本申请实施例在物理变换下的对抗攻击成功率更高,攻击者可以以更加高的成功率鲁棒地攻击深度学习模型,进一步的,基于符合实际应用要求的对抗样本生成模型,可以生成大量符合要求的对抗样本去进行目标检测模型的评估,使得目标检测模型的评估效率更高且模型评估更准确。

在本申请一些实施例中,步骤202中根据所述初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数,可以包括:获取用于表示先验分布的均值函数和协方差函数;通过所述均值函数和所述协方差函数,表示先验分布;通过贝叶斯优化中的高斯过程和所述先验分布构建待训练模型的目标函数。

贝叶斯优化是一种解决全局优化问题的高效方法,包括两个关键组件:一个是统计替代项,如高斯过程或贝叶斯神经网络,它对未知目标进行建模;另一个是采集函数,它通过权衡利用和探索来最大化,以推荐下一个采样点。本申请实施例中选用高斯过程作为统计替代项,它提供了一个贝叶斯后验概率分布,描述目标函数在任何候选点的潜在值。

相对于直接进行梯度下降,贝叶斯优化可以找到更重要的物理变换。通过高斯过程和预期改进采集函数,可以找到使预测值更高和模型更不确定的物理变换,平衡勘探和开发。这样可以找到更重要的物理变换,提高鲁棒性

具体的,通过贝叶斯优化中的高斯过程

测试点x的预测值取决于观测数据,该预测值将在后续预期改进采集函数中用到:

其中均值μ

方差∑

在本申请一些实施例中,如图3所示,步骤203中根据所述目标函数,确定所述待训练模型的目标损失函数,可以进一步包括如下步骤301~303:

301、使用预期改进采集函数对所述目标函数进行采样,得到初始变换函数。

在一个具体示例中,可以使用预期改进采集函数找到初始变换。其中

其中,采集函数用于产生下次待评估的观测点,主要作用在于平衡好探索(exploration)与利用(exploitation),使其既能利用先前的观测值加快收敛,又能探索决策空间中不确定性强的地方,避免陷入局部最优。

302、在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数。

其中,所述在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数,包括:通过迭代求出所述初始变换函数的梯度,并沿着所述梯度相反的方向移动,在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数。

在一个具体示例中,通过迭代地求出梯度,并沿着梯度相反的方向移动,找到当前初始变换函数附近的一组最有害变换函数

上面步骤(1)和步骤(2)中,通过贝叶斯优化中的高斯过程和先验分布建模目标函数C

303、根据所述初始变换函数和所述最有害变换函数,确定所述待训练模型的目标损失函数。

其中,所述根据所述初始变换函数和所述最有害变换函数,确定所述待训练模型的目标损失函数,可以包括:根据所述初始变换函数和所述最有害变换函数,确定最小化对抗样本被分类成目标攻击类别的第一损失函数;获取对抗样本和原始样本在范数意义上的距离;根据所述第一损失函数和所述距离,确定所述待训练模型的目标损失函数。

具体的,根据所述初始变换函数和所述最有害变换函数,确定最小化对抗样本被分类成目标攻击类别的第一损失函数,可以包括:将所述目标函数的最小值作为第二损失函数,将所述初始变换函数和所述最有害变换函数代入所述第二损失函数,得到第一损失函数。

其中,所述获取对抗样本和原始样本在范数意义上的距离,可以包括:获取对抗样本和原始样本在范数意义上的初始距离;获取所述初始距离的权重参数;根据所述权重参数和所述初始距离,计算对抗样本和原始样本在范数意义上的距离。

在一个具体示例中,根据所述初始变换函数和所述最有害变换函数,确定所述待训练模型的目标损失函数,可以采用如下方式确定:

(1)将损失函数项设置为

(2)迭代优化对抗攻击目标函数为

本申请中的对抗攻击目标函数为

本申请实施例中提出了一种基于贝叶斯优化提升对抗攻击鲁棒性的方案,基于贝叶斯优化提升对抗攻击鲁棒性的方法旨在通过贝叶斯优化找到一组最有害的变换函数,提升对抗样本在物理变换(如密度增减,旋转等)下的鲁棒性。相较于一般的对抗攻击,基于贝叶斯优化提升对抗攻击鲁棒性的方法在物理变换下的成功率更高,通过实现本申请,攻击者可以以更加高的成功率鲁棒地攻击深度学习模型。

本申请实施例还提供一种模型评估方法,所述方法包括利用如上述对抗样本的生成方法生成的多个对抗样本,评估目标模型的鲁棒性。

本申请实施例通过训练后的模型,可以生成大量符合要求的对抗样本去进行目标检测模型的评估,使得目标检测模型的评估效率更高且模型评估更准确,从而提升模型的鲁棒性。

为便于更好的实施本申请实施例提供的对抗样本生成方法,本申请实施例还提供一种基于上述对抗样本生成方法的装置。其中名词的含义与上述对抗样本生成方法中相同,具体实现细节可以参考对抗样本生成方法实施例中的说明。

本申请实施例中的对抗样本生成装置,具有实现对应于上述实施例中提供的对抗样本生成方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。

请参阅图4,图4为本申请实施例提供的对抗样本生成装置的结构示意图,该对抗样本生成装置可应用于需要进行对抗样本生成场景下的计算设备中,具体的,该对抗样本生成装置400可以包括获取模块401、构建模块402、确定模块403和生成模块404,具体如下:

获取模块401,用于获取初始对抗样本和目标攻击类别;

构建模块402,用于根据所述初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数,所述待训练模型用于生成针对目标模型的对抗样本;

确定模块403,用于根据所述目标函数,确定所述待训练模型的目标损失函数,所述目标损失函数中包括初始变换函数和所述初始变换函数对应的一组最有害变换函数,所述初始变换函数使用预期改进采集函数对所述目标函数进行采样得到;

生成模块404,用于迭代优化所述目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。

在本申请一些实施例中,所述构建模块402具体用于:

获取用于表示先验分布的均值函数和协方差函数;

通过所述均值函数和所述协方差函数,表示先验分布;

通过贝叶斯优化中的高斯过程和所述先验分布构建待训练模型的目标函数。

在本申请一些实施例中,所述确定模块具体用于:

使用预期改进采集函数对所述目标函数进行采样,得到初始变换函数;

在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数;

根据所述初始变换函数和所述最有害变换函数,确定所述待训练模型的目标损失函数。

在本申请一些实施例中,所述确定模块403具体用于:

通过迭代求出所述初始变换的梯度,并沿着所述梯度相反的方向移动,在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数。

在本申请一些实施例中,所述确定模块403具体用于:

根据所述初始变换函数和所述最有害变换函数,确定最小化对抗样本被分类成目标攻击类别的第一损失函数;

获取对抗样本和原始样本在范数意义上的距离;

根据所述第一损失函数和所述距离,确定所述待训练模型的目标损失函数。

在本申请一些实施例中,所述确定模块具体用于:

将所述目标函数的最小值作为第二损失函数,将所述初始变换函数和所述最有害变换函数代入所述第二损失函数,得到第一损失函数。

在本申请一些实施例中,所述确定模块403具体用于:

获取对抗样本和原始样本在范数意义上的初始距离;

获取所述初始距离的权重参数;

根据所述权重参数和所述初始距离,计算对抗样本和原始样本在范数意义上的距离。

相较于现有技术,本申请实施例中获取模块401获取初始对抗样本和目标攻击类别;构建模块402根据初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数;确定模块403根据目标函数,确定待训练模型的目标损失函数;生成模块404迭代优化所述目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。因此,本申请实施例由于目标损失函数中包括初始变换函数和初始变换函数对应的一组最有害变换函数,初始变换函数使用预期改进采集函数对所述目标函数进行采样得到,通过预期改进采集函数来找到最优解,基于贝叶斯优化找到一组最有害的变换,提升了对抗样本在物理变换(如密度增减,旋转等)下的鲁棒性,相较于一般的对抗攻击,本申请实施例在物理变换下的对抗攻击成功率更高,攻击者可以以更加高的成功率鲁棒地攻击深度学习模型,进一步的,基于符合实际应用要求的对抗样本生成模型,可以生成大量符合要求的对抗样本去进行目标检测模型的评估,使得目标检测模型的评估效率更高且模型评估更准确。

为便于更好的实施本申请实施例提供的对抗样本生成装置,本申请实施例还提供一种利用上述对抗样本生成装置实施例中生成的对抗样本进行模型评估的装置。其中名词的含义与上述对抗样本生成方法中相同,具体实现细节可以参考方法实施例中的说明。所述装置利用如上述的对抗样本生成装置生成多个对抗样本,评估目标检模型的鲁棒性。

具体的,本申请还提供一种模型评估装置,所述装置利用如上述实施例中中任一项所述对抗样本的生成装置生成的多个对抗样本,评估目标模型的鲁棒性。

通过上述模型评估装置,采用上述对抗样本生成方法实施例中生成的多个对抗样本对目标模型进行评估,由于多个对抗样本是拥有应对物理世界变换的鲁棒性的对抗样本,可以增强在物理世界变换下的攻击成功率和效率,在物理世界中成功且高效地攻击深度学习模型,从而提高针对目标模型的评估效率和评估有效性。

上面从模块化功能实体的角度对本申请实施例中的对抗样本生成装置进行了描述,下面从硬件处理的角度分别对本申请实施例中的对抗样本生成装置进行描述。

本申请实施例中计算设备可以是终端设备也可以是服务器,当本申请实施例中计算设备为终端设备时,本申请实施例还提供了一种终端设备,如图5所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、销售终端设备(Point of Sales,POS)、车载电脑等任意终端设备,以终端设备为手机为例:

图5示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图5,手机包括:射频(Radio Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(wireless fidelity,WiFi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图5对手机的各个构成部件进行具体的介绍:

RF电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,RF电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(LowNoiseAmplifier,LNA)、双工器等。此外,RF电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General PacketRadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。

存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(LiquidCrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图5中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经RF电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。

Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了Wi-Fi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;可选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。

手机还包括给各个部件供电的电源1090(比如电池),可选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本申请实施例中,该手机所包括的处理器1080还具有控制执行以上由对抗样本生成装置执行的模型训练方法流程。

本申请实施例还提供了一种服务器,请参阅图6,图6是本申请实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(英文全称:central processing units,英文简称:CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图中未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。

服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。

上述实施例中模型训练方法中的步骤可以基于该图6所示的服务器1100的结构。例如,所述中央处理器1122通过调用存储器1132中的指令,执行以下操作:

获取初始对抗样本和目标攻击类别;

根据所述初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数,所述待训练模型用于生成针对目标模型的对抗样本;

根据所述目标函数,确定所述待训练模型的目标损失函数,所述目标损失函数中包括初始变换函数和所述初始变换函数对应的一组最有害变换函数,所述初始变换函数使用预期改进采集函数对所述目标函数进行采样得到;

迭代优化所述目标损失函数,直至搜到所述目标损失函数的最优解,确定所述目标损失函数取所述最优解时,输出当前所述待训练模型生成的对抗样本。

在一个实施方式中,还可以通过中央处理器1122通过调用存储器1132中的指令实现所述根据所述初始对抗样本和所述目标攻击类别,通过贝叶斯优化中的高斯过程和先验分布构建待训练模型的目标函数的步骤:

获取用于表示先验分布的均值函数和协方差函数;

通过所述均值函数和所述协方差函数,表示先验分布;

通过贝叶斯优化中的高斯过程和所述先验分布构建待训练模型的目标函数。

在一个实施方式中,还可以通过中央处理器1122通过调用存储器1132中的指令实现所述根据所述目标函数,确定所述待训练模型的目标损失函数的步骤:

使用预期改进采集函数对所述目标函数进行采样,得到初始变换函数;

在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数;

根据所述初始变换函数和所述最有害变换函数,确定所述待训练模型的目标损失函数。

在一个实施方式中,还可以通过中央处理器1122通过调用存储器1132中的指令实现所述在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数的步骤:

通过迭代求出所述初始变换的梯度,并沿着所述梯度相反的方向移动,在所述初始变换函数附近搜索一组最有害变换函数,得到所述初始变换函数对应的一组最有害变换函数。

在一个实施方式中,还可以通过中央处理器1122通过调用存储器1132中的指令实现所述根据所述初始变换函数和所述最有害变换函数,确定所述待训练模型的目标损失函数的步骤:

根据所述初始变换函数和所述最有害变换函数,确定最小化对抗样本被分类成目标攻击类别的第一损失函数;

获取对抗样本和原始样本在范数意义上的距离;

根据所述第一损失函数和所述距离,确定所述待训练模型的目标损失函数。

在一个实施方式中,还可以通过中央处理器1122通过调用存储器1132中的指令实现根据所述初始变换函数和所述最有害变换函数,确定最小化对抗样本被分类成目标攻击类别的第一损失函数的步骤:

将所述目标函数的最小值作为第二损失函数,将所述初始变换函数和所述最有害变换函数代入所述第二损失函数,得到第一损失函数。

在一个实施方式中,还可以通过中央处理器1122通过调用存储器1132中的指令实现获取对抗样本和原始样本在范数意义上的距离步骤:

获取对抗样本和原始样本在范数意义上的初始距离;

获取所述初始距离的权重参数;

根据所述权重参数和所述初始距离,计算对抗样本和原始样本在范数意义上的距离。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。

相关技术
  • 一种基于智能拐杖的室内导航方法及其智能拐杖
  • 智能拐杖、智能拐杖报警系统及智能拐杖报警方法
  • 一种智能拐杖的控制电路及智能拐杖
技术分类

06120116540173