专利名称:深度神经网络的训练方法、装置和电子设备
专利类型:实用新型专利
专利申请号:CN202010862393.2
专利申请(专利权)人:南京地平线机器人技术有限公司
权利人地址:江苏省南京市南京经济技术开发区兴智科技园A栋20层
专利发明(设计)人:张海超,徐伟
专利摘要:公开了一种深度神经网络的训练方法,训练装置和电子设备。该深度神经网络的训练方法包括:将第一图像输入第一深度神经网络以获得第一特征图并将第二图像输入第二深度神经网络以获得第二特征图,所述第一深度神经网络与所述第二深度神经网络具有相同参数;计算所述第一特征图与所述第二特征图之间的第一特征图距离;通过最小化所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像;将所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值;以及,通过最小化所述损失函数值来更新所述第一深度神经网络。这样,可以提高深度神经网络的鲁棒性。
主权利要求:
1.一种深度神经网络的训练方法,包括:
将第一图像输入第一深度神经网络以获得第一特征图并将第二图像输入第二深度神经网络以获得第二特征图,所述第一深度神经网络与所述第二深度神经网络具有相同参数;
计算所述第一特征图与所述第二特征图之间的第一特征图距离;
通过最小化所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像;
将所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值;以及通过最小化所述损失函数值来更新所述第一深度神经网络;
其中,通过最小化所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像包括:计算所述第一特征图距离相对于所述第一图像的第一偏导数;以及基于所述第一图像、所述第一偏导数以及第一预定系数,获得所述第一对抗图像。
2.如权利要求1所述的深度神经网络的训练方法,进一步包括:计算所述第三特征图与所述第二特征图之间的第二特征图距离;
通过最小化所述第二特征图距离来进行梯度的反向传播以更新所述第一对抗图像而获得第二对抗图像;
将所述第二对抗图像输入所述更新的第一深度神经网络以获得第四特征图并基于所述第四特征图计算损失函数值;以及通过最小化所述损失函数值来更新所述更新的第一深度神经网络。
3.如权利要求2所述的深度神经网络的训练方法,进一步包括:获得所述第一图像对应的第一标签特征向量和所述第二图像对应的第二标签特征向量;
基于所述第一标签特征向量与所述第二标签特征向量计算第一标签距离;以及通过最小化所述第一标签距离来更新所述第一标签特征向量而获得第一对抗标签特征向量。
4.如权利要求3所述的深度神经网络的训练方法,其中,将所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值包括:计算所述第三特征图与所述第一对抗标签特征向量的交叉熵损失函数值以作为所述损失函数值。
5.如权利要求4所述的深度神经网络的训练方法,进一步包括:基于所述第一对抗标签特征向量与所述第二标签特征向量计算第二标签距离;以及通过最小化所述第二标签距离来更新所述第一对抗标签特征向量而获得第二对抗标签特征向量。
6.如权利要求5所述的深度神经网络的训练方法,其中,将所述第二对抗图像输入所述更新的第一深度神经网络以获得第四特征图并基于所述第四特征图计算损失函数值包括:计算所述第四特征图与所述第二对抗标签特征向量的交叉熵损失函数值以作为所述损失函数值。
7.如权利要求3所述的深度神经网络的训练方法,其中,基于所述第一标签特征与所述第二标签特征计算第一标签距离包括:将所述第一标签特征向量与所述第二标签特征向量求和并除以二以获得平均标签特征向量;以及计算所述第一标签特征向量与所述平均标签特征向量之间的距离以作为所述第一标签距离。
8.如权利要求3所述的深度神经网络的训练方法,其中,基于所述第一标签特征向量与所述第二标签特征向量计算第一标签距离包括:将一减去所述第二标签特征向量并再除以所述第一标签的类别总数以获得类别标签特征向量;以及计算所述第一标签特征向量与所述类别标签特征向量之间的距离以作为所述第一标签距离。
9.如权利要求8所述的深度神经网络的训练方法,其中,通过最小化所述第一标签距离来更新所述第一标签特征向量而获得第一对抗标签特征向量包括:计算所述第一标签距离相对于所述第一标签特征向量的第二偏导数;以及基于所述第一标签特征向量、所述第二偏导数以及第二预定系数,获得所述第一对抗标签特征向量。
10.一种深度神经网络的训练装置,包括:
特征图获得单元,用于将第一图像输入第一深度神经网络以获得第一特征图并将第二图像输入第二深度神经网络以获得第二特征图,所述第一深度神经网络与所述第二深度神经网络具有相同参数;
距离计算单元,用于计算所述特征图获得单元所获得的所述第一特征图与所述第二特征图之间的第一特征图距离;
图像更新单元,用于通过最小化所述距离计算单元所计算的所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像;
损失计算单元,用于将所述图像更新单元所获得的所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值;以及网络更新单元,用于通过最小化所述损失计算单元所计算的所述损失函数值来更新所述第一深度神经网络;
其中,通过最小化所述距离计算单元所计算的所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像包括:计算所述第一特征图距离相对于所述第一图像的第一偏导数;以及,基于所述第一图像、所述第一偏导数以及第一预定系数,获得所述第一对抗图像。
11.一种电子设备,包括:
处理器;以及
存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如权利要求1‑9中任一项所述的深度神经网络的训练方法。 说明书 : 深度神经网络的训练方法、装置和电子设备技术领域[0001] 本申请涉及深度学习技术领域,且更为具体地,涉及一种深度神经网络的训练方法,深度神经网络的训练装置和电子设备。背景技术[0002] 基于深度学习的技术对于很多任务,比如图像分类、语音识别等都实现了卓越的性能。尽管有这些进步,但是深度学习的神经网络模型很容易受到所谓的对抗样本的攻击。[0003] 对于视觉输入的任务来说,对抗样本指的是初始输入图像的略微扰动的版本,其在视觉上与初始输入图像差别不大,但是能够显著地改变神经网络模型的行为,使得神经网络模型输出错误的类别标签或者不同的控制决策,导致神经网络模型的鲁棒性较低。[0004] 由于对抗样本在很多任务中都存在,且可在不同神经网络模型之间迁移,其对神经网络模型的安全性造成了很大影响,且阻碍了神经网络模型在实际应用中的发展。[0005] 因此,期望提供改进的能够提高针对对抗样本的鲁棒性的神经网络模型的训练方案。发明内容[0006] 为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种深度神经网络的训练方法,训练装置和电子设备,其首先通过最小化对抗样本的特征图之间的距离来获得对抗图像,并通过对抗图像来更新深度神经网络的参数,以提高深度神经网络的鲁棒性。[0007] 根据本申请的一方面,提供了一种深度神经网络的训练方法,包括:将第一图像输入第一深度神经网络以获得第一特征图并将第二图像输入第二深度神经网络以获得第二特征图,所述第一深度神经网络与所述第二深度神经网络具有相同参数;计算所述第一特征图与所述第二特征图之间的第一特征图距离;通过最小化所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像;将所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值;以及,通过最小化所述损失函数值来更新所述第一深度神经网络。[0008] 根据本申请的另一方面,提供了一种深度神经网络的训练装置,包括:特征图获得单元,用于将第一图像输入第一深度神经网络以获得第一特征图并将第二图像输入第二深度神经网络以获得第二特征图,所述第一深度神经网络与所述第二深度神经网络具有相同参数;距离计算单元,用于计算所述特征图获得单元所获得的所述第一特征图与所述第二特征图之间的第一特征图距离;图像更新单元,用于通过最小化所述距离计算单元所计算的所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像;损失计算单元,用于将所述图像更新单元所获得的所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值;以及,网络更新单元,用于通过最小化所述损失计算单元所计算的所述损失函数值来更新所述第一深度神经网络。[0009] 根据本申请的再一方面,提供了一种电子设备,包括:处理器;以及,存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的深度神经网络的训练方法。[0010] 根据本申请的又一方面,提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行如上所述的深度神经网络的训练方法。[0011] 本申请提供的深度神经网络的训练方法,深度神经网络的训练装置和电子设备,通过最小化作为第一图像和第二图像的对抗样本的特征图之间的距离来获得对抗图像,可以通过将第一图像向着对抗性的第二图像插值的方式,将非鲁棒性的对抗特征添加到第一图像,从而在第一图像的基础上获得对抗图像,使得对抗图像包含更多的鲁棒性特征,这样,通过使用所生成的对抗图像来更新深度神经网络的参数,可大大提高深度神经网络的鲁棒性。附图说明[0012] 通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。[0013] 图1图示了根据本申请实施例的深度神经网络的训练方法的流程图。[0014] 图2图示了根据本申请实施例的深度神经网络的训练方法的整体架构的示意图。[0015] 图3图示了根据本申请实施例的深度神经网络的训练方法的迭代训练过程的流程图。[0016] 图4图示了根据本申请实施例的深度神经网络的训练方法的带标签图像的训练过程的流程图。[0017] 图5图示了根据本申请实施例的深度神经网络的训练装置的第一示例的框图。[0018] 图6图示了根据本申请实施例的深度神经网络的训练装置的第二示例的框图。[0019] 图7图示了根据本申请实施例的电子设备的框图。具体实施方式[0020] 下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。[0021] 申请概述[0022] 如上所述,对于对抗样本对于神经网络模型的影响,由研究证明神经网络模型对于对抗样本的脆弱性是由非鲁棒特征导致的。原因在于,在自然数据中存在着丰富的有用的关联,因此很自然可以期望在不给出偏好的情况下,模型可以学习挖掘出这些关联。但是,依赖于表面统计(非鲁棒特征)的模型可能是不良泛化的,从而易于遭受对抗攻击。[0023] 对于非鲁棒特征来说,至少有两个特性。首先,它们表示来自训练数据的表面统计,且因为这些统计在推断时易于崩溃,不能很好地泛化。其次,它们不与人的感知一致。这两方面从对抗样本的存在可以很容易看出。因此,如果从数据集滤除非鲁棒特征(例如,通过将可用特征的结合限于鲁棒模型所使用的),则可以通过标准的训练方法训练出更加鲁棒的模型。[0024] 因此,本申请发明人的思路是仅使用鲁棒特征用于训练。但是,鲁棒特征并不容易直接构造。相反的,非鲁棒特征更容易构造,比如使用标准的对抗样本生成过程。因此,可以最大限度地将非鲁棒特征用于鲁棒学习,比如,通过将非鲁棒特征添加到干净的样本来构造鲁棒化的数据集,然后基于对抗扰动的图像代替原始图像来训练模型。[0025] 基于此,本申请的基本构思是首先通过样本之间的被称为对抗插值的操作来生成对抗样本,然后在对抗训练的框架下改进模型的鲁棒性。[0026] 具体地,本申请的深度神经网络的训练方法,训练装置和电子设备首先将第一图像输入第一深度神经网络以获得第一特征图并将第二图像输入第二深度神经网络以获得第二特征图,所述第一深度神经网络与所述第二深度神经网络具有相同参数,然后计算所述第一特征图与所述第二特征图之间的第一特征图距离,再通过最小化所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像,之后将所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值,最后通过最小化所述损失函数值来更新所述第一深度神经网络。[0027] 在本申请提供的深度神经网络的训练方法、训练装置和电子设备中,通过最小化对抗样本的特征图之间的距离来进行梯度的反向传播以获得对抗图像,可以简单、直观和有效地实现对抗图像的生成。[0028] 具体地,由于对抗插值最大限度地利用了数据点之间的结构,所生成的对抗图像具有很高的有效性。并且,由于对抗图像生成的扰动不与类损失关联,其具有更高的灵活性。另外,由于对抗插值直接使用对抗扰动的经验样本,其具有很高的直观性。[0029] 另外,在本申请提供的深度神经网络的训练方法、训练装置和电子设备中,通过将距离导致的梯度反向传播通过网络并达到对抗图像的像素,可以最大限度地利用了当前学习的模型来用于特征提取和对抗图像的生成。[0030] 并且,在本申请提供的深度神经网络的训练方法、训练装置和电子设备中,通过将对抗图像输入深度神经网络来进行深度神经网络的训练,可以改进深度神经网络的鲁棒性。[0031] 值得注意的是,在本申请提供的深度神经网络的训练方法、训练装置和电子设备中,所述深度神经网络可以用于执行各种计算机视觉方面的任务,比如图像分类,图像语义分割等。[0032] 在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。[0033] 示例性方法[0034] 图1图示了根据本申请实施例的深度神经网络的训练方法的流程图。[0035] 如图1所示,根据本申请实施例的深度神经网络的训练方法包括如下步骤。[0036] 步骤S110,将第一图像输入第一深度神经网络以获得第一特征图并将第二图像输入第二深度神经网络以获得第二特征图,所述第一深度神经网络与所述第二深度神经网络具有相同参数。下面,将进一步参考图2具体说明根据本申请实施例的深度神经网络的训练方法。[0037] 图2图示了根据本申请实施例的深度神经网络的训练方法的整体架构的示意图。如图2所示,第一图像,例如图2中的IM1输入第一深度神经网络,例如图2中的N1以获得第一特征图,例如图2中的F1,且第二图像,例如图2中的IM2输入第二深度神经网络,例如图2中的N2以获得第二特征图,例如图2中的F2。这里,所述第一图像IM1和所述第二图像IM2是不同图像,比如,对于分类任务来说,所述第一图像IM1和所述第二图像IM2是不同类别的图像,例如所述第一图像IM1是猫的图像,且所述第二图像IM2是狗的图像。[0038] 并且,所述第一深度神经网络N1和所述第二深度神经网络N2具有相同的结构,也就是,如果将所述第一深度神经网络N1作为将第一图像IM1映射到特征空间中的第一特征图F1的函数f1,且将所述第二深度神经网络N2作为将第二图像IM2映射到特征空间中的第一特征图F2的函数f2,则应该有f1=f2。[0039] 步骤S120,计算所述第一特征图与所述第二特征图之间的第一特征图距离。也就是,计算所述第一特征图,例如图2中的F1和所述第二特征图,例如图2中的F2之间的特征图距离。这里,在本申请实施例中,所述第一特征图和所述第二特征图之间的距离可以以任意适当的距离来计算,例如欧式距离或者余弦距离。[0040] 本领域技术人员可以理解,因为如上所述,所述第一神经网络N1对应的函数f1等于所述第二神经网络N2对应的函数f2,但是第一图像IM1与第二图像IM2不同,因此,在特征图所在的特征空间中,第一特征图与第二特征图具有不同位置,如图2所示。而第一特征图F1与第二特征图F2在特征空间中的距离可以以如上所述的欧式距离或者余弦距离表示,例如如图2的D表示。[0041] 步骤S130,通过最小化所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像。如图2所示,通过最小化所述第一特征图F1和所述第二特征图F2之间的第一特征图距离,即如图2所示的D,来更新所述第一图像,可以认为是将第一特征图F1向着第二特征图F2的方向进行插值,例如从如图2所示的F1的位置移动到F1’的位置。[0042] 然后,通过进行梯度的反向传播,可以将第一图像,例如如图2所示的IM1更新为第一对抗图像。值得注意的是,在更新第一图像的过程中,梯度的反向传播不更新所述第一深度神经网络的参数,而是直接传递通过第一深度神经网络,更新所述第一图像的像素值,如图2的虚线所示。具体的更新方法将在下文中进一步详细说明。[0043] 所以,在根据本申请实施例的深度神经网络的训练方法中,因为是采用对抗训练的思想来进行初始图像向着对抗样本的插值,所以从所述第一图像生成所述第一对抗图像的方法也可以被称为“对抗插值”。[0044] 在本申请实施例中,对抗插值可以简单、直观和有效地实现对抗图像的生成。具体地,由于对抗插值最大限度地利用了数据点之间的结构,即特征空间中的特征图之间的距离,所生成的对抗图像具有很高的有效性。并且,由于在对抗图像的生成过程中,没有计算分类损失函数,对抗图像生成的扰动不与类损失关联,具有更高的灵活性。另外,由于对抗插值直接使用对抗扰动的经验样本,例如如上所述的猫和狗的图像,具有很高的直观性。[0045] 步骤S140,将所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值。也就是,在获得所述第一对抗图像之后,将其输入所述第一深度神经网络,例如如图2所示的N1,以获得第三特征图,并基于所述第三特征图计算损失函数值。这里,损失函数值的类型可以取决于所述第一深度神经网络的任务类型,例如,在所述第一深度神经网络用于执行图像分类任务的情况下,基于所述第三特征图计算分类损失函数值。[0046] 步骤S150,通过最小化所述损失函数值来更新所述第一深度神经网络。也就是,例如,对于用于执行图像分类任务的第一深度神经网络,通过最小化分类损失函数值来通过梯度的反向传播来更新所述第一深度神经网络。[0047] 这样,在本申请实施例中,通过最小化作为第一图像和第二图像的对抗样本的特征图之间的距离来获得对抗图像,可以通过将第一图像向着对抗性的第二图像插值的方式,将非鲁棒性的对抗特征添加到第一图像,从而在第一图像的基础上获得对抗图像,使得对抗图像包含更多的鲁棒性特征,这样,通过使用所生成的对抗图像来更新深度神经网络的参数,可大大提高深度神经网络的鲁棒性。[0048] 图3图示了根据本申请实施例的深度神经网络的训练方法的迭代训练过程的流程图。[0049] 如图3所示,在如图1所示的实施例的基础上,根据本申请实施例的深度神经网络的训练方法进一步包括以下步骤。[0050] 步骤S160,计算所述第三特征图与所述第二特征图之间的第二特征图距离。也就是,与如上所述的步骤S120类似,计算特征图在特征空间中的位置之间的距离,例如,所述第三特征图和所述第二特征图之间的距离可以以欧式距离或者余弦距离来计算。[0051] 步骤S170,通过最小化所述第二特征图距离来进行梯度的反向传播以更新所述第一对抗图像而获得第二对抗图像。也就是,第二对抗图像的特征图进一步从第一对抗图像的特征图,例如如图2所示的F1’的位置向着第二特征图,例如如图2所示的F2的位置移动。因此,在本申请实施例中,在每次迭代更新的过程中,都是从通过对抗插值获得的对抗图像向着不同类别的第二图像进行插值。[0052] 步骤S180,将所述第二对抗图像输入所述更新的第一深度神经网络以获得第四特征图并基于所述第四特征图计算损失函数值。[0053] 步骤S190,通过最小化所述损失函数值来更新所述更新的第一深度神经网络。也就是,与如上所述的步骤S140和步骤S150类似,使用更新的对抗图像来训练第一深度神经网络。[0054] 因此,在根据本申请实施例的深度神经网络的训练方法中,通过迭代的方式获得对抗图像,来以对抗图像来训练深度神经网络。这样,可以通过使用以对抗插值获得的对抗图像来进行深度神经网络的训练,相当于将非鲁棒特征添加到干净的图像样本来构造鲁棒化的训练用的图像集,从而改进了深度神经网络的鲁棒性。[0055] 并且,在根据本申请实施例的深度神经网络的训练方法中,在每次迭代过程中,通过将距离导致的梯度反向传播通过已经过上一次迭代更新的深度神经网络并达到对抗图像的像素,可以最大限度地利用了当前已更新的深度神经网络来用于特征提取和对抗图像的生成。[0056] 在一个示例中,在根据本申请实施例的深度神经网络的训练方法中,在进行梯度的反向传播以更新所述第一图像时,首先计算所述第一特征图距离相对于所述第一图像的第一偏导数,然后基于所述第一图像、所述第一偏导数以及第一预定系数获得所述第一对抗图像。[0057] 具体地,可以将所述第一图像,比如其每个像素的像素值减去所述第一偏导数的符号算子(sign())的结果与第一预定系数的乘积来获得所述第一对抗图像。这里,所述第一预定系数可以理解为对抗插值的步长,在本申请实施例中,所述第一预定系数可以设置为8。[0058] 这样,通过在每次迭代过程中,计算偏导数来将距离导致的梯度反向传播通过深度神经网络并达到对抗图像的像素,可以实现对抗图像的生成的简单性和直观性。并且,由于所述偏导数是相对于第一特征图计算的,其与深度神经网络的分类函数的类损失无关,从而实现了对抗图像的生成的有效性。[0059] 图4图示了根据本申请实施例的深度神经网络的训练方法的带标签图像的训练过程的流程图。[0060] 如图4所示,在如图2所示的实施例的基础上,根据本申请实施例的深度神经网络的训练方法的带标签图像的训练过程进一步包括以下步骤。[0061] S210,获得所述第一图像对应的第一标签特征向量和所述第二图像对应的第二标签特征向量。例如,对于如图2所示的第一图像IM1和第二图像IM2,分别获取其第一标签y1和第二标签y2,比如第一图像的类别“猫”和第二图像的类别“狗”,并转换为标签特征向量。[0062] S220,基于所述第一标签特征向量与所述第二标签特征向量计算第一标签距离。例如,计算所述第一标签特征向量与所述第二标签特征向量之间的欧式距离,以获得第一标签距离。[0063] S230,通过最小化所述第一标签距离来更新所述第一标签特征向量而获得第一对抗标签特征向量。也就是,与图像的对抗插值的思想相同,对于第一图像的标签,也通过最小化所述第一标签距离,以进行标签的对抗插值。[0064] 也就是,通过将带标签图像的标签也进行对抗插值,可以实现通过带标签图像对第一深度神经网络的有监督训练。[0065] 并且,在获得了第一对抗标签特征向量之后,在使用对抗图像训练第一深度神经网络时,可以计算所述第三特征图与所述第一对抗标签特征向量的交叉熵损失函数值以作为所述损失函数值。[0066] 也就是,在根据本申请实施例的深度神经网络的训练方法中,将所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值包括:计算所述第三特征图与所述第一对抗标签特征向量的交叉熵损失函数值以作为所述损失函数值。[0067] 这样,通过使用所述第三特征图与所述第一对抗标签特征向量的交叉熵损失函数值来训练所述第一深度神经网络,可以通过具有鲁棒性特征的对抗样本来实现第一深度神经网络的有监督训练,提高了训练的第一深度神经网络的鲁棒性。[0068] 另外,与如上所述的对抗插值的图像的迭代训练同步的,在带标签图像的迭代训练过程中,标签也进行迭代的对抗插值。[0069] 也就是,在根据本申请实施例的深度神经网络的训练方法中,进一步包括:基于所述第一对抗标签特征向量与所述第二标签特征向量计算第二标签距离;以及,通过最小化所述第二标签距离来更新所述第一对抗标签特征向量而获得第二对抗标签特征向量。[0070] 这样,通过标签的对抗插值来将非鲁棒的标签特征添加到干净的标签样本,可以构造鲁棒化的标签数据集。[0071] 进一步,在根据本申请实施例的深度神经网络的训练方法中,将所述第二对抗图像输入所述更新的第一深度神经网络以获得第四特征图并基于所述第四特征图计算损失函数值包括:计算所述第四特征图与所述第二对抗标签特征向量的交叉熵损失函数值以作为所述损失函数值。[0072] 也就是,通过迭代地使用特征图与标签特征向量的交叉熵损失函数值来训练所述第一深度神经网络,可以通过具有鲁棒性特征的对抗图像和标签样本来实现第一深度神经网络的有监督训练,提高了训练的第一深度神经网络的鲁棒性。[0073] 此外,在本申请实施例中,可以通过将图像和标签向不同方向进行对抗插值来分别获得对抗图像和对抗标签。具体地,在一个示例中,可以首先将所述第一标签特征向量与所述第二标签特征向量求和并除以二以获得平均标签特征向量,然后计算所述第一标签特征向量与所述平均标签特征向量之间的距离以作为所述第一标签距离。[0074] 也就是,在根据本申请实施例的深度神经网络的训练方法中,基于所述第一标签特征与所述第二标签特征计算第一标签距离包括:将所述第一标签特征向量与所述第二标签特征向量求和并除以二以获得平均标签特征向量;以及,计算所述第一标签特征向量与所述平均标签特征向量之间的距离以作为所述第一标签距离。[0075] 这样,在通过最小化所述第一标签距离以进行标签的对抗插值时,就可以以不同的方向来对初始图像和初始标签进行扰动从而获得对抗样本,从而使得一对对抗图像和对抗标签对深度神经网络表现出更强的对抗性。另外,通过首先获得平均标签特征向量并向着均标签特征向量进行对抗插值,可以保证与真实标签对应的项在生成的对抗样本之中是具有最大值的,以保证分类任务的准确性。[0076] 此外,在另一示例中,在根据本申请实施例的深度神经网络的训练方法中,基于所述第一标签特征向量与所述第二标签特征向量计算第一标签距离包括:将一减去所述第二标签特征向量并再除以所述第一标签的类别总数以获得类别标签特征向量;以及,计算所述第一标签特征向量与所述类别标签特征向量之间的距离以作为所述第一标签距离。[0077] 这可以理解为以相反的方向来对图像和标签进行对抗插值从而获得对抗样本,如上所述,可以进一步提高一对对抗图像和对抗标签对深度神经网络表现出对抗性,从而提高训练后的深度神经网络的鲁棒性。[0078] 并且,在本申请实施例中,也可以通过偏导数来实现标签的对抗插值。[0079] 具体地,在根据本申请实施例的深度神经网络的训练方法中,通过最小化所述第一标签距离来更新所述第一标签特征向量而获得第一对抗标签特征向量包括:计算所述第一标签距离相对于所述第一标签特征向量的第二偏导数;以及,基于所述第一标签特征向量、所述第二偏导数以及第二预定系数,获得所述第一对抗标签特征向量。[0080] 例如,将所述第一标签特征向量减去所述第二偏导数与第二预定系数之积以获得所述第一对抗标签特征向量。这里,第二预定系数表示标签的对抗插值的步长,其例如可以设置为0.5。[0081] 这样,通过在每次迭代过程中,计算偏导数来将距离导致的梯度反向传播达到标签向量,可以实现对抗标签的生成的简单性和直观性。[0082] 示例性装置[0083] 图5图示了根据本申请实施例的深度神经网络的训练装置的第一示例的框图。[0084] 如图5所示,根据本申请实施例的深度神经网络的训练装置300包括:特征图获得单元310,用于将第一图像输入第一深度神经网络以获得第一特征图并将第二图像输入第二深度神经网络以获得第二特征图,所述第一深度神经网络与所述第二深度神经网络具有相同参数;距离计算单元320,用于计算所述特征图获得单元310所获得的所述第一特征图与所述第二特征图之间的第一特征图距离;图像更新单元330,用于通过最小化所述距离计算单元320所计算的所述第一特征图距离来进行梯度的反向传播以更新所述第一图像而获得第一对抗图像;损失计算单元340,用于将所述图像更新单元330所获得的所述第一对抗图像输入所述第一深度神经网络以获得第三特征图并基于所述第三特征图计算损失函数值;以及,网络更新单元350,用于通过最小化所述损失计算单元340所计算的所述损失函数值来更新所述第一深度神经网络。[0085] 在一个示例中,在根据本申请实施例的深度神经网络的训练装置300中,所述距离计算单元320进一步用于计算所述损失计算单元340所获得的所述第三特征图与所述特征图获得单元310所获得的第二特征图之间的第二特征图距离;所述图像更新单元330进一步用于通过最小化所述距离计算单元320所获得的所述第二特征图距离来进行梯度的反向传播以更新所述第一对抗图像而获得第二对抗图像;所述损失计算单元340进一步用于将所述图像更新单元330所获得的所述第二对抗图像输入所述网络更新单元350所获得的更新的第一深度神经网络以获得第四特征图并基于所述第四特征图计算损失函数值;以及,所述网络更新单元350进一步用于通过最小化所述损失计算单元340所获得的所述损失函数值来更新所述更新的第一深度神经网络。[0086] 在一个示例中,在根据本申请实施例的深度神经网络的训练装置300中,所述图像更新单元330用于:计算所述第一特征图距离相对于所述第一图像的第一偏导数;以及,基于所述第一图像、所述第一偏导数以及第一预定系数,获得所述第一对抗图像。[0087] 图6图示了根据本申请实施例的深度神经网络的训练装置的第二示例的框图。[0088] 如图6所示,在如图5所示的实施例的基础上,根据本申请实施例的深度神经网络的训练装置300进一步包括:标签获得单元360,用于获得所述第一图像对应的第一标签特征向量和所述第二图像对应的第二标签特征向量;标签距离计算单元370,用于基于所述标签获得单元360所获得的所述第一标签特征向量与所述第二标签特征向量计算第一标签距离;以及,标签插值单元380,用于通过最小化所述标签距离计算单元370所计算的所述第一标签距离来更新所述第一标签特征向量而获得第一对抗标签特征向量。[0089] 在一个示例中,在根据本申请实施例的深度神经网络的训练装置300中,所述损失计算单元340进一步用于:计算所述第三特征图与所述标签插值单元380所获得的所述第一对抗标签特征向量的交叉熵损失函数值以作为所述损失函数值。[0090] 在一个示例中,在根据本申请实施例的深度神经网络的训练装置300中,所述标签距离计算单元370进一步基于所述标签插值单元380所获得的所述第一对抗标签特征向量与所述标签获得单元360所获得的所述第二标签特征向量计算第二标签距离;以及,所述标签插值单元380进一步用于通过最小化所述标签距离计算单元370所获得的所述第二标签距离来更新所述第一对抗标签特征向量而获得第二对抗标签特征向量。[0091] 在一个示例中,在根据本申请实施例的深度神经网络的训练装置300中,所述损失计算单元340用于:计算所述第四特征图与所述标签插值单元380所获得的所述第二对抗标签特征向量的交叉熵损失函数值以作为所述损失函数值。[0092] 在一个示例中,在根据本申请实施例的深度神经网络的训练装置300中,所述标签距离计算单元370用于:将所述标签获得单元360所获得的所述第一标签特征向量与所述第二标签特征向量求和并除以二以获得平均标签特征向量;以及,计算所述第一标签特征向量与所述平均标签特征向量之间的距离以作为所述第一标签距离。[0093] 在一个示例中,在根据本申请实施例的深度神经网络的训练装置300中,所述标签距离计算单元370用于:将一减去所述标签获得单元360所获得的所述第二标签特征向量并再除以所述第一标签的类别总数以获得类别标签特征向量;以及,计算所述第一标签特征向量与所述类别标签特征向量之间的距离以作为所述第一标签距离。[0094] 在一个示例中,在根据本申请实施例的深度神经网络的训练装置300中,所述标签插值单元380用于:计算所述标签距离计算单元370所获得的所述第一标签距离相对于所述第一标签特征向量的第二偏导数;以及,基于所述第一标签特征向量、所述第二偏导数以及第二预定系数,获得所述第一对抗标签特征向量。[0095] 这里,本领域技术人员可以理解,上述深度神经网络的训练装置300中的各个单元和模块的具体功能和操作已经在上面参考图1到图4的深度神经网络的训练方法的描述中得到了详细介绍,并因此,将省略其重复描述。[0096] 如上所述,根据本申请实施例的深度神经网络的训练装置300可以实现在各种终端设备中,例如执行计算机视觉任务的服务器等。在一个示例中,根据本申请实施例的深度神经网络的训练装置300可以作为一个软件模块和/或硬件模块而集成到终端设备中。例如,该深度神经网络的训练装置300可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该深度神经网络的训练装置300同样可以是该终端设备的众多硬件模块之一。[0097] 替换地,在另一示例中,该深度神经网络的训练装置300与该终端设备也可以是分立的设备,并且该深度神经网络的训练装置300可以通过有线和/或无线网络连接到该终端设备,并且按照约定的数据格式来传输交互信息。[0098] 示例性电子设备[0099] 下面,参考图7来描述根据本申请实施例的电子设备。[0100] 图7图示了根据本申请实施例的电子设备的框图。[0101] 如图7所示,电子设备10包括一个或多个处理器11和存储器12。[0102] 处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。[0103] 存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的深度神经网络的训练方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如距离信息、插值图像等各种内容。[0104] 在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。[0105] 该输入装置13可以包括例如键盘、鼠标等等。[0106] 该输出装置14可以向外部输出各种信息,包括更新的第一深度神经网络的参数等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。[0107] 当然,为了简化,图7中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。[0108] 示例性计算机程序产品和计算机可读存储介质[0109] 除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的深度神经网络的训练方法中的步骤。[0110] 所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。[0111] 此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的深度神经网络的训练方法中的步骤。[0112] 所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。[0113] 以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。[0114] 本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。[0115] 还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。[0116] 提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。[0117] 为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
专利地区:江苏
专利申请日期:2020-08-25
专利公开日期:2024-07-26
专利公告号:CN112016677B