CN113066002A - 对抗样本的生成方法、神经网络的训练方法、装置及设备 - Google Patents

对抗样本的生成方法、神经网络的训练方法、装置及设备 Download PDF

Info

Publication number
CN113066002A
CN113066002A CN202110221699.4A CN202110221699A CN113066002A CN 113066002 A CN113066002 A CN 113066002A CN 202110221699 A CN202110221699 A CN 202110221699A CN 113066002 A CN113066002 A CN 113066002A
Authority
CN
China
Prior art keywords
target image
gradient
gradient map
neural network
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110221699.4A
Other languages
English (en)
Inventor
向文钊
苏航
朱军
周洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110221699.4A priority Critical patent/CN113066002A/zh
Publication of CN113066002A publication Critical patent/CN113066002A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例公开了一种对抗样本的生成方法、神经网络的训练方法、装置及设备,该包括:获取目标图像的第一梯度图,第一梯度图中包含神经网络的损失函数对目标图像中像素的梯度,损失函数是以目标图像作为神经网络的输入获取到的;对第一梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性;基于第二梯度图中像素的梯度对目标图像的像素进行调整,以得到具有仿射不变性的目标图像,并将具有仿射不变性的目标图像作为对抗样本;利用这种方法生成的对抗样本即使经过仿射变换,仍具有较好的攻击效果,从而利于发现被该对抗样本攻击的神经网络的不足,以提高神经网络的鲁棒性。

Description

