一种对抗蒸馏神经网络模型的方法及计算设备技术

技术编号:17838196 阅读:51 留言:0更新日期:2018-05-03 19:40
本发明专利技术公开了一种对抗蒸馏神经网络模型的方法,其中神经网络模型包括具有特征层结构的前向网络和输出多分类下概率向量的softmax层,该方法适于在计算设备中执行,包括步骤:根据蒸馏温度在原始的神经网络模型的前向网络和softmax层之间加入缩放层,生成第一神经网络模型;利用训练样本自身的第一标签训练第一神经网络模型,得到第二神经网络模型;将训练样本输入第二神经网络模型,经softmax层输出表征训练样本在多分类下概率向量的第二标签;利用第二标签和第一标签同时约束训练第二神经网络模型,得到第三神经网络模型;删除第三神经网络模型中的缩放层,以得到对抗蒸馏后的神经网络模型。本发明专利技术一并公开了相应地计算设备。

A method and equipment for counteracting distillation neural network model

The invention discloses a method against the model of a distilled neural network, in which the neural network model includes a forward network with a feature layer structure and a softmax layer of a probability vector under the output multi classification. The method is suitable for execution in a computing device, including the steps of the forward network of the original neural network model according to the temperature of the distillation. The first neural network model is generated by adding the scaling layer between the collaterals and the softmax layer, and the second neural network model is obtained by training the first neural network model of the training sample itself. The training samples are input into the second neural network model and the training samples are represented by the softmax layer in the multiple classification of the probability vector second. Label; the third neural network model is obtained by using the second tag and the first label to train the second neural network model simultaneously, and the scaling layer in the third neural network model is deleted to get the neural network model after the anti distillation. The present invention discloses the corresponding computing equipment in the same way.

【技术实现步骤摘要】
一种对抗蒸馏神经网络模型的方法及计算设备
本专利技术涉及图像处理
,尤其是一种对抗蒸馏神经网络模型的方法及计算设备。
技术介绍
深度神经网络在现如今的分类回归问题上总是能取得非常准确的结果,在海量数据支撑下,训练出来的深度神经网络模型也具有很强的泛化能力,故,近年来深度神经网络在计算机视觉、语音识别等方面得到广泛地应用。然而这些深度神经网络模型在实际应用中也会存在一些缺陷和漏洞。例如,在不清楚网络模型结构和参数的情况下,对网络的输入做特殊的微小扰动,这些从人的主观上并不会对判断造成任何影响,然而却能使网络模型输出置信度很高的错误结果,这些被“微小扰动”过的输入被称为“对抗样本”。上述问题直接影响到了神经网络模型的泛化能力和安全性。常见的用于提高神经网络模型的泛化能力和安全性的方案是:在神经网络模型的训练数据中加入对抗样本,以此降低网络模型对这些对抗样本识别的错误率,同时进一步提高模型的泛化能力。然而,对抗样本构建的多样性等导致了这种处理方式没有达到预期的效果。因此,需要一种能够提供神经网络模型泛化能力和安全性的方案。
技术实现思路
为此,本专利技术提供了一种对抗蒸馏神经网络模型的方法及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。根据本专利技术的一个方面,提供了一种对抗蒸馏神经网络模型的方法,其中神经网络模型包括具有特征层结构的前向网络和输出多分类下概率向量的softmax层,该方法适于在计算设备中执行,包括步骤:根据蒸馏温度在原始的神经网络模型的前向网络和softmax层之间加入缩放层,生成第一神经网络模型;利用训练样本自身的第一标签训练第一神经网络模型,得到第二神经网络模型;将训练样本输入第二神经网络模型,经softmax层输出表征训练样本在多分类下概率向量的第二标签;利用第二标签和第一标签同时约束训练第二神经网络模型,得到第三神经网络模型;以及删除第三神经网络模型中的缩放层,以得到对抗蒸馏后的神经网络模型。可选地,在根据本专利技术的方法中,缩放层适于按照蒸馏温度对softmax层的输入做缩小处理。可选地,在根据本专利技术的方法中,利用训练样本自身的第一标签训练第一神经网络模型得到第二神经网络模型的步骤包括:利用第一标签通过第一损失函数监督第一神经网络模型的训练,得到第二神经网络模型。可选地,在根据本专利技术的方法中,利用第二标签和第一标签同时约束训练第二神经网络模型得到第三神经网络模型的步骤包括:利用第一标签通过第一损失函数对第二神经网络模型进行分类监督训练;利用第二标签通过第二损失函数对第二神经网络模型进行回归监督训练;以及结合第一损失函数和第二损失函数训练得到第三神经网络模型。可选地,在根据本专利技术的方法中,结合第一损失函数和第二损失函数训练得到第三神经网络模型的步骤包括:对第一损失函数和第二损失函数做加权处理得到训练第三神经网络模型的最终损失函数;以及利用该最终损失函数训练第三神经网络模型。可选地,在根据本专利技术的方法中,第一损失函数为:loss1=-logf(zk)其中,式中,loss1为第一损失函数值,N为训练时的批尺寸,zk为前向网络中全连接层的第k个神经元的输出。可选地,在根据本专利技术的方法中,第二损失函数为:式中,loss2为第二损失函数值,M为经softmax层输出的分类的类别总数,x1i为当前网络第i个类别输出的概率向量,x2i为对应第二标签所表征的第i个类别的概率向量。可选地,在根据本专利技术的方法中,训练第三神经网络模型的最终损失函数定义为:loss=w1×loss1+w2×loss2,式中,loss为最终损失函数值,w1和w2分别表示第一损失函数值和第二损失函数值的权重因子。根据本专利技术的另一方面,提供了一种计算设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行如上所述方法中的任一方法的指令。根据本专利技术的再一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当计算设备执行时,使得计算设备执行如上所述的方法中的任一方法。根据本专利技术的对抗蒸馏神经网络模型的方法,通过在原始的神经网络模型中添加缩放层,对神经网络模型本身做蒸馏,而不改动神经网络模型中的特征层结构,有效地降低了神经网络模型在应对对抗样本时候的错误率;并且,用训练样本的第二标签和本身的第一标签同时监督神经网络模型的训练,提升了神经网络模型的泛化能力。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本专利技术一个实施例的计算设备100的构造示意图;以及图2示出了根据本专利技术一个实施例的对抗蒸馏神经网络模型的方法200的流程图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。取决于期望的配置,处理器104可以是任何类型的处理器,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。在一些实施例中,计算设备100被配置为执行对抗蒸馏神经网络模型的方法,程序数据124中就包含了用于执行所述方法的指令。计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可本文档来自技高网...
一种对抗蒸馏神经网络模型的方法及计算设备

