基于代理模型的对抗样本生成方法和装置
技术领域
本发明的实施方式涉及神经网络技术领域,更具体地,本发明的实施方式涉及一种基于代理模型的对抗样本生成方法和装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
图像识别作为计算机视觉中的一个重要的任务,由于深度神经网络的带动,也取得了巨大的发展。并且图像识别系统在金融/支付,公共交通以及罪犯识别等现实场景中有很多的应用。虽然图像识别系统取得了很大的成功与实际应用,但是这些系统还无法完全确保具备足够的安全性。
近几年来,深度学习在图像、语音和自然语言等领域取得突破性成果。但是,对于一些可以达到很高准确识别率的深度神经网络模型,在对抗环境中却也很容易受到攻击。在对抗环境中,深度神经网络模型会被输入一些基于正常样本恶意构造的对抗样本(例如,图片或者语音信息),在对抗样本的攻击下,深度神经网络模型会做出错误的预测。因此,采用对抗样本对深度神经网络进行攻击可以检测出深度神经网络模型潜在的漏洞,继而用于评估和提升深度神经网络模型的安全性。
发明内容
在本上下文中,本发明的实施方式期望提供一种基于代理模型的对抗样本生成方法、装置、介质和计算设备。
在本发明实施方式的第一方面中,提供了一种基于代理模型的对抗样本生成方法,包括:
提供基于卷积神经网络构建的白盒模型、原始样本和一基于迭代的对抗攻击算法,其中,所述白盒模型中设置多个批归一化层,所述多个批归一化层均分别连接在多个非批归一化层之后,所述非批归一化层为卷积层、池化层和全连接层中的一种;
基于所述白盒模型、所述原始样本和所述基于迭代的对抗攻击算法迭代生成对抗样本,直到达到预设终止条件;
在每个迭代轮次中:
获取上一轮次迭代生成对抗样本时,所述白盒模型中的各个批归一化层的斜率系数;
将各个批归一化层的斜率系数作为对应的批归一化层之前设置的非批归一化层的重要性分数,所述重要性分数用于表示相应轮次中白盒模型的对应非批归一化层对所述白盒模型处理输入样本时的影响程度;
根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级;
更新剪除部分层级后的白盒模型;
将达到预设终止条件时生成的对抗样本作为最终的对抗样本以对其他模型进行迁移攻击。
在本实施方式的一个实施例中,将各个批归一化层的斜率系数的绝对值作为对应的批归一化层之前设置的非批归一化层的重要性分数。
在本实施方式的一个实施例中,根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级,包括:
基于各个非批归一化层的的重要性分数,按照从高到低的顺序进行排序;
根据预设剪枝率对排序在后的部分非批归一化层进行剪除,且对应剪除白盒模型中所述排序在后的部分非批归一化层之后直接连接的各个批归一化层。
在本实施方式的一个实施例中,根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级:
将重要性分数低于预设阈值的部分非批归一化层进行剪除,且对应剪除白盒模型中所述重要性分数低于预设阈值的部分非批归一化层之后直接连接的各个批归一化层。
在本实施方式的一个实施例中,仅剪部分除卷积层及所述卷积层后连接的批归一化层;或
所述多个批归一化层均分别连接在多个卷积层之后;或
仅计算各个卷积层的重要性分数,以剪除部分卷积层及所述卷积层后连接的批归一化层。
在本实施方式的一个实施例中,通过将应剪除层级内的参数数值设为0的方式将所述白盒模型的部分层级剪除。
在本实施方式的一个实施例中,所述基于迭代的对抗攻击算法包括动量迭代式对抗攻击算法;
其中,
表示第
i轮更新得到的动量,
表示动量衰减速度,
表示代理模型的损失函数计算得到的损失结果
关于第i-1轮生成的对抗样本
的梯度,
表示L1范数,
y表示
所对应的原始样本
X的类别,
表示将修改中的对抗样本
投影到距离原始样本
X不超过ϵ的范围内,其中α是超参数。
在本发明实施方式的第二方面中,提供了一种基于代理模型的对抗样本生成装置,包括:
准备模块,被配置为提供基于卷积神经网络构建的白盒模型、原始样本和一基于迭代的对抗攻击算法,其中,所述白盒模型中设置多个批归一化层,所述多个批归一化层均分别连接在多个非批归一化层之后,所述非批归一化层为卷积层、池化层和全连接层中的一种;
迭代模块,被配置为基于所述白盒模型、所述原始样本和所述基于迭代的对抗攻击算法迭代生成对抗样本,直到达到预设终止条件;具体包括:
获取单元,被配置为在每个迭代轮次中,获取上一轮次迭代生成对抗样本时,所述白盒模型中的各个批归一化层的斜率系数;
计算单元,被配置为在每个迭代轮次中,将各个批归一化层的斜率系数作为对应的批归一化层之前设置的非批归一化层的重要性分数,所述重要性分数用于表示相应轮次中白盒模型的对应非批归一化层对所述白盒模型处理输入样本时的影响程度;
剪枝单元,被配置为在每个迭代轮次中,根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级;
更新单元,被配置为在每个迭代轮次中,更新剪除部分层级后的白盒模型;
确定单元,被配置为在每个迭代轮次中,判断是否达到预设终止条件,并将达到预设终止条件时生成的对抗样本作为最终的对抗样本以对其他模型进行迁移攻击。
在本发明实施方式的第三方面中,提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可以实现所述基于代理模型的对抗样本生成方法。
在本发明实施方式的第四方面中,提供了一种计算设备,包括:存储器、处理器;所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行所述基于代理模型的对抗样本生成方法。
根据本发明实施方式的基于代理模型的对抗样本生成方法、装置、介质和计算设备,基于所述白盒模型、所述原始样本和所述基于迭代的对抗攻击算法迭代生成对抗样本,直到达到预设终止条件;在每个迭代轮次中:获取上一轮次迭代生成对抗样本时,所述白盒模型中的各个批归一化层的斜率系数;将各个批归一化层的斜率系数作为对应的批归一化层之前设置的非批归一化层的重要性分数,所述重要性分数用于表示相应轮次中白盒模型的对应非批归一化层对所述白盒模型处理输入样本时的影响程度;根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级;更新剪除部分层级后的白盒模型;将达到预设终止条件时生成的对抗样本作为最终的对抗样本以对其他模型进行迁移攻击。
根据本申请的技术方案生成的对抗样本相对于基于原白盒模型迭代生成的对抗样本,将具备更强的迁移性能以及更高的黑盒攻击的成功率。
和现有技术相比,本发明主要具有以下有益效果:
一、本发明属于基于迁移的黑盒对抗攻击方法,所以不需要获取受害模型,也不需要对受害模型进行大量的访问。
二、本发明可以与任何基于迭代的攻击方法结合(如TIM攻击方法),带来迁移性能的提升。
三、本发明最终生成的对抗样本基于多次剪除参数后的白盒模型,所述白盒模型中保留的层级相比于剪除的层级,对图像识别结果更加重要,即更加关注图片的重要特征,从而本发明生成的对抗样本有助于图像的异常检测或可解释性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明一实施例的基于代理模型的对抗样本生成方法的流程示意图;
图2示意性地示出了图1所示实施例的迭代生成对抗样本的流程示意图;
图3为本发明实施例提供的基于代理模型的对抗样本生成装置的模块示意图;
图4为本发明实施例提供的一种计算机可读存储介质的示意图;
图5为本发明实施例提供的一种计算设备的示意。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种基于代理模型的对抗样本生成方法、装置、介质和计算设备。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
发明人发现,在攻击神经网络判别/分类/预测模型的方法中,不同的对抗攻击方法的区别主要在于优化算法和扰动形式。对于常见的基于白盒的攻击方法,基于分数的黑盒攻击方法,基于决策的黑盒攻击方法以及基于迁移的黑盒攻击方法,其扰动形式通常是在正常样本上线性叠加一个噪声。它们的区别只是在于使用不同的优化过程。这些方法都各自存在一些缺点,例如:
一、基于白盒的攻击方法,需要获取受害模型,而现实中这一模型往往不易获取。
二、基于分数的黑盒攻击方法与基于决策的黑盒攻击方法,往往需要多次访问受害者模型,降低了攻击的效率。
三、基于迁移的黑盒攻击方法,黑盒模型与受害模型的相似度对攻击的成功率影响较大。
基于神经网络构建的判别/分类/预测模型,往往都是基于相似的特征提取及特征处理方式,例如对样本的特征进行提取,进而对提取到的特征执行相应的判别/分类/预测操作。
而基于神经网络构建的判别/分类/预测模型中,往往存在大量的具有不同参数和/或结构的层级,这些层级对模型的最终输出结果起到不同的影响作用,由此,发明人构思了一种采用网络剪枝技术的基于代理模型的对抗样本生成方法,在每步迭代生成对抗样本时都会寻找白盒模型关于原始样本的不重要层级并剪去,从而得到一个更关注样本重要特征的白盒模型。在该白盒模型上生成的对抗样本,相对于原模型,将具备更强的迁移性能和更高的黑盒攻击的成功率。
示例性方法
下面参考图1和图2来描述根据本发明示例性实施方式的基于代理模型的对抗样本生成方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
本发明的实施例提供了一种基于代理模型的对抗样本生成方法,包括:
步骤S110,提供基于卷积神经网络构建的白盒模型、原始样本和一基于迭代的对抗攻击算法,其中,所述白盒模型中设置多个批归一化层,所述多个批归一化层均分别连接在多个非批归一化层之后,所述非批归一化层为卷积层、池化层和全连接层中的一种;
步骤S120,基于所述白盒模型、所述原始样本和所述基于迭代的对抗攻击算法迭代生成对抗样本,直到达到预设终止条件;
在每个迭代轮次中:
步骤S121,获取上一轮次迭代生成对抗样本时,所述白盒模型中的各个批归一化层的斜率系数;
步骤S122,将各个批归一化层的斜率系数作为对应的批归一化层之前设置的非批归一化层的重要性分数,所述重要性分数用于表示相应轮次中白盒模型的对应非批归一化层对所述白盒模型处理输入样本时的影响程度;
步骤S123,根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级;
步骤S124,更新剪除部分层级后的白盒模型;
步骤S125,将达到预设终止条件时生成的对抗样本作为最终的对抗样本以对其他模型进行迁移攻击。
可以理解的是,本发明的对抗攻击方法是基于一个白盒模型迭代生成对抗样本,在每步迭代生成对抗样本时都会寻找白盒模型关于原始样本的不重要层级并剪去,从而得到一个更关注样本重要特征的白盒模型。在剪除不重要层级后的白盒模型上生成的对抗样本,相较于在原白盒模型上生成的对抗样本,将具备更强的迁移性能和更高的黑盒攻击的成功率。
本发明的方法适用于各种类型数据的对抗样本生成,所述原始样本包括但不限于图片样本、语音样本、文本样本,相应的白盒模型则是对应原始样本的基于神经网络构建的图像处理模型、语音处理模型、文本处理模型。
下面结合附图说明如何进行基于白盒模型的图片类对抗样本生成:
首先,执行步骤S110,步骤S110,提供基于卷积神经网络构建的白盒模型、原始样本和一基于迭代的对抗攻击算法,其中,所述白盒模型中设置多个批归一化层,所述多个批归一化层均分别连接在多个非批归一化层之后,所述非批归一化层为卷积层、池化层和全连接层中的一种;
在本实施例中,首先需要提供原始样本和白盒模型,原始样本可以是预先准备好的图片样本或图片样本集中的一张或多张,在需要从图片样本集中获取原始样本时,可以通过随机采样的方式或其他预设规则进行,本实施例对此不做限定,所述白盒模型为可以基于所述原始样本进行判别/分类/预测的卷积神经网络模型,即我们可以获知所述白盒模型的神经网络结构和参数详情,所述白盒模型与意图攻击的模型(也可以称之为受害模型)的用途相同或相似,例如受害模型用于图像分类,则白盒模型也最好是用于图像分类,在本实施例中,以攻击图像分类模型为例进行说明,具体来说,可以是VGGNet、DenseNet-40和ResNet-164中的任一个。
所述基于迭代的对抗攻击算法指的是能够根据上一轮次生成的对抗样本输入白盒模型后的输出结果进行迭代优化,以使后续生成的对抗样本攻击成功率逐渐提高的方法,在基于图像样本和图像分类模型构建对抗样本时,所述基于迭代的对抗样本生成算法可以是Basic Iterative Method:一种基于梯度下降的对抗攻击方法;或者MomentumIterative Fast Gradient Sign Method: 一种利用动量的基于优化的对抗攻击方法;或者其他方式,本实施例对此不做限定。
本实施例中以如何生成图片类对抗样本为例进行了说明,但不代表本发明仅仅可以应用于图片类对抗样本的生成,在需要进行其他类对抗样本如语音或文本时,也可以根据本发明的各个步骤对应采用相应的数据处理模型和迭代攻击方式即可。
接下来执行步骤S120,基于所述白盒模型、所述原始样本和所述基于迭代的对抗攻击算法迭代生成对抗样本,直到达到预设终止条件;
在每个迭代轮次中,执行以下步骤:
步骤S121,获取上一轮次迭代生成对抗样本时,所述白盒模型中的各个批归一化层的斜率系数;
在本申请适用的神经网络中,批归一化层(batch normalization)一般为:
其中γ为斜率系数(标量),β为偏置系数(标量),μ和σ分别为均值和方差,x为所述批归一化层的输入,即所述批归一化层之前连接的非批归一化层的输出,y为所述批归一化层的输出,x、y、μ和σ均为矢量。
步骤S122,将各个批归一化层的斜率系数作为对应的批归一化层之前设置的非批归一化层的重要性分数,所述重要性分数用于表示相应轮次中白盒模型的对应非批归一化层对所述白盒模型处理输入样本时的影响程度;
需要说明的是,某个批归一化层的斜率系数可能为正或为负。如果直接使用某个斜率系数作为重要性分数,就可能会简单地认定正的斜率系数比负的更重要。实际上,非常负的斜率系数意味着其能起到非常大的副作用,它对模型预测结果的影响程度与非常大的正的斜率系数是相当的。所以本实施方式的一个优选实施例中用绝对值,即其数值的幅度(而忽略符号),来衡量模型中的所述批归一化层之前连接的非批归一化层的重要性。
由此,在本实施方式的一个实施例中,将各个批归一化层的斜率系数的绝对值作为对应的批归一化层之前设置的非批归一化层的重要性分数。
步骤S123,根据预设规则以及所述白盒模型的各个非批归一化层的
重要性分数剪除所述白盒模型的部分层级;
在本实施方式的一个实施例中,根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级,包括:
基于各个非批归一化层的的重要性分数,按照从高到低的顺序进行排序;
根据预设剪枝率对排序在后的部分非批归一化层进行剪除,且对应剪除白盒模型中所述排序在后的部分非批归一化层之后直接连接的各个批归一化层。
例如,当前的白盒模型中存在若干个卷积层、池化层和全连接层,且上述卷积层、池化层和全连接层后均连接有对应的批归一化层,例如N个非批归一化层:a1,a2···an,各个非批归一化层之后分别对应连接N个非批归一化层:b1,b2···bn,分别根据N个非批归一化层的斜率系数:b1,b2···bn对应计算得到N个非批归一化层:a1,a2···an的重要性分数s1,s2···sn,然后基于各个非批归一化层的重要性分数按照从高到低的顺序进行排序,根据剪枝率(即需要剪除的非批归一化层的比例,例如20%)对排序在后20%的非批归一化层进行剪除,例如排序在后20%的非批归一化层为a1何a2,则对应剪除的还有非批归一化层b1和b2,剪除的方式具体来说,可以通过将应剪除层级内的参数数值设为0的方式将排序在后20%的部分层级剪除。
在本实施方式的另一个实施例中,根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级:
将重要性分数低于预设阈值的部分非批归一化层进行剪除,且对应剪除白盒模型中所述重要性分数低于预设阈值的部分非批归一化层之后直接连接的各个批归一化层。
在本实施方式的一个实施例中,还可以仅剪部分除卷积层及所述卷积层后连接的批归一化层;例如所述白盒模型中存在若干个卷积层、池化层和全连接层,且上述卷积层、池化层和全连接层后均连接有对应的批归一化层,例如N个非批归一化层:a1,a2···an,各个非批归一化层之后分别对应连接N个非批归一化层:b1,b2···bn,分别根据N个非批归一化层的斜率系数:b1,b2···bn对应计算得到N个非批归一化层:a1,a2···an的重要性分数s1,s2···sn,然后基于各个非批归一化层的重要性分数按照从高到低的顺序进行排序,根据剪枝率(即需要剪除的非批归一化层的比例,例如20%)对排序在后20%的非批归一化层中的卷积层进行剪除。例如排序在后20%的层级包括卷积层a1,池化层a2和全连接层a3,那么本实施例仅剪除卷积层a1及所述卷积层后连接的批归一化层,而不剪除池化层a2和全连接层a3。
在上述实施例中,还可以仅计算各个卷积层的重要性分数,以剪除部分卷积层及所述卷积层后连接的批归一化层。
在本实施方式的一个实施例中,所述多个批归一化层均分别连接在多个卷积层之后;例如所述白盒模型中存在若干个卷积层、池化层和全连接层,且上述层级中仅卷积层后连接有对应的批归一化层,例如N个非批归一化层:a1,a2···an,其中30个为卷积层:a1,a3,a5···a50,之后分别对应连接30个非批归一化层:b1,b2···b30,分别根据30个非批归一化层的斜率系数:b1,b2···b30对应计算得到30个卷积层:a1,a3·,a5···a50的重要性分数s1,s2···s30,然后基于各个卷积层的重要性分数按照从高到低的顺序进行排序,根据剪枝率(即需要剪除的非批归一化层的比例,例如20%)对排序在后20%的卷积层及所述卷积层后连接的批归一化层进行剪除。
步骤S124,更新剪除部分层级后的白盒模型;
步骤S125,将达到预设终止条件时生成的对抗样本作为最终的对抗样本以对其他模型进行迁移攻击。
在本实施方式中,所述预设终止条件可以是迭代达到预设次数,或者所述白盒模型的参数剪除超过一定的比例,或者迭代生成的对抗样本的攻击成功率达到预设阈值,本实施方式对此不做限定。
下面对本申请的方案实施进行更加详细的说明,以MI-FGSM攻击算法作为所述基于迭代的对抗攻击算法,以VGGNet、DenseNet-40和ResNet-164这三个网络分别作为所述白盒模型和迁移攻击的模型,所述模型中仅卷积层后连接有批归一化层,原始样本包括1000张ImageNet图片,剪枝率r为20%。
首先,选取一张受害者图像X和一个代理模型M。所述受害者图像X图像的类别为y。
然后,选取超参数,例如预定停止条件:攻击迭代轮数N,动量衰减速度μ,每步攻击幅度α,允许的扰动总大小ϵ,剪枝率r。
接下来,初始化对抗样本
,动量
,0为与
同维度的全零张量。
其中,
表示第
i轮更新得到的动量,
表示动量衰减速度,
表示代理模型的损失函数计算得到的损失结果
关于第i-1轮生成的对抗样本
的梯度,
表示L1范数,
y表示
所对应的原始样本
X的类别,
表示将修改中的对抗样本
投影到距离原始样本
X不超过ϵ的范围内,其中α是超参数。
白盒模型的损失函数计算得到的损失结果
关于对抗样本
的梯度
可以是神经网络的交叉熵损失结果关于
X的梯度。然后,通过以下方式计算某个卷积层对上一轮次生成的对抗样本
的重要性分数,即其后连接的归一化层的斜率系数的绝对值:
|r|。
在进行不重要卷积层的剪除时,对白盒模型M的各个卷积层,按重要性分数由大到小排序。设当前共n个卷积层,将重要性分数最低的nr个卷积层内卷积核及所述卷积层后连接的批归一化层的参数设为0,得到临时模型M i 并返回。
在本轮次的迭代中(第
i轮迭代),基于所述临时模型
M i 生成对抗样本
。
在迭代N轮时,即
i=
N时,将
作为最终输出的对抗样本。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图3对本发明示例性实施方式的一种基于代理模型的对抗样本生成装置进行说明,该装置包括:
准备模块310,被配置为提供基于卷积神经网络构建的白盒模型、原始样本和一基于迭代的对抗攻击算法,其中,所述白盒模型中设置多个批归一化层,所述多个批归一化层均分别连接在多个非批归一化层之后,所述非批归一化层为卷积层、池化层和全连接层中的一种;
迭代模块320,被配置为基于所述白盒模型、所述原始样本和所述基于迭代的对抗攻击算法迭代生成对抗样本,直到达到预设终止条件;具体包括:
获取单元321,被配置为在每个迭代轮次中,获取上一轮次迭代生成对抗样本时,所述白盒模型中的各个批归一化层的斜率系数;
计算单元322,被配置为在每个迭代轮次中,将各个批归一化层的斜率系数作为对应的批归一化层之前设置的非批归一化层的重要性分数,所述重要性分数用于表示相应轮次中白盒模型的对应非批归一化层对所述白盒模型处理输入样本时的影响程度;
剪枝单元323,被配置为在每个迭代轮次中,根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级;
更新单元324,被配置为在每个迭代轮次中,更新剪除部分层级后的白盒模型;
确定单元325,被配置为在每个迭代轮次中,判断是否达到预设终止条件,并将达到预设终止条件时生成的对抗样本作为最终的对抗样本以对其他模型进行迁移攻击。
在本实施方式的一个实施例中,所述计算单元322还被配置为将各个批归一化层的斜率系数的绝对值作为对应的批归一化层之前设置的非批归一化层的重要性分数。
在本实施方式的一个实施例中,所述剪枝单元323,还被配置为基于各个非批归一化层的的重要性分数,按照从高到低的顺序进行排序;以及
根据预设剪枝率对排序在后的部分非批归一化层进行剪除,且对应剪除白盒模型中所述排序在后的部分非批归一化层之后直接连接的各个批归一化层。
在本实施方式的一个实施例中,所述剪枝单元323,还被配置为将重要性分数低于预设阈值的部分非批归一化层进行剪除,且对应剪除白盒模型中所述重要性分数低于预设阈值的部分非批归一化层之后直接连接的各个批归一化层。
在本实施方式的一个实施例中,仅剪部分除卷积层及所述卷积层后连接的批归一化层;或
所述多个批归一化层均分别连接在多个卷积层之后;或
仅计算各个卷积层的重要性分数,以剪除部分卷积层及所述卷积层后连接的批归一化层。
在本实施方式的一个实施例中,所述剪枝单元323,还被配置为通过将应剪除层级内的参数数值设为0的方式将所述白盒模型的部分层级剪除。
在本实施方式的一个实施例中,所述基于迭代的对抗攻击算法包括动量迭代式对抗攻击算法;
其中,
表示第
i轮更新得到的动量,
表示动量衰减速度,
表示代理模型的损失函数计算得到的损失结果
关于第i-1轮生成的对抗样本
的梯度,
表示L1范数,
y表示
所对应的原始样本
X的类别,
表示将修改中的对抗样本
投影到距离原始样本
X不超过ϵ的范围内,其中α是超参数。
示例性介质
在介绍了本发明示例性实施方式的方法和装置之后,接下来,参考图4对本发明示例性实施方式的计算机可读存储介质进行说明,请参考图4,其示出的计算机可读存储介质为光盘40,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,提供基于卷积神经网络构建的白盒模型、原始样本和一基于迭代的对抗攻击算法,其中,所述白盒模型中设置多个批归一化层,所述多个批归一化层均分别连接在多个非批归一化层之后,所述非批归一化层为卷积层、池化层和全连接层中的一种;基于所述白盒模型、所述原始样本和所述基于迭代的对抗攻击算法迭代生成对抗样本,直到达到预设终止条件;在每个迭代轮次中:获取上一轮次迭代生成对抗样本时,所述白盒模型中的各个批归一化层的斜率系数;将各个批归一化层的斜率系数作为对应的批归一化层之前设置的非批归一化层的重要性分数,所述重要性分数用于表示相应轮次中白盒模型的对应非批归一化层对所述白盒模型处理输入样本时的影响程度;根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级;更新剪除部分层级后的白盒模型;将达到预设终止条件时生成的对抗样本作为最终的对抗样本以对其他模型进行迁移攻击;各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
示例性计算设备
在介绍了本发明示例性实施方式的方法、装置和介质之后,接下来,参考图5对本发明示例性实施方式的基于白盒模型进行对抗样本生成的计算设备。
图5示出了适于用来实现本发明实施方式的示例性计算设备50的框图,该计算设备50可以是计算机系统或服务器。图5显示的计算设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算设备50的组件可以包括但不限于:一个或者多个处理器或者处理单元501,系统存储器502,连接不同系统组件(包括系统存储器502和处理单元501)的总线503。
计算设备50典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备50访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器502可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022。计算设备50可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM5023可以用于读写不可移动的、非易失性磁介质(图5中未显示,通常称为“硬盘驱动器”)。尽管未在图5中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线503相连。系统存储器502中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块5024的程序/实用工具5025,可以存储在例如系统存储器502中,且这样的程序模块5024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块5024通常执行本发明所描述的实施例中的功能和/或方法。
计算设备50也可以与一个或多个外部设备504(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口505进行。并且,计算设备50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器506通过总线503与计算设备50的其它模块(如处理单元501等)通信。应当明白,尽管图5中未示出,可以结合计算设备50使用其它硬件和/或软件模块。
处理单元501通过运行存储在系统存储器502中的程序,从而执行各种功能应用以及数据处理,例如,提供基于卷积神经网络构建的白盒模型、原始样本和一基于迭代的对抗攻击算法,其中,所述白盒模型中设置多个批归一化层,所述多个批归一化层均分别连接在多个非批归一化层之后,所述非批归一化层为卷积层、池化层和全连接层中的一种;
基于所述白盒模型、所述原始样本和所述基于迭代的对抗攻击算法迭代生成对抗样本,直到达到预设终止条件;在每个迭代轮次中:获取上一轮次迭代生成对抗样本时,所述白盒模型中的各个批归一化层的斜率系数;将各个批归一化层的斜率系数作为对应的批归一化层之前设置的非批归一化层的重要性分数,所述重要性分数用于表示相应轮次中白盒模型的对应非批归一化层对所述白盒模型处理输入样本时的影响程度;根据预设规则以及所述白盒模型的各个非批归一化层的重要性分数剪除所述白盒模型的部分层级;更新剪除部分层级后的白盒模型;将达到预设终止条件时生成的对抗样本作为最终的对抗样本以对其他模型进行迁移攻击。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了基于代理模型的对抗样本生成装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。