对抗样本的生成方法、神经网络的训练方法、装置及设备
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种对抗样本的生成方法、神经网络的训练方法、装置及设备。
背景技术
深度学习(Deep Learning,DL)是机器学习(Machine Learning,ML)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(ArtificialIntelligence,AI)。随着深度学习技术的发展,深度神经网络(Deep Neural Networks,DNN)已经被广泛应用到各个领域中。
然而,最近的研究表明,深度神经网络非常容易受到对抗样本的攻击,导致图像识别的精度显著下降。对抗样本是指在数据集中通过故意添加细微的干扰所形成的输入样本,导致神经网络以高置信度给出一个错误的输出。如图1所示,神经网络以57.7%的置信度将图1所示的原始图像识别为熊猫,但若在图1所示的图像中加入扰动,则会得到图1所示的加入扰动后的图像;加入扰动后的图像与原始图像相比,虽然在视觉上没有发生变化,但是神经网络却以99.3%的置信度将加入扰动后的图像识别为长臂猿。由此可见,对抗样本的存在,可能会导致现有的许多基于深度神经网络的实际应用产生安全问题,因此引起了人们的高度关注。
目前,会采用对抗攻击算法对神经网络进行训练。其中,对抗攻击算法是指在训练过程中利用对抗样本攻击神经网络,以提高神经网络对图像的识别精度。利用对抗样本对神经网络的攻击主要分为白盒攻击、灰盒攻击、黑盒攻击两类。白盒攻击是指攻击者知道神经网络的一切信息,可以依据神经网络的信息生成相应的对抗样本,以对神经网络进行攻击。黑盒攻击与白盒攻击相反,是指攻击者对攻击的神经网络的内部结构、训练参数、防御方法等一无所知,所以无法利用基于神经网络的信息生成的对抗样本对神经网络进行攻击。灰盒攻击则介于白盒攻击和黑盒攻击之间,是指攻击者仅知道神经网络的一部分信息,所以仅能利用基于神经网络有限的信息生成的对抗样本对神经网络进行攻击。
为此,在训练过程中,会先将图像输入到白盒模型中,然后计算扰动,最后根据图像和扰动生成对抗样本,基于对抗样本的迁移性,可以将该对抗样本用于黑盒攻击或灰盒攻击;其中,白盒模型是指内部结构、训练参数、防御方法等都已知的神经网络。
因此,需要一种能够生成具有较好迁移性的对抗样本的方法。
发明内容
本申请实施例提供了一种对抗样本的生成方法、神经网络的训练方法、装置及设备,该方法使得生成的对抗样本即使经过仿射变换,仍具有较好的攻击效果,从而利于发现被该对抗样本攻击的神经网络的不足,以提高神经网络的鲁棒性。
本申请实施例第一方面提供了一种对抗样本的生成方法,包括:
获取目标图像的第一梯度图,目标图像可以采用像素矩阵表示,像素矩阵中的每个元素表示目标图像的一个像素,该像素可以采用单通道表示,也可以采用三通道表示,第一梯度图中包含神经网络的损失函数对目标图像中像素的梯度,损失函数是以目标图像作为神经网络的输入获取到的;对第一梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性,仿射不变性是可以理解为目标图像经过仿射变换后仍能保持原有性质的特性;基于第二梯度图中像素的梯度对目标图像的像素进行调整,以得到具有仿射不变性的目标图像,并将具有仿射不变性的目标图像作为对抗样本。
对获取到的目标图像的第一梯度图进行变换,以得到第二梯度图,由于该第二梯度图能够使得目标图像具有仿射不变性,所以基于第二梯度图中像素的梯度对目标图像的像素进行调整,可以得到具有仿射不变性的对抗样本,这样,生成的对抗样本即使经过仿射变换,仍具有较好的攻击效果,从而利于发现被该对抗样本攻击的神经网络的不足,以提高神经网络的鲁棒性。
作为一种实现的方式,对第一梯度图进行变换以得到第二梯度图包括:对第一梯度图进行变换以得到第三梯度图,第三梯度图用于使得目标图像具有平移不变性,其中,平移不变性可以理解为目标图像经过平移变换后仍能保持原有性质的特征;对第三梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性。
仿射变换由一次平移变换和一次线性变换构成,对应地,在该实现方式中,先通过变换得到具有平移不变性的第三梯度图,然后再对第三梯度图进行变换,得到具有仿射不变性的第二梯度图。
作为一种实现的方式,对第三梯度图进行变换以得到第二梯度图包括:对第三梯度图进行极坐标变换,极坐标变换用于将第三梯度图中像素的梯度从直角坐标系下转换到极坐标系下;对经过极坐标变换后的第三梯度图进行变换以得到第四梯度图,第四梯度图用于使得目标图像具有仿射不变性,对第三梯度图进行的变换可以包含多种变换;对第四梯度图进行极坐标反变换以得到第二梯度图,极坐标反变换用于将经过第四梯度图中像素的梯度从极坐标系下转换到直角坐标系下。
在本申请实施例中,通过极坐标变换将第三梯度图中像素的梯度从直角坐标系下转换到极坐标系下,极坐标系下的第三梯度图允许直接通过卷积运算实现旋转不变性变换和缩放不变性变换,不需要额外的复杂计算;若不对第三梯度图进行极坐标变换,则无法直接通过卷积运算实现旋转不变性变换和旋转不变性变换,因此本申请实施例能够降低运算量,从而降低开销,提高对抗样本的生成效率。
作为一种实现的方式,基于第二梯度图中像素的梯度对目标图像的像素进行调整,以得到具有仿射不变性的目标图像包括:基于第二梯度图中像素的梯度,计算目标图像的像素的扰动量,其中,像素的扰动量表示对像素的调整幅度;基于目标图像的像素的扰动量对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
基于第二梯度图中像素的梯度,计算目标图像的像素的扰动量,然后基于扰动量对目标图像的像素进行调整,从而可以实现对抗样本的生成。
作为一种实现的方式,第二梯度图中像素的梯度属于当前次迭代计算;基于第二梯度图中像素的梯度,计算目标图像的像素的扰动量包括:对第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到目标图像的像素的扰动量。
对前一次迭代计算中的扰动量与当前次迭代计算中的第二梯度图中像素的梯度进行加权处理,使得前一次迭代计算中的扰动量能够在当前次迭代计算中起到纠偏的作用,即能够防止根据第二梯度图中像素的梯度生成的扰动量对目标图像的针对性过强,而导致当前扰动量对目标图像产生过于特异性的改变,以降低生成的对抗样本的迁移性。
作为一种实现的方式,第二梯度图中像素的梯度属于当前次迭代计算;基于第二梯度图中像素的梯度,计算目标图像的像素的扰动量包括:对第二梯度图中像素的梯度进行归一化处理,归一化处理的方法有多种;对经过归一化处理后的第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到目标图像的像素的扰动量。
对经过归一化处理后的第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,使得前一次迭代计算中的扰动量能够在当前次迭代计算中起到纠偏的作用,即能够防止根据经过归一化处理后的第二梯度图中像素的梯度生成的扰动量对目标图像的针对性过强,而导致当前扰动量对目标图像产生过于特异性的改变,以降低生成的对抗样本的迁移性;除此之外,对经过仿射变换后的梯度图中像素的梯度进行归一化处理,从而将经过仿射变换后的梯度图中像素的梯度控制在一定范围内,以防止经过仿射变换后的梯度图中像素的梯度与前一次迭代计算中的扰动量的差别过大,这样,才能通过对二者的加权求和处理实现前述纠偏作用。
作为一种实现的方式,对第二梯度图中像素的梯度进行归一化处理包括:对于第二梯度图中的任意一个梯度,获取该梯度与第二梯度图中所有梯度的和的比值,并将该比值作为归一化处理后的像素的梯度。
作为一种实现的方式,对第二梯度图中像素的梯度进行归一化处理包括:对于第二梯度图中的任意一个梯度,获取该梯度与第二梯度图中最大的梯度的比值,并将该比值作为归一化处理后的像素的梯度。
作为一种实现的方式,基于目标图像的像素的扰动量对目标图像的像素进行调整,以得到具有仿射不变性的目标图像包括:基于符号函数获取目标图像的像素的扰动量的符号值,具体地,当扰动量大于0时,对应的符号值为1;当扰动量等用户0时,对应的符号值为0,当扰动量小于0时,对应的符号值为-1;基于符号值与扰动幅度的乘积,对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
基于符号函数获取目标图像的像素的扰动量的符号值,能够将目标图像中像素的调整幅度限制在-1至1之间,基于符号值与扰动幅度的乘积,对目标图像的像素进行调整,可以进一步限制目标图像中像素的调整幅度。
作为一种实现的方式,获取目标图像的第一梯度图包括:对目标图像进行缩放变换,缩放变换是指通过减少或增加目标图像的像素个数,以实现图像的尺寸变小或变大;以经过缩放变换的目标图像作为神经网络的输入,获取神经网络的损失函数;基于损失函数对神经网络进行反向传播,以得到目标图像的第一梯度图。
先对目标图像进行缩放变换,然后将缩放变换后的目标图像输入到神经网络中,以计算目标图像的第一梯度图,由于缩放变换能够增强目标图像的多样性,所以利用这种方法得到的第一梯度图获取对抗样本,能够使得获取到的对抗样本具有较好的迁移性,保证了对抗样本在缩放变换下具有较好的鲁棒性。
本申请实施例第二方面提供了一种神经网络的训练方法,包括:采用本申请实施例第一方面任意一项的生成方法生成的对抗样本,对神经网络进行训练。
本申请实施例第三方面提供了一种对抗样本的生成装置,包括:
梯度图获取单元,用于获取目标图像的第一梯度图,第一梯度图中包含神经网络的损失函数对目标图像中像素的梯度,损失函数是以目标图像作为神经网络的输入获取到的;
变换单元,用于对第一梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性;
调整单元,用于基于第二梯度图中像素的梯度对目标图像的像素进行调整,以得到具有仿射不变性的目标图像,并将具有仿射不变性的目标图像作为对抗样本。
作为一种实现的方式,梯度获取单元,用于对第一梯度图进行变换以得到第三梯度图,第三梯度图用于使得目标图像具有平移不变性;对第三梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性。
作为一种实现的方式,梯度获取单元,用于对第三梯度图进行极坐标变换,极坐标变换用于将第三梯度图中像素的梯度从直角坐标系下转换到极坐标系下;对经过极坐标变换后的第三梯度图进行变换以得到第四梯度图,第四梯度图用于使得目标图像具有仿射不变性;对第四梯度图进行极坐标反变换以得到第二梯度图,极坐标反变换用于将经过第四梯度图中像素的梯度从极坐标系下转换到直角坐标系下。
作为一种实现的方式,调整单元,用于基于第二梯度图中像素的梯度,计算目标图像的像素的扰动量;基于目标图像的像素的扰动量对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
作为一种实现的方式,第二梯度图中像素的梯度属于当前次迭代计算;调整单元,用于对第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到目标图像的像素的扰动量。
作为一种实现的方式,第二梯度图中像素的梯度属于当前次迭代计算;调整单元,用于对第二梯度图中像素的梯度进行归一化处理;对经过归一化处理后的第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到目标图像的像素的扰动量。
作为一种实现的方式,调整单元,用于基于符号函数获取目标图像的像素的扰动量的符号值;基于符号值与扰动幅度的乘积,对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
作为一种实现的方式,梯度图获取单元,用于对目标图像进行缩放变换;以经过缩放变换的目标图像作为神经网络的输入,获取神经网络的损失函数;基于损失函数对所述神经网络进行反向传播,以得到所述目标图像的第一梯度图。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例第一方面的描述。
本申请实施例第四方面提供了一种计算机设备,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;所述一个或多个处理器读取计算机可读指令,以使训练设备实现如第一方面或第二方面任一实现方式所述的方法。
本申请实施例第五方面提供了一种计算机可读存储介质,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如第一方面或第二方面任一实现方式所述的方法。
本申请实施例第六方面提供了一种芯片,包括一个或多个处理器。所述处理器中的部分或全部用于读取并执行存储器中存储的计算机程序,以执行上述第一方面或第二方面任意可能的实现方式中的方法。
可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
在一些实现方式中,所述一个或多个处理器中还可以有部分处理器是通过专用硬件的方式来实现以上方法中的部分步骤,例如涉及神经网络模型的处理可以由专用神经网络处理器或图形处理器来实现。
本申请实施例提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
本申请实施例第七方面提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述第一方面中或第二方面中任意一种实现方式所述的方法。
附图说明
图1为原始图像和加入扰动后的图像的示意图;
图2为现有技术生成对抗样本的流程示意图;
图3为人工智能主体框架的一种结构示意图;
图4为本申请实施例提供的驾驶领域的场景示意图;
图5为本申请实施例提供的检测神经网络的性能的场景示意图;
图6为采用对抗样本对物体检测神经网络进行训练的示意图;
图7为本申请实施例提供的任务处理系统的一种系统架构图;
图8为本申请实施例提供了一种对抗样本的生成方法的一个实施例的示意图;
图9为本申请实施例获取第一梯度图的实施例示意图;
图10为本申请实施例获取第二梯度图的一个实施例示意图;
图11为本申请实施例获取第二梯度图的另一个实施例示意图;
图12为本申请实施例生成对抗样本的实施例示意图;
图13为本申请实施例计算扰动量的实施例示意图;
图14为本申请实施例生成对抗样本的流程示意图;
图15为本申请实施例中的原始图像;
图16为对图15所示的原始图像进行旋转变换得到的图像;
图17为对图15所示的原始图像进行平移变换得到的图像;
图18为对图15所示的原始图像进行缩放变换得到的图像;
图19为采用本申请实施例的方法且基于图15所示的原始图像生成对抗样本;
图20为对图19所示的对抗样本进行旋转变换得到的图像;
图21为对图19所示的对抗样本进行平移变换得到的图像;
图22为对图19所示的对抗样本进行缩放变换得到的图像;
图23为本申请实施例提供的一种对抗样本的生成装置的一个实施例示意图;
图24为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
本申请实施例提供了一种对抗样本的生成方法、神经网络的训练方法、装置及设备,该方法使得生成的对抗样本即使经过仿射变换,仍具有较好的攻击效果,从而利于发现被该对抗样本攻击的神经网络的不足,以提高神经网络的鲁棒性。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
首先,基于攻击者对神经网络的了解程度,神经网络可以分为白盒模型、黑盒模型和灰盒模型;白盒模型是指内部结构、训练参数、防御方法等都已知的神经网络,黑盒模型是指内部结构、训练参数、防御方法等都未知的神经网络,灰盒模型是指内部结构、训练参数、防御方法等部分已知的神经网络。
对于白盒模型来说,由于内部结构、训练参数、防御方法等都已知,所以可以基于这些信息生成有效的对抗样本;而对于黑盒模型和灰盒模型来说,由于不了解神经网络的信息或仅了解神经网络的部分信息,所以无法基于神经网络的信息生成有效的对抗样本,以对神经网络进行有效地攻击。
为此,通常利用白盒模型生成攻击样本,然后基于攻击样本的迁移性使用生成的攻击样本对灰盒模型或黑盒模型进行攻击,其中,对灰盒模型进行的攻击也可以称为灰盒攻击,对黑盒模型进行的攻击也可以称为黑盒攻击。具体过程如下。
如图2所示,将初始样本输入白盒模型,然后基于白盒模型的输出计算扰动,再将扰动添加到初始样本以得到对抗样本,基于该对抗样本具有迁移性,所以可以利用对抗样本进行灰盒攻击或黑盒攻击。
需要说明的是,迁移性也可以称为迁移能力,具体是指基于白盒模型得到的攻击样本,对灰盒模型或黑盒模型保持攻击成功率的能力。
为了保证生成的对抗样本具有较好的迁移性,本申请实施例提供了一种生成对抗样本的方法,该方法是基于神经网络的损失函数计算神经网络的初始样本的梯度,然后对该梯度进行放射变换,最后根据经过仿射变换后的梯度对初始样本进行调整,从而得到对抗样本;这样的方法使得生成的对抗样本具有仿射不变性,仿射不变性可以理解为对抗样本经过仿射变换后仍对神经网络具有较高的攻击成功率,相当于保证生成的对抗样本具有较好的迁移性。
其中,初始样本可以是图像。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先,对人工智能系统总体工作流程进行描述,请参见图3,图3示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,智慧城市,智能终端等。
本申请实施例可以应用在神经网络的网络结构的优化设计上,而通过本申请训练的神经网络具体可以应用在人工智能领域的各个细分领域中,如图图像识别、医学图像分析、自动驾驶领域等。
以图3为例,本申请实施例中基础设施获取的数据集中的数据可以是通过摄像头、雷达等传感器获取到的不同类型的多个数据(也可称为训练数据,多个训练数据构成训练集),也可以是多个图像数据或多个视频数据。
下面结合图4介绍本申请实施例的一具体应用场景。
在自动驾驶和辅助驾驶等领域,需要实时获取场景中物体的信息,例如车前方是否有行人穿过马路或者是否有其他车辆挡住当前路线,然后根据获取到的信息做出相应的决策。具体地,在自动驾驶系统和辅助驾驶系统中,将包含物体(例如行人和汽车)的图像或视频输入到物体检测神经网络中,物体检测神经网络输出物体的类别和物体的位置,最终决策系统根据物体的类别和物体的位置做出相应的反馈。
在该场景下,如图5所示,可以采用本申请实施例提供的方法生成相应的对抗样本,通过该对抗样本对物体检测神经网络进行攻击,然后根据攻击结果进行统计分析,从而得到该物体检测神经网络对于对抗样本的性能表现,以根据该性能表现评估该物体检测神经网络的鲁棒性。
在该场景下,如图6所示,还可以采用本申请实施例提供的方法生成相应的对抗样本,并利用该对抗样本和训练集(包括多个训练样本)对物体检测神经网络进行训练,从而得到鲁棒性更优的物体检测神经网络。
基于上述应用场景的相关说明可知,可以采用本申请实施例提供的方法生成的对抗样本攻击神经网络,以检测神经网络的鲁棒性,采用本申请实施例提供的方法生成的对抗样本训练神经网络,以得到鲁棒性更优的神经网络。
需要说明的是,当利用本申请实施例提供的方法生成的对抗样本攻击神经网络时,该对抗样本可以具体应用于有目标攻击和无目标攻击,有目标攻击是指防御模型(即被攻击的模型)将对抗样本分类为目标类别则认为攻击成功,无目标攻击是指防御模型将对抗样本分类成除正确类别外的任何一个类别则认为攻击成功。
当利用本申请实施例提供的方法生成的对抗样本训练神经网络时,可以将本申请实施例提供的方法与其他任意一种生成对抗样本的方法结合,以生成更有效的对抗样本。例如,可以将本申请实施例提供的方法与快速梯度符号法、基础迭代法、动量迭代快速梯度符号法、输入多样性迭代快速梯度符号法、平移不变攻击方法等结合。
其中,快速梯度符号法:是将线性特征应用于非线性模型,通过神经网络的损失函数对输入图像求导,将求导得到的梯度进行反向传播,生成关于输入图像的扰动方向;在该扰动方向上乘扰动的最大的无穷范数,便能生成一定的扰动;将该扰动与输入图像叠加则可得到对抗样本,该对抗样本可被直接用于对神经网络进行攻击。
基础迭代法:是在快速梯度符号法的基础上进行改变,即将梯度优化方式由单步求导改为迭代求解,不再利用单步长进行计算,而是分成多次的小步迭代,并裁剪多次迭代的结果以防止超出扰动的上限。基础迭代法的攻击性能比快速梯度符号法更佳,但是生成对抗样本的效率有所下降。
动量迭代快速梯度符号法:是在基础迭代法的基础上,将动量的概念引入到了对抗样本的生成过程中,在每一步迭代生成扰动后都会对优化方向进行修正,以避免落入局部最优值。
输入多样性迭代快速梯度符号法:是通过对输入图像以特定的概率进行缩放变换和填充变换等来增强所生成的对抗样本的迁移性。
平移不变攻击方法:相较于上述提到的几种基础攻击方法,在每次求梯度运算之后进行一次卷积运算,以实现平移变换,使得生成的对抗样本具有较强的迁移性。
请参阅图7,图7为本申请实施例提供的任务处理系统的一种系统架构图,在图7中,任务处理系统100包括执行设备110、训练设备120、数据库130、客户设备140、数据存储系统150和数据采集设备160,执行设备110中包括计算模块111。其中,数据采集设备160用于获取用户需要的开源的大规模数据集(即训练集),并将训练集存入数据库130中,训练设备120基于数据库130中的维护的训练集对目标模型/规则101进行训练,训练得到的训练后的神经网络再在执行设备110上进行运用。执行设备110可以调用数据存储系统150中的数据、代码等,也可以将数据、指令等存入数据存储系统150中。数据存储系统150可以置于执行设备110中,也可以为数据存储系统150相对执行设备110是外部存储器。
其中,该训练集可以包含采用本申请实施例提供的方法生成对抗样本。
经由训练设备120训练的目标模型/规则101后得到的训练后的神经网络可以应用于不同的系统或设备(即执行设备110)中,具体可以是边缘设备或端侧设备,例如,手机、平板、笔记本电脑、监控系统(如,摄像头)、安防系统等等。在图7中,执行设备110配置有I/O接口112,与外部设备进行数据交互,“用户”可以通过客户设备140向I/O接口112输入数据。如,客户设备140可以是监控系统的摄像设备,通过该摄像设备拍摄的目标图像作为输入数据输入至执行设备110的计算模块111,由计算模块111对输入的该目标图像进行检测后得出检测结果,再将该检测结果输出至摄像设备或直接在执行设备110的显示界面(若有)进行显示;此外,在本申请的一些实施方式中,客户设备140也可以集成在执行设备110中,如,当执行设备110为手机时,则可以直接通过该手机获取到目标任务(如,可以通过该手机的摄像头拍摄到目标图像,或,可以通过该手机的摄像头拍摄到目标视频等,此处对目标任务不做限定)或者接收其他设备(如,另一个手机)发送的目标任务,再由该手机内的计算模块111对该目标任务进行检测后得出检测结果,并直接将该检测结果呈现在手机的显示界面。此处对执行设备110与客户设备140的产品形态不做限定。
值得注意的,图7仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图7中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中;在图7中,客户设备140相对执行设备110是外部设备,在其他情况下,客户设备140的也可以集成在执行设备110中。
接下来介绍本申请实施例提供的对抗样本的生成方法。
如图8所示,本申请实施例提供了一种对抗样本的生成方法的一个实施例,包括:
操作201,获取目标图像的第一梯度图,第一梯度图中包含神经网络的损失函数对目标图像中像素的梯度,损失函数是以目标图像作为神经网络的输入获取到的。
目标图像可以采用像素矩阵表示,像素矩阵中的每个元素表示目标图像的一个像素。
其中,像素的表示方式有两种,一种是单通道的表示方式,即只用0至255之间的一个值表示像素的颜色;另一种是三通道的表示方式,即采用红色通道的值、绿色通道的值和蓝色通道的值表示像素的颜色,即采用一组RGB(红绿蓝)值表示像素的颜色。
当像素是以单通道的方式表示时,像素的梯度包含一个值,像素的梯度值表示像素在该通道上的变化方向;当像素是以三通道的方式表示时,像素的梯度包含三个值,这三个值分别表示像素在红色通道、绿色通道和蓝色通道上的变化方向。
以一个目标图像中的一个三通道的像素为例,该像素的像素值为(128,0,0),相应地,该像素的梯度值可以为(-0.5,0.8,2.3),该梯度值中的-0.5表示红色通道的值的变化方向,该梯度值中的0.8表示绿色通道的值的变化方向,该梯度值中的2.3表示蓝色通道的值的变化方向。
需要说明的是,通常情况下,第一梯度图包含目标图像中所有像素的梯度,其他情况下,第一梯度图也可以仅包含目标图像中部分像素的梯度。
下面对获取目标图像的第一梯度图的过程进行说明。
具体地,可以将目标图像输入神经网络,通过正向传播计算神经网络的输出,然后基于神经网络的输出进行反向传播,以计算损失函数对目标图像中像素的梯度;其中,正向传播是指从神经网络的输入层到输出层的顺序,依次计算并存储神经网络的中间变量;反向传播是指从神经网络的输出层到输入层的顺序,依次计算并存储神经网络的中间变量和参数的梯度,在本申请实施例中,该参数主要是指目标图像中的像素。
应理解,一个迁移性较好的对抗样本意味着在对对抗样本进行某种变换后,该对抗样本仍能够保持对神经网络的较高的攻击成功率。
因此,为了增强生成的对抗样本的迁移性,可以在将目标图像输入到神经网络之前,对目标图像进行缩放变换,以增加目标图像的多样性,从而可以使得生成的对抗样本具有较好的迁移性。
具体地,作为一种实现方式,如图9所示,操作201包括:
操作301,对目标图像进行缩放变换。
在操作301中,缩放变换是指通过减少或增加目标图像的像素个数,以实现图像的尺寸变小或变大。
示例性地,可以通过插值处理实现对目标图像的缩放变换,其中插值处理就是利用已知邻近像素点的灰度值来产生未知像素点的灰度值,以便由原始图像再生出具有更高分辨率的图像。
操作302,以经过缩放变换的目标图像作为神经网络的输入,获取神经网络的损失函数。
将经过缩放变换的目标图像输入到神经网络,然后通过正向传播即可获取神经网络的损失函数,需要说明的是,获取损失函数的方法属于较成熟的技术,本申请实施例对此不做详述。
操作303,基于损失函数对神经网络进行反向传播,以得到目标图像的第一梯度图。
通过反向传播可以计算损失函数对目标图像中各个像素的梯度,需要说明的是,反向传播属于较成熟的技术,本申请实施例对此不做详述。
在该实施例中,先对目标图像进行缩放变换,然后将缩放变换后的目标图像输入到神经网络中,以计算目标图像的第一梯度图,利用这种方法得到的第一梯度图获取对抗样本,能够使得获取到的对抗样本具有较好的迁移性,保证了对抗样本在缩放变换下具有较好的鲁棒性。
操作202,对第一梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性。
由于第二梯度图用于使得目标图像具有仿射不变性,所以对第一梯度图所进行的变换又可以称为仿射不变性变换。
在本申请实施例中,仿射不变性是可以理解为目标图像经过仿射变换后仍能保持原有性质的特性。
其中,仿射变换是指在向量空间中进行一次线性变换(乘以一个矩阵)并加上一个平移变换(加上一个向量),变换为另一个向量空间的过程。
需要说明的是,对于一个图像进行仿射变换意味着对该图像先进行一次线性变换,然后进行一次平移变换;而在本申请实施例中,由于被处理的对象是目标图像的梯度图,而不是目标图像本身,因此操作202可以包括:先对梯度图进行平移不变性变换,经过该平移不变性变换后的梯度图能够使得目标图像具有平移不变性;然后进行另一种变换,经过平移不变性变换和该变换后的梯度图能够使得目标图像具有仿射不变性。
具体地,作为一种实现的方式,如图10所示,操作202可以具体包括:
操作401,对第一梯度图进行变换以得到第三梯度图,第三梯度图用于使得目标图像具有平移不变性。
其中,平移不变性可以理解为目标图像经过平移变换后仍能保持原有性质的特征;由于第三梯度图用于使得目标图像具有平移不变性,所以对第一梯度图所进行的变换也可以称为平移不变性变换。
其中,平移变换是指将目标图像中的像素坐标分别加上指定的水平偏移量和垂直偏移量;而平移不变性变换不同于平移变换,是指梯度图中像素的梯度值进行调整。
对于单通道的像素来说,是对该像素对应的一个梯度值进行调整;对于三通道的像素来说,是对该像素对应的三个通道方向上的三个梯度值分别进行调整,例如,若梯度图中一像素的梯度值为(-0.5,0.8,2.3),则对该梯度图进行平移不变性变换后,该像素的梯度值可以变为(-0.2,1.8,2.4)。
需要说明的是,可以采用多种方式对梯度图进行平移不变性变换;在本申请实施例中,可以采用特定的卷积核对梯度图进行卷积运算,从而实现对梯度图的平移不变性变换。
操作402,对第三梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性。
可以理解的是,仿射变换由一次平移变换和一次线性变换构成,对应地,要得到能够使目标图像具有仿射不变性的第二梯度图,也需要对第一梯度图进行两次变换;这两次变换包含操作401中的平移不变性变换和操作402中的不变性变换,该不变性变换与线性变换对应,具体可以包含多种变换。
例如,该不变性变换可以包括旋转不变性变换和/或缩放不变性变换;旋转不变性变换可以理解为某种特殊的变换,经过该变换后的梯度图能够使得目标图像具有旋转不变性,旋转不变性可以理解为目标图像在经过旋转变换后仍具有原始性质的特性;同样地,缩放不变性变换也可以理解为某种特殊的变换,经过该变换后的梯度图能够使得目标图像具有缩放不变性,缩放不变性可以理解为目标图像在经过缩放变换后仍具有原始性质的特性。
需要说明的是,对第三梯度图进行的变换可以包含多种变换时,当同时包含长度变换和角度变换时,若直接对第三梯度图进行长度变换和角度变换,则可能会带来较大的运算量。下面对此进行具体说明。
首先,假设对第三梯度图进行的不变性变换包括旋转不变性变换和缩放不变性变换,旋转不变性变换和缩放不变性变换使得目标图像具有旋转不变性和缩放不变性。
要使得目标图像具体旋转不变性和缩放不变性的通用方法是对目标图像进行多次有限范围内的旋转变换和缩放变换,在每次有限范围内旋转变换和缩放变换后,都根据损失函数对旋转变换和缩放变换后的目标图像的像素的梯度调整目标图像的像素;而多次有限范围内的旋转和缩放变换,相当于将目标图像中一个扇形区域的梯度值进行聚合。
因此,本申请实施例对第三梯度图进行旋转不变性变换和缩放不变性变换,以代替上述对目标图像的多次有限范围内的旋转变换和缩放变换,即对于梯度图中的每个梯度值,都更新为该梯度值所在的一个扇形区域的梯度值的聚合值。
然而,对第三梯度图进行的旋转不变性变换和缩放不变性变换通过卷积运算实现,而对于扇形区域的梯度值,无法直接利用卷积核进行卷积运算,只能通过额外的复杂计算实现卷积运算。
为此,本申请实施例通过极坐标变换将第三梯度图变换至极坐标系下,以将扇形区域2梯度值映射到矩阵区域的梯度值。
具体地,作为一种实现的方式,如图11所示,操作402包括:
操作4021,对第三梯度图进行极坐标变换,极坐标变换用于将第三梯度图中像素的梯度从直角坐标系下转换到极坐标系下。
需要说明的是,对第三梯度图进行极坐标变换是指以目标图像的中心像素点为原点,以目标图像的宽度和高度分别为x轴和y轴建立平面直角坐标系,然后将该平面直角坐标系下坐标(x,y)在第三梯度图中的梯度值映射到极坐标系下坐标
Figure BDA0002955293380000121
(∠(x,y)表示原点与该点的连线与x轴正方向的夹角)。
由此可见,在极坐标变换前后,第三梯度图中的梯度未发生变化,而梯度图中的梯度的排布发生了变化。
操作4022,对经过极坐标变换后的第三梯度图进行变换以得到第四梯度图,第四梯度图用于使得目标图像具有仿射不变性。
基于前述说明可知,对第三梯度图进行的变换可以包含多种变换,本申请实施例对此不做具体限定。
其中,对第三梯度图进行的变换可以通过特定卷积核对第三梯度图进行卷积运算实现。
操作4023,对第四梯度图进行极坐标反变换以得到第二梯度图,极坐标反变换用于将经过第四梯度图中像素的梯度从极坐标系下转换到直角坐标系下。
其中,极坐标反变换是极坐标变换的逆过程,具体可参照操作402中对极坐标变换的相关说明进行理解。在本申请实施例中,通过极坐标变换将第三梯度图中像素的梯度从直角坐标系下转换到极坐标系下,极坐标系下的第三梯度图允许直接通过卷积运算实现旋转不变性变换和缩放不变性变换,不需要额外的复杂计算;若不对第三梯度图进行极坐标变换,则无法直接通过卷积运算实现旋转不变性变换和旋转不变性变换,因此本申请实施例能够降低运算量,从而降低开销,提高对抗样本的生成效率。
操作203,基于第二梯度图中像素的梯度对目标图像的像素进行调整,以得到具有仿射不变性的目标图像,并将具有仿射不变性的目标图像作为对抗样本。
可以理解的是,第二梯度图中像素的梯度代表像素的变换方向,根据该像素的梯度可以对目标图像的像素进行针对性地调整,从而得到对抗样本。
作为一种实现方式,如图12所示,操作203包括:
操作501,基于第二梯度图中像素的梯度,计算目标图像的像素的扰动量。
其中,像素的扰动量表示对像素的调整幅度。
像素的扰动量的计算方法有多种,本申请实施例对此不做具体限定。下面介绍其中的两种计算方法,这两种计算方法均应用于通过迭代计算生成对抗样本的方法中,例如可以应用于前述的基础迭代法、动量迭代快速梯度符号法和输入多样性迭代快速梯度符号法。
作为一种实现的方式,第二梯度图中像素的梯度属于当前次迭代计算;基于此,操作501包括:对第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到目标图像的像素的扰动量。
在该实施例中,对前一次迭代计算中的扰动量与当前次迭代计算中的第二梯度图中像素的梯度进行加权处理,即能够防止根据第二梯度图中像素的梯度生成的扰动量对当前图像的针对性过强,而导致当前扰动量对目标图像产生过于特异性的改变,以降低生成的对抗样本的迁移性。
作为另一种实现方式,第二梯度图中像素的梯度属于当前次迭代计算,基于此,如图13所示,操作501包括:
操作601,对第二梯度图中像素的梯度进行归一化处理。
需要说明的是,归一化处理的方法有多种,本申请实施例对此不做具体限定。
例如,对于第二梯度图中的任意一个梯度,可以获取该梯度与第二梯度图中所有梯度的和的比值,并将该比值作为归一化处理后的像素的梯度。
再例如,对于第二梯度图中的任意一个梯度,可以获取该梯度与第二梯度图中最大的梯度的比值,并将该比值作为归一化处理后的像素的梯度。
操作602,对经过归一化处理后的第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到目标图像的像素的扰动量。
由于前述实现方式对加权求和处理进行了说明,故可参照前述实现方式中的相关说明对加权求和处理进行理解。
在该实施例中,对经过归一化处理后的第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,使得前一次迭代计算中的扰动量能够在当前次迭代计算中起到纠偏的作用,即能够防止根据归一化处理后的第二梯度图中像素的梯度生成的扰动量对目标图像的针对性过强,而导致当前扰动量对目标图像产生过于特异性的改变,以降低生成的对抗样本的迁移性;除此之外,对经过仿射变换后的梯度图中像素的梯度进行归一化处理,从而将经过仿射变换后的梯度图中像素的梯度控制在一定范围内,以防止经过仿射变换后的梯度图中像素的梯度与前一次迭代计算中的扰动量的差别过大,这样,才能通过对二者的加权求和处理实现前述纠偏作用。
操作502,基于目标图像的像素的扰动量对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
需要说明的是,基于像素的扰动量调整目标图像的像素的方法有多种,本申请实施例对此不做具体限定。
作为一种实现的方式,操作502包括:
基于目标图像的像素的扰动量与扰动幅度的乘积,对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
在该实施例中,将目标图像的像素的扰动量乘以扰动幅度,并根据乘积调整目标图像的像素,能够起到限制目标图像中像素的调整幅度的作用。
作为另一实现的方式,操作502包括:
基于符号函数获取目标图像的像素的扰动量的符号值;
基于符号值与扰动幅度的乘积,对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
在该实施例中,通过符号函数对目标图像的像素的扰动量进行取符号操作,得到扰动量的符号值;具体地,当扰动量大于0时,对应的符号值为1;当扰动量等用户0时,对应的符号值为0,当扰动量小于0时,对应的符号值为-1。
所以,对应目标图像的像素的不同大小的扰动量,符号值仅为0、1和-1中的一个。
在该实施例中,基于符号函数获取目标图像的像素的扰动量的符号值,能够将目标图像中像素的调整幅度限制在-1至1之间,基于符号值与扰动幅度的乘积,对目标图像的像素进行调整,可以进一步限制目标图像中像素的调整幅度。
需要说明的是,在上述各个实施例中,卷积核可以是高斯核,也可以是除高斯核外的其他核,例如均匀核和线性核。
基于上述说明,下面结合图14对抗样本的生成过程进行概括。
如图14所示,对抗样本的生成过程如下。
第一步,对目标图像进行缩放变换,具体过程可参照操作301的相关说明进行理解。
第二步,将缩放变换后的目标图像输入神经网络。
第三步,通过反向传播获取梯度图
Figure BDA0002955293380000151
具体过程可参照操作303的相关说明进行理解,其中,J(T(xt;p),y)是神经网络的损失函数,xt是目标图像,p是对目标图像进行缩放变换的概率,p的取值范围在0至1之间,y是目标图像的标签。
以图1所示的原始图像为目标图像,则目标图像的标签为熊猫。
第四步,通过特定的卷积核Wt对梯度图进行卷积运算,以实现对梯度图的平移不变性变换,得到具有平移不变性的梯度图
Figure BDA0002955293380000152
该梯度图中的梯度可以称为平移不变性扰动,其中,
Figure BDA0002955293380000153
Figure BDA0002955293380000158
为实数域,k为卷积核大小。
第五步,通过特定的卷积核W′q对梯度图进行卷积运算,以实现对梯度图的旋转不变性变换和缩放不变性变换,具体过程可参照操作401至操作404的相关说明进行理解,从而得到具有仿射不变性的梯度图
Figure BDA0002955293380000154
该梯度图中的梯度可以称为仿射不变性扰动,其中,
Figure BDA0002955293380000155
Figure BDA0002955293380000159
为实数域,k为卷积核大小,
Figure BDA0002955293380000156
Figure BDA0002955293380000157
分别表示极坐标变换和极坐标反变换。
第六步,对仿射不变性扰动进行归一化处理,将乘以系数(即扰动幅度)后的上一次迭代计算中的扰动与本次迭代计算中的仿射不变性扰动叠加,得到本次迭代计算的扰动。
其中归一化处理的过程可参照操作601的相关说明进行理解。
第七步,获取本次迭代计算中的扰动的符号值,并将该符号值作为最终的扰动添加至目标图像上,从而得到本次迭代计算的对抗样本。
需要说明的是,执行第一步至第七步可以完成依次迭代计算,在本次迭代计算结束后,可以将本次迭代计算的对抗样本作为下一次迭代计算的目标图像,重复执行第一步至第七步,以完成下一次迭代计算;经过多次迭代计算,若满足迭代条件(例如迭代计算的次数达到预设次数),则可以输出最终对抗样本。
其中,在多次迭代计算中,可以基于一定的概率执行第一步,即在一部分迭代计算中对目标图像进行缩放变换,而在另一部分迭代计算中不对目标图像进行缩放变换。
下面通过具体的示例,对本申请实施例提供的对抗样本的生成方法的有效性进行说明。
首先,采用现有的目标神经网络分别对图15、图16、图17和图18的图像进行识别,将图15、图16、图17和图18的图像正确识别成码头的概率分别为95.7%、86.3%、93.1%和93.5%。
其中,图15为原始图像,该原始图像的标签为码头,图16、图17和图18的图像分别是对图15所示的原始图像进行旋转变换、平移变换和缩放变换后的图像。
由此可见,即使对原始图像进行旋转变换、平移变换和缩放变换,现有的目标神经网络依然能够保持较高的识别准确率。
然后,基于图15所示的原始图像,采用本申请实施例提供的对抗样本的生成方法生成相应的对抗样本如图19所示,图19相比图15来说,未出现明显的变化;采用图19所示的对抗样本攻击目标神经网络,目标神经网络将图19所示的图像错误识别成草帽的概率为49.3%。
由此可见,采用本申请实施例提供的对抗样本的生成方法生成相应的对抗样本,能够形成对目标神经网络的有效攻击。
此后,将图19所示的对抗样本分别进行旋转变换、平移变换以及缩放变换,得到的图像依次如图20、图21和图22所示,采用图20、图21和图22所示的图像对目标神经网络进行攻击,目标神经网络将图20、图21和图22所示的图像错误识别成草帽的概率分别为62%、51.7%和87.2%。
由此可见,采用本申请实施例提供的方法生成的对抗样本对神经网络具有较好的攻击性,并且,即使对对抗样本进行各种变换,对抗样本依然对神经网络具有较好的攻击性,所以采用本申请实施例提供的对抗样本的生成方法生成相应的对抗样本,具有较好的仿射不变性。
请参阅图23,本申请实施例还提供了一种对抗样本的生成装置的一个实施例,包括:
梯度图获取单元701,用于获取目标图像的第一梯度图,第一梯度图中包含神经网络的损失函数对目标图像中像素的梯度,损失函数是以目标图像作为神经网络的输入获取到的;
变换单元702,用于对第一梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性;
调整单元703,用于基于第二梯度图中像素的梯度对目标图像的像素进行调整,以得到具有仿射不变性的目标图像,并将具有仿射不变性的目标图像作为对抗样本。
作为一种实现的方式,梯度获取单元701,用于对第一梯度图进行变换以得到第三梯度图,第三梯度图用于使得目标图像具有平移不变性;对第三梯度图进行变换以得到第二梯度图,第二梯度图用于使得目标图像具有仿射不变性。
作为一种实现的方式,梯度获取单元701,用于对第三梯度图进行极坐标变换,极坐标变换用于将第三梯度图中像素的梯度从直角坐标系下转换到极坐标系下;对经过极坐标变换后的第三梯度图进行变换以得到第四梯度图,第四梯度图用于使得目标图像具有仿射不变性;对第四梯度图进行极坐标反变换以得到第二梯度图,极坐标反变换用于将经过第四梯度图中像素的梯度从极坐标系下转换到直角坐标系下。
作为一种实现的方式,调整单元703,用于基于第二梯度图中像素的梯度,计算目标图像的像素的扰动量;基于目标图像的像素的扰动量对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
作为一种实现的方式,第二梯度图中像素的梯度属于当前次迭代计算;调整单元703,用于对第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到目标图像的像素的扰动量。
作为一种实现的方式,第二梯度图中像素的梯度属于当前次迭代计算;调整单元703,用于对第二梯度图中像素的梯度进行归一化处理;对经过归一化处理后的第二梯度图中像素的梯度,以及当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到目标图像的像素的扰动量。
作为一种实现的方式,调整单元703,用于基于符号函数获取目标图像的像素的扰动量的符号值;基于符号值与扰动幅度的乘积,对目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
作为一种实现的方式,梯度图获取单元701,用于对目标图像进行缩放变换;以经过缩放变换的目标图像作为神经网络的输入,获取神经网络的损失函数;基于损失函数对所述神经网络进行反向传播,以得到所述目标图像的第一梯度图。
其中,以上各单元的具体实现、相关说明以及技术效果请参考本申请实施例第一方面的描述。
本申请实施例还提供了一种计算机设备的实施例,该计算机设备可以是服务器,请参阅图24,图24是本申请实施例提供的计算机设备一种结构示意图,计算机设备1800上可以部署有图11或图12对应实施例中所描述的神经网络的训练装置,用于实现图11或图12对应实施例中神经网络的训练装置的功能,具体的,计算机设备1800由一个或多个服务器实现,计算机设备1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1822(例如,一个或一个以上处理器)和存储器1832,一个或一个以上存储应用程序1842或数据1844的存储介质1830(例如一个或一个以上海量存储设备)。其中,存储器1832和存储介质1830可以是短暂存储或持久存储。存储在存储介质1830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器1822可以设置为与存储介质1830通信,在计算机设备1800上执行存储介质1830中的一系列指令操作。
计算机设备1800还可以包括一个或一个以上电源1826,一个或一个以上有线或无线网络接口1850,一个或一个以上输入输出接口1858,和/或,一个或一个以上操作系统1841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器1822,用于执行图23对应实施例中对抗样本的生成装置执行的对抗样本的生成方法。具体的,中央处理器1822,可以用于:
获取目标图像的第一梯度图,所述第一梯度图中包含神经网络的损失函数对所述目标图像中像素的梯度,所述损失函数是以所述目标图像作为所述神经网络的输入获取到的;
对所述第一梯度图进行变换以得到第二梯度图,所述第二梯度图用于使得所述目标图像具有仿射不变性;
基于所述第二梯度图中像素的梯度对所述目标图像的像素进行调整,以得到具有仿射不变性的目标图像,并将所述具有仿射不变性的目标图像作为对抗样本。
中央处理器1822,还可以用于:
采用上述的生成方法生成的对抗样本,对神经网络进行训练。
本申请实施例还提供一种芯片,包括一个或多个处理器。所述处理器中的部分或全部用于读取并执行存储器中存储的计算机程序,以执行前述各实施例的方法。
可选地,该芯片该包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收需要处理的数据和/或信息,处理器从该通信接口获取该数据和/或信息,并对该数据和/或信息进行处理,并通过该通信接口输出处理结果。该通信接口可以是输入输出接口。
在一些实现方式中,所述一个或多个处理器中还可以有部分处理器是通过专用硬件的方式来实现以上方法中的部分步骤,例如涉及神经网络模型的处理可以由专用神经网络处理器或图形处理器来实现。
本申请实施例提供的方法可以由一个芯片实现,也可以由多个芯片协同实现。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述计算机设备所用的计算机软件指令,其包括用于执行为计算机设备所设计的程序。
该计算机设备可以如前述图23所描述的对抗样本的生成装置。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现前述各个实施例所示的方法中的流程。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (14)