【技术保护点】
一种对抗蒸馏神经网络模型的方法,其中神经网络模型包括具有特征层结构的前向网络和输出多分类下概率向量的softmax层,所述方法适于在计算设备中执行,所述方法包括步骤:根据蒸馏温度在原始的神经网络模型的前向网络和softmax层之间加入缩放层,生成第一神经网络模型;利用训练样本自身的第一标签训练所述第一神经网络模型,得到第二神经网络模型;将训练样本输入所述第二神经网络模型,经softmax层输出表征训练样本在多分类下概率向量的第二标签;利用所述第二标签和第一标签同时约束训练所述第二神经网络模型,得到第三神经网络模型;以及删除第三神经网络模型中的缩放层,以得到对抗蒸馏后的神经网络模型。

【技术特征摘要】
1.一种对抗蒸馏神经网络模型的方法,其中神经网络模型包括具有特征层结构的前向网络和输出多分类下概率向量的softmax层,所述方法适于在计算设备中执行,所述方法包括步骤:根据蒸馏温度在原始的神经网络模型的前向网络和softmax层之间加入缩放层,生成第一神经网络模型;利用训练样本自身的第一标签训练所述第一神经网络模型,得到第二神经网络模型;将训练样本输入所述第二神经网络模型,经softmax层输出表征训练样本在多分类下概率向量的第二标签;利用所述第二标签和第一标签同时约束训练所述第二神经网络模型,得到第三神经网络模型;以及删除第三神经网络模型中的缩放层,以得到对抗蒸馏后的神经网络模型。2.如权利要求1所述的方法,其中,所述缩放层适于按照蒸馏温度对softmax层的输入做缩小处理。3.如权利要求1或2所述的方法,其中,利用训练样本自身的第一标签训练第一神经网络模型得到第二神经网络模型的步骤包括:利用第一标签通过第一损失函数监督所述第一神经网络模型的训练,得到第二神经网络模型。4.如权利要求1-3中任一项所述的方法,其中,利用所述第二标签和第一标签同时约束训练第二神经网络模型得到第三神经网络模型的步骤包括:利用第一标签通过第一损失函数对所述第二神经网络模型进行分类监督训练;利用第二标签通过第二损失函数对所述第二神经网络模型进行回归监督训练;以及结合第一损失函数和第二损失函数训练得到第三神经网络模型。5.如权利要求4所述的方法,其中,所述结合第一损失函数和第二...

【专利技术属性】
技术研发人员:陈良洪炜冬张伟许清泉王喆
申请(专利权)人:厦门美图之家科技有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1