1.一种对抗样本的生成方法,其特征在于,包括:
获取目标图像的第一梯度图,所述第一梯度图中包含神经网络的损失函数对所述目标图像中像素的梯度,所述损失函数是以所述目标图像作为所述神经网络的输入获取到的;
对所述第一梯度图进行变换以得到第二梯度图,所述第二梯度图用于使得所述目标图像具有仿射不变性;
基于所述第二梯度图中像素的梯度对所述目标图像的像素进行调整,以得到具有仿射不变性的目标图像,并将所述具有仿射不变性的目标图像作为对抗样本。
2.根据权利要求1所述的生成方法,其特征在于,所述对所述第一梯度图进行变换以得到第二梯度图包括:
对所述第一梯度图进行变换以得到第三梯度图,所述第三梯度图用于使得所述目标图像具有平移不变性;
对所述第三梯度图进行变换以得到第二梯度图,所述第二梯度图用于使得所述目标图像具有仿射不变性。
3.根据权利要求2所述的生成方法,其特征在于,所述对所述第三梯度图进行变换以得到第二梯度图包括:
对所述第三梯度图进行极坐标变换,所述极坐标变换用于将所述第三梯度图中像素的梯度从直角坐标系下转换到极坐标系下;
对经过所述极坐标变换后的所述第三梯度图进行变换以得到第四梯度图,所述第四梯度图用于使得所述目标图像具有仿射不变性;
对所述第四梯度图进行极坐标反变换以得到所述第二梯度图,所述极坐标反变换用于将经过所述第四梯度图中像素的梯度从极坐标系下转换到直角坐标系下。
4.根据权利要求1至3中任意一项所述的生成方法,其特征在于,所述基于所述第二梯度图中像素的梯度对所述目标图像的像素进行调整,以得到具有仿射不变性的目标图像包括:
基于所述第二梯度图中像素的梯度,计算所述目标图像的像素的扰动量;
基于所述目标图像的像素的扰动量对所述目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
5.根据权利要求4所述的生成方法,其特征在于,所述第二梯度图中像素的梯度属于当前次迭代计算;
所述基于所述第二梯度图中像素的梯度,计算所述目标图像的像素的扰动量包括:
对所述第二梯度图中像素的梯度,以及所述当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到所述目标图像的像素的扰动量。
6.根据权利要求4所述的生成方法,其特征在于,所述第二梯度图中像素的梯度属于当前次迭代计算;
所述基于所述第二梯度图中像素的梯度,计算所述目标图像的像素的扰动量包括:
对所述第二梯度图中像素的梯度进行归一化处理;
对所述经过所述归一化处理后的第二梯度图中像素的梯度,以及所述当前次迭代计算的前一次迭代计算中的扰动量进行加权求和处理,得到所述目标图像的像素的扰动量。
7.根据权利要求4至6中任意一项所述的生成方法,其特征在于,所述基于所述目标图像的像素的扰动量对所述目标图像的像素进行调整,以得到具有仿射不变性的目标图像包括:
基于符号函数获取所述目标图像的像素的扰动量的符号值;
基于所述符号值与扰动幅度的乘积,对所述目标图像的像素进行调整,以得到具有仿射不变性的目标图像。
8.根据权利要求4至6中任意一项所述的生成方法,其特征在于,所述获取目标图像的第一梯度图包括:
对所述目标图像进行缩放变换;
以经过所述缩放变换的目标图像作为神经网络的输入,获取所述神经网络的损失函数;
基于所述损失函数对所述神经网络进行反向传播,以得到所述目标图像的第一梯度图。
9.一种神经网络的训练方法,其特征在于,包括:
采用权利要求1至8中任意一项所述的生成方法生成的对抗样本,对神经网络进行训练。
10.一种对抗样本的生成装置,其特征在于,包括:
梯度图获取单元,用于获取目标图像的第一梯度图,所述第一梯度图中包含神经网络的损失函数对所述目标图像中像素的梯度,所述损失函数是以所述目标图像作为所述神经网络的输入获取到的;
变换单元,用于对所述第一梯度图进行变换以得到第二梯度图,所述第二梯度图用于使得所述目标图像具有仿射不变性;
调整单元,用于基于所述第二梯度图中像素的梯度对所述目标图像的像素进行调整,以得到具有仿射不变性的目标图像,并将所述具有仿射不变性的目标图像作为对抗样本。
11.一种神经网络的训练装置,其特征在于,包括:
采用权利要求1至8中任意一项所述的生成方法生成的对抗样本,对神经网络进行训练。
12.一种计算机设备,其特征在于,包括:一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;
所述一个或多个处理器读取所述计算机可读指令,以使所述训练设备实现如权利要求1至9中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至9中任一项所述的方法。
14.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上运行时,使得所述计算机执行如权利要求1至9中任一项所述的方法。
CN202110221699.4A 2021-02-27 2021-02-27 对抗样本的生成方法、神经网络的训练方法、装置及设备 Pending CN113066002A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110221699.4A CN113066002A (zh) 2021-02-27 2021-02-27 对抗样本的生成方法、神经网络的训练方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110221699.4A CN113066002A (zh) 2021-02-27 2021-02-27 对抗样本的生成方法、神经网络的训练方法、装置及设备

Publications (1)

Publication Number Publication Date
CN113066002A true CN113066002A (zh) 2021-07-02

Family

ID=76559217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110221699.4A Pending CN113066002A (zh) 2021-02-27 2021-02-27 对抗样本的生成方法、神经网络的训练方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113066002A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113313132A (zh) * 2021-07-30 2021-08-27 中国科学院自动化研究所 对抗样本图像的确定方法、装置、电子设备及存储介质
CN113449865A (zh) * 2021-08-30 2021-09-28 算筹(深圳)信息科技有限公司 一种增强训练人工智能模型的优化方法
CN113505886A (zh) * 2021-07-08 2021-10-15 深圳市网联安瑞网络科技有限公司 基于模糊测试的对抗样本生成方法、系统、终端及介质
CN113673324A (zh) * 2021-07-13 2021-11-19 复旦大学 一种基于时序移动的视频识别模型攻击方法
CN114036503A (zh) * 2021-10-28 2022-02-11 广州大学 一种迁移攻击方法、装置、电子设备及存储介质
CN114283341A (zh) * 2022-03-04 2022-04-05 西南石油大学 一种高转移性对抗样本生成方法、系统及终端
CN115439377A (zh) * 2022-11-08 2022-12-06 电子科技大学 一种增强对抗图像样本迁移性攻击的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109272031A (zh) * 2018-09-05 2019-01-25 宽凳(北京)科技有限公司 一种训练样本生成方法及装置、设备、介质
CN110084002A (zh) * 2019-04-23 2019-08-02 清华大学 深度神经网络攻击方法、装置、介质和计算设备
CN110245598A (zh) * 2019-06-06 2019-09-17 北京瑞莱智慧科技有限公司 对抗样本生成方法、装置、介质和计算设备
CN111488904A (zh) * 2020-03-03 2020-08-04 清华大学 基于对抗分布训练的图像分类方法及系统
US20200265271A1 (en) * 2019-02-15 2020-08-20 Baidu Usa Llc Systems and methods for joint adversarial training by incorporating both spatial and pixel attacks
CN111814916A (zh) * 2020-08-28 2020-10-23 北京智源人工智能研究院 多样本对抗扰动生成方法、装置、存储介质和计算设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109272031A (zh) * 2018-09-05 2019-01-25 宽凳(北京)科技有限公司 一种训练样本生成方法及装置、设备、介质
US20200265271A1 (en) * 2019-02-15 2020-08-20 Baidu Usa Llc Systems and methods for joint adversarial training by incorporating both spatial and pixel attacks
CN110084002A (zh) * 2019-04-23 2019-08-02 清华大学 深度神经网络攻击方法、装置、介质和计算设备
CN110245598A (zh) * 2019-06-06 2019-09-17 北京瑞莱智慧科技有限公司 对抗样本生成方法、装置、介质和计算设备
CN111488904A (zh) * 2020-03-03 2020-08-04 清华大学 基于对抗分布训练的图像分类方法及系统
CN111814916A (zh) * 2020-08-28 2020-10-23 北京智源人工智能研究院 多样本对抗扰动生成方法、装置、存储介质和计算设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YINPENG DONG 等,: "Evading Defenses to Transferable Adversarial Examples by Translation-Invariant Attacks", 2019 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 9 January 2020 (2020-01-09), pages 4309 - 4314 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113505886A (zh) * 2021-07-08 2021-10-15 深圳市网联安瑞网络科技有限公司 基于模糊测试的对抗样本生成方法、系统、终端及介质
CN113673324A (zh) * 2021-07-13 2021-11-19 复旦大学 一种基于时序移动的视频识别模型攻击方法
CN113673324B (zh) * 2021-07-13 2023-11-28 复旦大学 一种基于时序移动的视频识别模型攻击方法
CN113313132A (zh) * 2021-07-30 2021-08-27 中国科学院自动化研究所 对抗样本图像的确定方法、装置、电子设备及存储介质
CN113313132B (zh) * 2021-07-30 2021-11-09 中国科学院自动化研究所 对抗样本图像的确定方法、装置、电子设备及存储介质
CN113449865A (zh) * 2021-08-30 2021-09-28 算筹(深圳)信息科技有限公司 一种增强训练人工智能模型的优化方法
CN113449865B (zh) * 2021-08-30 2021-12-07 算筹(深圳)信息科技有限公司 一种增强训练人工智能模型的优化方法
CN114036503A (zh) * 2021-10-28 2022-02-11 广州大学 一种迁移攻击方法、装置、电子设备及存储介质
CN114036503B (zh) * 2021-10-28 2024-04-30 广州大学 一种迁移攻击方法、装置、电子设备及存储介质
CN114283341A (zh) * 2022-03-04 2022-04-05 西南石油大学 一种高转移性对抗样本生成方法、系统及终端
CN114283341B (zh) * 2022-03-04 2022-05-17 西南石油大学 一种高转移性对抗样本生成方法、系统及终端
CN115439377A (zh) * 2022-11-08 2022-12-06 电子科技大学 一种增强对抗图像样本迁移性攻击的方法

Similar Documents

Publication Publication Date Title
CN113066002A (zh) 对抗样本的生成方法、神经网络的训练方法、装置及设备
US10198689B2 (en) Method for object detection in digital image and video using spiking neural networks
WO2022017245A1 (zh) 一种文本识别网络、神经网络训练的方法以及相关设备
US11995155B2 (en) Adversarial image generation method, computer device, and computer-readable storage medium
CN110222718B (zh) 图像处理的方法及装置
CN111754519B (zh) 一种基于类激活映射的对抗防御方法
CN115496928B (zh) 基于多重特征匹配的多模态图像特征匹配方法
CN110852311A (zh) 一种三维人手关键点定位方法及装置
EP4085369A1 (en) Forgery detection of face image
CN112435193B (zh) 一种点云数据去噪的方法、装置、存储介质和电子设备
CN113807399A (zh) 一种神经网络训练方法、检测方法以及装置
CN110968734A (zh) 一种基于深度度量学习的行人重识别方法及装置
CN114419570A (zh) 一种点云数据识别方法、装置、电子设备及存储介质
CN115631344B (zh) 一种基于特征自适应聚合的目标检测方法
CN111179270A (zh) 基于注意力机制的图像共分割方法和装置
CN112149526A (zh) 一种基于长距离信息融合的车道线检测方法及系统
CN115578590A (zh) 基于卷积神经网络模型的图像识别方法、装置及终端设备
CN109784154B (zh) 基于深度神经网络的情绪识别方法、装置、设备及介质
Khan et al. A hybrid defense method against adversarial attacks on traffic sign classifiers in autonomous vehicles
Li et al. An efficient SMD-PCBA detection based on YOLOv7 network model
Lin et al. SAN: Scale-aware network for semantic segmentation of high-resolution aerial images
CN115240121B (zh) 一种用于增强行人局部特征的联合建模方法和装置
CN116953702A (zh) 基于演绎范式的旋转目标检测方法及装置
CN111260655A (zh) 基于深度神经网络模型的图像生成方法与装置
CN116486151A (zh) 图像分类模型训练方法、图像分类方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination