CN111435461A - 使用降低精度的深度神经网络的对抗性输入识别 - Google Patents

使用降低精度的深度神经网络的对抗性输入识别 Download PDF

Info

Publication number
CN111435461A
CN111435461A CN202010020033.8A CN202010020033A CN111435461A CN 111435461 A CN111435461 A CN 111435461A CN 202010020033 A CN202010020033 A CN 202010020033A CN 111435461 A CN111435461 A CN 111435461A
Authority
CN
China
Prior art keywords
neural network
network model
input data
data
computer
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.)
Granted
Application number
CN202010020033.8A
Other languages
English (en)
Other versions
CN111435461B (zh
Inventor
陈家佑
陈品谕
莊逸仁
陈均富
崔正旭
K·高帕拉克里斯南
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN111435461A publication Critical patent/CN111435461A/zh
Application granted granted Critical
Publication of CN111435461B publication Critical patent/CN111435461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Landscapes

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

Abstract

本申请涉及使用降低精度的深度神经网络的对抗性输入识别。处理器接收输入数据,并将输入数据提供给包括第一神经网络模型的第一神经网络。第一神经网络模型具有第一数值精度水平。使用第一神经网络从输入数据生成第一特征向量。将输入数据提供给包括第二神经网络模型的第二神经网络。第二神经网络模型具有与第一数值精度水平不同的第二数值精度水平。使用第二神经网络从输入数据生成第二特征向量。计算第一特征向量和第二特征向量之间的差异度量。差异度量指示输入数据是否包括对抗性数据。

Description

使用降低精度的深度神经网络的对抗性输入识别
技术领域
本发明一般而言涉及一种用于识别深度神经网络的对抗性输入的方法、系统和计算机程序产品。更特别地,本发明涉及用于使用降低精度的深度神经网络的对抗性输入识别的方法、系统和计算机程序产品。
背景技术
人工神经网络(ANN)—也简称为神经网络—是由许多简单、高度互连的处理元件(节点)组成的计算系统,这些处理元件通过它们对外部输入的动态状态响应来处理信息。ANN是根据哺乳动物大脑皮层的神经元结构被松散地建模但规模要小得多的处理设备(算法和/或硬件)。大型ANN可能具有数百或数千个处理器单元,而哺乳动物的大脑则具有数十亿个神经元,并且它们的整体交互和突现(emergent)行为的量相应增加。前馈神经网络是其中单元之间的连接不形成循环的人工神经网络。
深度神经网络(DNN)是一种人工神经网络(ANN),其在输入层和输出层之间具有多个隐藏的单元层。与浅层ANN类似,DNN可以对复杂的非线性关系建模。例如,用于对象检测和解析的DNN体系架构生成合成模型,其中对象被表示为图像基元(primitive)的分层合成。额外的层使得能够合成来自较低层的特征,从而与类似地执行浅层网络相比,给出了用更少的单元对复杂数据进行建模的可能性。DNN通常被设计为前馈网络。DNN通常用于计算机视觉的图像分类任务,其中图像中表示的对象被识别并且被分类。
发明内容
说明性实施例提供了一种方法、系统和计算机程序产品。方法的实施例包括由处理器接收输入数据,并将输入数据提供给包括第一神经网络模型的第一神经网络。在实施例中,第一神经网络模型具有第一数值精度水平。实施例还包括使用第一神经网络从输入数据生成第一特征向量,以及将输入数据提供给包括第二神经网络模型的第二神经网络。在本实施例中,第二神经网络模型具有与第一数值精度水平不同的第二数值精度水平。实施例还包括使用第二神经网络从输入数据生成第二特征向量。实施例还包括计算第一特征向量和第二特征向量之间的差异度量。在本实施例中,差异度量指示输入数据是否包括对抗性数据。
另一个实施例还包括将差异度量与预定阈值进行比较。
另一个实施例还包括:确定差异度量超过预定阈值;以及响应于确定差异度量超过预定阈值,确定输入数据包括对抗性数据。另一个实施例还包括丢弃输入数据。
另一个实施例还包括:确定差异度量未超过预定阈值;以及响应于确定差异度量未超过预定阈值,确定输入数据的分类。
在另一个实施例中,第一数值精度水平大于第二数值精度水平。在另一个实施例中,第一数值精度水平是全数值精度水平。
在另一个实施例中,第一神经网络模型是具有已知数值精度水平的已发布的神经网络模型。在另一个实施例中,第二神经网络模型是降低精度的神经网络模型。在另一个实施例中,第二神经网络模型是加密的神经网络模型。
在另一个实施例中,第二神经网络模型的一个或多个层包括不同的数值精度水平。
在另一个实施例中,第一神经网络或第二神经网络中的一个或多个包括深度神经网络(DNN)。在另一个实施例中,输入数据包括图像数据。
实施例包括计算机可用程序产品。该计算机可用程序产品包括一个或多个计算机可读存储设备,以及存储在一个或多个存储设备中的至少一个存储设备上的程序指令。
实施例包括计算机系统。该计算机系统包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读存储设备,以及存储在一个或多个存储设备中的至少一个存储设备上以供一个或多个处理器中的至少一个处理器经由一个或多个存储器中的至少一个存储器执行的程序指令。
附图说明
在所附权利要求中阐述了被认为是本发明特性的某些新颖特征。但是,当结合附图阅读时,通过参考说明性实施例的以下详细描述,将最好地理解本发明本身以及优选的使用模式、其进一步的目的和优点,其中:
图1描绘了其中可以实现说明性实施例的数据处理系统的网络的框图;
图2描绘了其中可以实现说明性实施例的数据处理系统的框图;
图3描绘了根据说明性实施例的使用降低精度的深度神经网络进行对抗性输入识别的示例配置的框图;
图4描绘了根据说明性实施例的使用降低数值精度的神经网络对正常非对抗性数据进行分类的示例序列的框图;
图5,该图描绘了根据实施例的用于加密的降低精度的神经网络模型的示例体系架构的框图;
图6描绘了根据说明性实施例的用于使用降低数值精度的神经网络来识别对抗性数据的示例序列的框图;
图7描绘了根据说明性实施例的用于使用降低精度的深度神经网络进行对抗性输入识别的示例检测器/分类器体系架构的框图;以及
图8描绘了根据说明性实施例的使用降低精度的深度神经网络来进行对抗性输入识别的示例处理的流程图。
具体实施方式
本文所述的说明性实施例涉及使用降低精度的深度神经网络进行对抗性输入识别。一个或多个实施例认识到,深度神经网络(DNN)已在诸如用于计算机视觉的图像分类之类的各种应用中取得成功,但通常容易受到对抗性输入的攻击。在一个或多个实施例中,对抗性输入是指诸如攻击者之类的实体故意设计为使神经网络模型在诸如图像数据之类的输入数据的分类或识别中犯错误的神经网络模型的输入。
在示例中,攻击者可以从诸如公共汽车之类的物体的图像开始,并向该图像添加较小的扰动,这些扰动已被计算为使神经网络以高置信度将该图像分类为紧凑型汽车。通常,图像的人类观察者可能不容易检测到小扰动。对神经网络的这种有目的的攻击可能导致例如自主车辆的计算机视觉系统无法正确识别障碍物。
此外,对抗性输入可以跨模型转移,使得相同的对抗性示例经常会被不同模型错误分类。一个或多个实施例认识到防止对抗性示例输入到神经网络中的传统方法是不够的。
一个或多个实施例涉及基于硬件的精度系统,以通过训练不同数值精度的一个或多个加密的神经网络模型并向不同数值精度的该一个或多个加密的神经网络中的每一个提供相同的输入数据来过滤掉或拒绝对抗性输入。在一个或多个实施例中,神经网络的数值精度是指神经网络的一个或多个层的数值精度,诸如32位浮点、16位浮点、8位浮点、8位整数、4位浮点、4位整数、2位浮点等。在一个或多个实施例中,加密的神经网络模型是指隐藏在加密软件和/或加密硬件内的神经网络模型,使得总体精度、每一层的精度以及其它神经网络模型参数都处于加密状态,并且对于向神经网络提供输入数据的用户而言是未知的。
在一个或多个实施例中,用降低数值精度的模型(例如,8位或16位数值精度DNN模型)进行深度学习训练可以被实现,以获得与全精度模型(例如,32位数值精度DNN模型)相同或相似的准确度,这归因于训练数据的使用和DNN的收敛性。此外,降低数值精度的(或量化的)神经网络模型通常比全精度神经网络模型更健壮,同时计算效率也更高。
在一个或多个实施例中,相同神经网络体系架构的不同精度神经网络可以对于对抗性输入产生非常不同的响应,而对于正常(例如,非对抗性)输入数据,相同的神经网络可以产生基本相似的响应。在一个或多个实施例中,系统计算每个神经网络的响应之间的差异度量,并将该差异度量与预定阈值进行比较。在一个或多个实施例中,如果差异度量小于或等于预定阈值,则系统确定输入数据不包括对抗性数据,并基于神经网络的输出对输入数据进行分类。在一个或多个实施例中,如果差异度量大于预定阈值,则系统将输入数据识别为包括对抗性数据,并过滤掉或丢弃输入数据。
在一个或多个实施例中,如果神经网络中的一个或多个神经网络输出多个向量,则系统可以基于特征向量的不同分布的比较来确定差异度量。
实施例可以被实现为软件应用。实现实施例的应用可以被配置为对现有系统或平台的修改、与现有系统或平台结合操作的分开的应用、单独的应用或其某种组合。
仅作为示例,关于某些类型的工具和平台、过程和算法、服务、设备、数据处理系统、环境、部件和应用描述了说明性实施例。这些和其它类似工件(artifact)的任何具体表现并不旨在限制本发明。可以在说明性实施例的范围内选择这些和其它类似工件的任何合适的表现形式。
此外,可以关于任何类型的数据、数据源或通过数据网络对数据源的访问来实现说明性实施例。在本发明的范围内,任何类型的数据存储设备可以在数据处理系统本地或经由数据网络向本发明的实施例提供数据。在使用移动设备描述实施例的情况下,在说明性实施例的范围内,适合与移动设备一起使用的任何类型的数据存储设备可以在移动设备本地或者通过数据网络向这样的实施例提供数据。
仅作为示例使用具体的代码、设计、架构、协议、布局、示意图和工具来描述说明性实施例,并且不是对说明性实施例的限制。此外,在一些情况下,为了描述的清楚,仅作为示例使用特定软件、工具和数据处理环境来描述说明性实施例。说明性实施例可以与其它可比较或类似用途的结构、系统、应用或体系架构结合使用。例如,其它可比较的移动设备、结构、系统、应用或其架构因此可以在本发明的范围内与本发明的这种实施例结合使用。说明性实施例可以用硬件、软件或其组合来实现。
本公开中的示例仅仅是为了描述的清楚,并且不是对说明性实施例的限制。附加的数据、操作、动作、任务、活动和操纵将是从本公开可以想到的,并且预期在说明性实施例的范围内。
本文列出的任何优点仅仅是示例,并且不旨在限制说明性实施例。通过具体的说明性实施例可以实现附加或不同的优点。此外,特定的说明性实施例可以具有上面列出的优点中的一些、全部或没有上面列出的优点。
参考附图,特别是参考图1和图2,这些图是可以在其中实现说明性实施例的数据处理环境的示例图。图1和图2仅仅是示例,并非旨在声明或暗示关于可以在其中实现不同实施例的环境的任何限制。特定实现可以基于以下描述对所描绘的环境进行许多修改。
图1描绘了其中可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是可以实现说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括连接,诸如有线、无线通信链路或光纤电缆。
客户端或服务器仅仅是连接到网络102的某些数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其它配置或角色。服务器104和服务器106与存储单元108一起耦合到网络102。软件应用可以在数据处理环境100中的任何计算机上执行。客户端110、112和114也耦合到网络102。诸如服务器104或106或客户端110、112或114之类的数据处理系统可以包含数据,并且可以具有在其上执行的软件应用或软件工具。
仅作为示例,并且不暗示对这种体系架构的任何限制,图1描绘了可用在实施例的示例实现中的某些部件。例如,仅作为示例,服务器104和106以及客户端110、112、114被描绘为服务器和客户端,而不是暗示对客户端-服务器体系架构的限制。作为另一个示例,如图所示,实施例可以分布在若干数据处理系统和数据网络上,而另一个实施例可以在说明性实施例的范围内的单个数据处理系统上实现。数据处理系统104、106、110、112和114还表示集群中的示例节点、分区以及适于实现实施例的其它配置。
设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携形式的客户端110、可穿戴计算设备或任何其它合适设备的形式。被描述为在图1中的另一个数据处理系统中执行的任何软件应用可以被配置为以类似方式在设备132中执行。在图1中的另一个数据处理系统中存储或产生的任何数据或信息可以被配置为以类似的方式在设备132中存储或产生。
服务器104和106、存储单元108以及客户端110、112和114以及设备132可以使用有线连接、无线通信协议或其它合适的数据连接耦合到网络102。客户端110、112和114可以是例如个人计算机或网络计算机。
在所描绘的示例中,服务器104可以向客户端110、112和114提供诸如引导文件、操作系统映像和应用之类的数据。在这个示例中,客户端110、112和114可以是服务器104的客户端。客户端110、112、114或其某种组合可以包括它们自己的数据、引导文件、操作系统映像和应用。数据处理环境100可以包括附加的服务器、客户端和未示出的其它设备。服务器104包括应用105,应用105可以被配置为根据一个或多个实施例使用降低精度的深度神经网络来实现本文描述的用于对抗性输入识别的功能中的一个或多个功能。服务器104还包括根据一个或多个实施例的一个或多个深度神经网络(DNN)模型107。
存储设备108包括神经网络训练数据109,该神经网络训练数据109被配置为存储用于训练本文所述的一个或多个DNN模型107的训练数据。
在所描绘的示例中,数据处理环境100可以是互联网。网络102可以表示使用传输控制协议/互联网协议(TCP/IP)和其它协议来彼此通信的网络和网关的集合。互联网的核心是主要节点或主机计算机(包括数千个路由数据和消息的商业、政府、教育和其它计算机系统)之间的数据通信链路的主干。当然,数据处理环境100也可以被实现为多个不同类型的网络,诸如例如内联网、局域网(LAN)或广域网(WAN)。图1旨在作为示例,而不是作为不同说明性实施例的体系架构限制。
除了其它用途,数据处理环境100还可以用于实现其中可以实现说明性实施例的客户端-服务器环境。客户端-服务器环境使软件应用和数据能够跨网络分布,使得应用通过使用客户端数据处理系统和服务器数据处理系统之间的交互来起作用。数据处理环境100还可以采用面向服务的体系架构,其中跨网络分布的可互操作软件部件可以作为一致的商业应用打包在一起。数据处理环境100还可以采取云的形式,并且采用服务递送的云计算模型,以便实现对可以通过最少的管理工作或与服务提供商的交互来快速供应和发布的可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的方便的按需网络访问。
参考图2,这个图描绘了其中可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机(诸如图1中的服务器104和106,或客户端110、112和114)或其中可以定位实现说明性实施例的处理的计算机可用程序代码或指令的另一类型的设备的示例。
数据处理系统200还表示数据处理系统或其中的配置,诸如图1中的设备132,实现说明性实施例的处理的计算机可用程序代码或指令可以位于其中。数据处理系统200仅作为示例被描述为计算机,但不限于此。以其它设备的形式(诸如图1中的设备132)的实现可以诸如通过添加触摸界面,并且甚至从数据处理系统200中消除了某些所描绘的部件,来修改数据处理系统200,而不脱离对本文描述的数据处理系统200的操作和功能的一般描述。
在所描绘的示例中,数据处理系统200采用集线器体系架构,包括北桥和存储器控制器集线器(NB/MCH)202以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)204。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(NB/MCH)202。处理单元206可以包含一个或多个处理器,并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(AGP)耦合到NB/MCH 202。
在所描绘的示例中,局域网(LAN)适配器212耦合到南桥和I/O控制器集线器(SB/ICH)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)和其它端口232以及PCI/PCIe设备234通过总线238耦合到南桥和I/O控制器集线器204。硬盘驱动器(HDD)或固态驱动器(SSD)226和CD-ROM 230通过总线240耦合到南桥和I/O控制器集线器204。PCI/PCIe设备234可以包括例如用于笔记本计算机的以太网适配器、插入卡(add-in card)和PC卡。PCI使用卡总线控制器,而PCIe则不使用。ROM 224可以是例如闪存二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM 230可以使用例如集成驱动电子设备(IDE)、串行高级技术附件(SATA)接口,或诸如外部SATA(eSATA)和微型SATA(mSATA)之类的变体。超级I/O(SIO)设备236可以通过总线238耦合到南桥和I/O控制器集线器(SB/ICH)204。
诸如主存储器208、ROM 224或闪存(未示出)之类的存储器是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、CD-ROM 230和其它类似可用的设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。
操作系统在处理单元206上运行。操作系统协调并提供对图2中数据处理系统200内的各种部件的控制。操作系统可以是用于任何类型的计算平台的商用操作系统,包括但不限于服务器系统、个人计算机和移动设备。面向对象的或其它类型的编程系统与操作系统一起操作,并且提供从在数据处理系统200上执行的程序或应用对操作系统的调用。
用于操作系统、面向对象的编程系统以及应用或程序(诸如图1中的应用105)的指令位于存储设备上,诸如以硬盘驱动器226上的代码226A的形式,并且可以被加载到一个或多个存储器中的至少一个(诸如主存储器208)当中以供处理单元206执行。说明性实施例的处理可以由处理单元206使用计算机实现的指令来执行,该指令可以位于存储器(诸如例如主存储器208、只读存储器224)中,或者位于一个或多个外围设备中。
此外,在一种情况下,代码226A可以通过网络201A从远程系统201B下载,其中类似的代码201C存储在存储设备201D上。在另一种情况下,代码226A可以通过网络201A下载到远程系统201B,其中下载的代码201C存储在存储设备201D上。
图1-图2中的硬件可以取决于实现而变化。除了图1-图2中所示的硬件之外或代替图1-图2中所示的硬件,还可以使用其它内部硬件或外围设备,诸如闪存、等同的非易失性存储器或光盘驱动器等。此外,说明性实施例的处理可以应用于多处理器数据处理系统。
在一些说明性示例中,数据处理系统200可以是个人数字助理(PDA),其一般配置有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一条或多条总线,诸如系统总线、I/O总线和PCI总线。当然,总线系统可以使用任何类型的通信架构或体系架构来实现,该通信架构或体系架构提供数据在附连到架构或体系架构的不同部件或设备之间的传送。
通信单元可以包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或CPU。
图1-图2中描绘的示例和上述示例并不意味着暗示体系架构限制。例如,除了采取移动或可穿戴设备的形式之外,数据处理系统200还可以是平板计算机、膝上型计算机或电话设备。
在将计算机或数据处理系统描述为虚拟机、虚拟设备或虚拟部件的情况下,虚拟机、虚拟设备或虚拟部件以数据处理系统200使用数据处理系统200中描绘的一些或全部部件的虚拟化表现形式的方式来操作。例如,在虚拟机、虚拟设备或虚拟部件中,处理单元206表现为主机数据处理系统中可用的全部或一些数量的硬件处理单元206的虚拟化实例,主存储器208表现为可以在主机数据处理系统中可用的主存储器208的全部或某个部分的虚拟化实例,并且盘226表现为可以在主机数据处理系统中可用的盘226的全部或某个部分的虚拟化实例。在此类情况下的主机数据处理系统由数据处理系统200表示。
参考图3,该图描绘了根据说明性实施例的用于使用降低精度的深度神经网络进行对抗性输入识别的示例配置300的框图。该示例实施例包括服务器302。在特定实施例中,服务器302是图1的服务器104的示例。
服务器302被配置为接收神经网络训练数据304和输入图像数据306,如本文关于一个或多个实施例进一步描述的。服务器302包括处理器308、存储器310和应用312。处理器308被配置为从存储器310中检索指令和数据以执行如本文所述的服务器302的各种功能。在特定实施例中,应用312是图1的应用105的示例。应用312包括深度学习神经网络训练部件314和检测器/分类器部件316。服务器302还包括已知精度的神经网络模型318和一个或多个加密的精简精度的神经网络模型320。
在一个或多个实施例中,深度学习神经网络训练部件314被配置为接收神经网络训练数据304并使用神经网络训练数据304来训练已知精度的神经网络模型318和一个或多个加密的降低精度的神经网络模型320。在一个或多个实施例中,神经网络训练数据304包括图像数据和训练图像的相关联图像分类。在一个或多个实施例中,已知精度的神经网络模型318是具有一个或多个用户已知的模型参数(诸如数值精度水平)的神经网络模型。在特定实施例中,已知精度的神经网络模型318是具有已知数值精度水平(诸如全16位或32位数值精度水平)的已发布的神经网络模型。
在一个或多个实施例中,加密的降低精度的神经网络模型320包括一个或多个降低精度的神经网络模型,该一个或多个降低精度的神经网络模型以使得用户不知道诸如数值精度水平之类的模型参数的方式被加密。在一个或多个实施例中,一个或多个加密的降低精度的神经网络模型320中的每一个具有与其它加密的降低精度的神经网络模型320不同的相关联数值精度水平。在特定实施例中,使用具有可配置精度的处理元件的一个或多个专用集成电路(ASIC)来实现加密的降低精度的神经网络模型320,从而允许不同层中的不同精度、不同的并行度、不同的数据格式和/或不同的数据分块(chunking)。在特定实施例中,深度学习ASIC被配置为向用户隐藏神经网络的不同精度模型。
在一个或多个实施例中,加密的降低精度的神经网络模型320可以被配置为具有不同的数值精度格式,包括不同的数值数据类型(例如,整数或浮点数)、不同的数值长度、不同的神经网络层中的不同数值精度水平、和/或同一神经网络层内的不同数值精度水平。
在一个或多个实施例中,应用312被配置为接收图像数据306并将图像数据306提供给已知精度的神经网络318和一个或多个加密的降低精度的神经网络模型320。已知精度的神经网络318和一个或多个加密的降低精度的神经网络模型320中的每一个被配置为处理图像数据306并输出与图像数据306对应的特征向量。
在一个或多个实施例中,检测器/分类器部件316被配置为计算与已知精度的神经网络318中的每一个对应的特征向量与一个或多个加密的降低精度的神经网络模型320之间的相似性度量,并确定相似性度量是否在预定阈值内。在一个或多个实施例中,如果相似性度量在预定阈值内,则检测器/分类器316确定由图像数据306表示的图像的分类,并输出与该分类对应的分类结果322。在一个或多个实施例中,如果相似性度量不在预定阈值内,则检测器/分类器316确定图像数据306包含对抗性数据,输出指示输入数据306包括对抗性数据的分类结果322。在一个或多个实施例中,应用312可以被配置为丢弃或过滤掉被确定为包含对抗性数据的图像数据306。
参考图4,该图描绘了根据说明性实施例的用于使用降低数值精度的神经网络对正常非对抗性数据进行分类的示例序列400的框图。在一个或多个实施例中,训练体系架构400由图1的应用105和深度神经网络模型107实现。
在本实施例中,正常(非对抗性)数据402由具有已知数值精度的已发布的神经网络模型404和多个加密的降低精度的模型406A-406N中的每一个来处理。在图4的实施例中,已发布的神经网络模型404是具有用户从已发布的源已知的神经网络参数的全数值精度(例如,16位或32位浮点)的神经网络模型。在本实施例中,多个加密的降低精度的模型406A-406N中的每一个具有的数值精度水平小于已发布的神经网络模型404的数值精度水平。在本实施例中,多个加密的降低精度的模型406A-406N中的每一个都被隐藏在硬件加密中。在特定实施例中,多个加密的降低精度的模型406A-406N中的每一个可以具有彼此不同的整体数值精度水平和/或在一个或多个神经网络层内的不同数值精度水平。在一个或多个实施例中,已发布的神经网络模型404和多个加密的降低精度的模型406A-406N中的每一个包括DNN。
在本实施例中,已发布的神经网络模型404和多个加密的降低精度的模型406A-406N中的每一个并行地计算与正常数据402对应的一个或多个特征向量。在本实施例中,应用105计算特征向量之间的相似性度量。由于正常数据402不包含对抗性数据,因此由加密的降低精度的模型406A-406N生成的特征向量彼此相比非常相似,并且由全精度已发布的神经网络模型404生成的特征向量产生正确的特征向量408。相应地,序列400产生正常数据402的有效分类。
参考图5,该图描绘了根据实施例的用于加密的降低精度的神经网络模型的示例体系架构500的框图。示例体系架构500包括第一加密的降低精度的神经网络模型502和第二加密的降低精度的神经网络模型504。第一加密的降低精度的神经网络模型502包括第一多个神经网络层508。在图5的特定示例中,第一多个神经网络层508包括16位浮点精度层、8位整数精度层、4位浮点精度层、2位浮点精度层、4位整数精度层和16位浮点精度层。
第二加密的降低精度的神经网络模型502包括第二多个神经网络层510。在图5的特定示例中,第二多个神经网络层510包括8位浮点精度层、三个2位浮点精度层、8位整数精度层和16位浮点精度层。
当输入图像数据包括对抗性数据时,将相同的输入图像数据提供给第一加密的降低精度的神经网络模型502和第二加密的降低精度的神经网络模型504产生彼此基本上不同的特征向量。因此,第一加密的降低精度的神经网络模型502和第二加密的降低精度的神经网络模型504的不同精度和数据表示使得对抗性攻击极其困难。
参考图6,该图描绘了根据说明性实施例的用于使用降低数值精度的神经网络来识别对抗性数据的示例序列600的框图。在本实施例中,对抗性数据602由每个加密的降低精度的模型406A-406N并行处理以生成特征向量。在图6的示例中,当加密的降低精度的模型406A-406N处理对抗性数据602时,生成的特征向量与全数值精度的神经网络模型生成的特征向量截然不同,从而导致第一组错误结果604和/或第二组错误结果606,其中第二组错误结果606具有比第一组错误结果604更大的错误程度。通过全数值精度的神经网络模型与一个或多个降低数值精度的神经网络模型之间的特征向量的差异、一个或多个降低数值精度的神经网络模型的特征向量之间的差异或其组合,系统可以识别对抗性数据602包含是对抗性的并且可能是作为尝试的对抗性攻击的结果的数据。
参考图7,该图描绘了根据说明性实施例的用于使用降低精度的深度神经网络进行对抗性输入识别的示例检测器/分类器体系架构700的框图。在一个或多个实施例中,训练体系架构700由图1的应用105和深度神经网络模型107实现。
在本实施例中,输入数据702由已发布的神经网络模型404和多个加密的降低精度的模型406A-406N中的每一个处理,以生成特征向量1-N。在特定实施例中,输入数据702包含图像数据。在图7的实施例中,已发布的神经网络模型404是具有用户从已发布的源已知的神经网络参数的全数值精度(例如,16位或32位浮点)的神经网络模型,并且多个加密的降低精度的模型406A-406N中的每一个的数值精度水平小于已发布的神经网络模型404的数值精度水平。在本实施例中,多个加密的降低精度的模型406A-406N中的每一个都被隐藏在硬件加密中。在特定实施例中,多个加密的降低精度的模型406A-406N中的每一个可以具有彼此不同的整体数值精度水平和/或在一个或多个神经网络层内的不同数值精度水平。在一个或多个实施例中,已发布的神经网络模型404和多个加密的降低精度的模型406A-406N中的每一个包括DNN。
在本实施例中,检测器/分类器105计算在已发布的神经网络模型404与多个加密的降低精度的模型406A-406N的特征向量之间的相似性度量,如本文关于一个或多个实施例所描述的。如果特征向量的相似性度量指示特征向量在预定的相似性阈值内彼此相似,则检测器/分类器704确定输入数据702是正常数据而不包含对抗性数据,并基于特征向量输出输入数据702的分类。
但是,如果特征向量的相似性度量指示特征向量不在预定的相似性阈值内彼此相似,则检测器/分类器704确定输入数据702包含对抗性数据,并且检测器/分类器704过滤掉或丢弃输入数据702。
参考图8,该图描绘了根据说明性实施例的用于使用降低精度的深度神经网络进行对抗性输入识别的示例处理800的流程图。在一个或多个实施例中,示例处理800可以由图1的应用105和深度神经网络模型107中的一个或多个来实现。
在框802中,应用105接收图像数据。在框804中,应用105将图像数据输入到包括具有第一数值精度水平的第一神经网络模型的第一神经网络。在特定实施例中,第一数值精度水平是全数值精度水平。在特定实施例中,第一神经网络模型具有一个或多个用户已知的模型参数,诸如数值精度水平。在特定实施例中,第一神经网络模型是已发布的神经网络模型,该神经网络模型具有已知的数值精度水平,诸如全16位或32位数值精度水平。在另一个实施例中,第一神经网络模型是降低精度的神经网络模型。在另一个特定实施例中,第一神经网络模型是加密的神经网络模型。在框806中,应用105使用第一神经网络处理图像数据以从图像数据产生第一特征向量。
在框808中,应用105将图像数据输入到第二神经网络,第二神经网络包括第二神经网络模型,该第二神经网络模型具有与第一数值精度水平不同的第二数值精度水平。在特定实施例中,第二神经网络模型是降低精度的神经网络模型,其中第二数值精度水平小于第一数值精度水平。在另一个特定实施例中,第二神经网络模型是加密的神经网络模型。在特定实施例中,第二神经网络模型的一个或多个层包括不同的数值精度水平。在另一个特定实施例中,第二神经网络的一个或多个层被配置为具有不同的数值精度格式。在另一个特定实施例中,不同的数字格式包括不同的数字数据类型。在一个或多个实施例中,第一神经网络和第二神经网络中的一个或多个包括DNN。
在框810中,应用105使用第二神经网络处理图像数据以从图像数据产生第二特征向量。在框812中,应用105计算第一特征向量和第二特征向量之间的差异度量。在框814中,应用105确定差异度量是否大于预定阈值。
如果应用105确定差异度量不大于预定阈值,则在框816中,应用105基于第一特征向量和第二特征向量对图像数据进行分类,并且处理800继续到框818。在框818中,应用105输出图像数据的分类,并且处理800结束。
如果应用105确定差异度量大于预定阈值,则在框820中,应用105指示图像数据包括对抗性数据,并且处理800继续至框822。在框822中,应用105丢弃被指示为包括对抗性数据的图像数据,并且处理800结束。
因此,在说明性实施例中提供了用于使用降低精度的深度神经网络和其它相关特征、功能或操作来进行对抗性输入识别的计算机实现的方法、系统或装置以及计算机程序产品。在关于一种类型的设备描述实施例或其一部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其一部分适于或被配置为与该类型的设备的适当且可比较的表现形式一起使用。
在将实施例描述为在应用中实现的情况下,在软件即服务(SaaS)模型中的应用的交付被预期在说明性实施例的范围内。在SaaS模型中,通过在云基础设施中执行应用来向用户提供实现实施例的应用的能力。用户可以通过诸如web浏览器(例如,基于web的电子邮件)之类的瘦客户端接口或其它轻量级客户端应用使用各种客户端设备来访问应用。用户不管理或控制底层云基础设施,云基础设施包括网络、服务器、操作系统或云基础设施的存储装置。在一些情况下,用户可以甚至不能管理或控制SaaS应用的功能。在一些其它情况下,应用的SaaS实现可以允许有限的特定于用户的应用配置设置的可能例外。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。本发明可以是任何可能的技术细节集成级别的系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (17)

1.一种方法,包括:
由处理器接收输入数据;
将所述输入数据提供给包括第一神经网络模型的第一神经网络,所述第一神经网络模型具有第一数值精度水平;
使用第一神经网络从所述输入数据生成第一特征向量;
将所述输入数据提供给包括第二神经网络模型的第二神经网络,第二神经网络模型具有与第一数值精度水平不同的第二数值精度水平;
使用第二神经网络从所述输入数据生成第二特征向量;以及
计算第一特征向量和第二特征向量之间的差异度量,所述差异度量指示所述输入数据是否包括对抗性数据。
2.如权利要求1所述的方法,还包括:
将所述差异度量与预定阈值进行比较。
3.如权利要求2所述的方法,还包括:
确定所述差异度量超过所述预定阈值;以及
响应于确定所述差异度量超过所述预定阈值,确定所述输入数据包括对抗性数据。
4.如权利要求3所述的方法,还包括:
丢弃所述输入数据。
5.如权利要求2所述的方法,还包括:
确定所述差异度量未超过所述预定阈值;以及
响应于确定所述差异度量未超过所述预定阈值,确定所述输入数据的分类。
6.如权利要求1所述的方法,其中第一数值精度水平大于第二数值精度水平。
7.如权利要求1所述的方法,其中第一数值精度水平是全数值精度水平。
8.如权利要求1所述的方法,其中第一神经网络模型是具有已知数值精度水平的已发布的神经网络模型。
9.如权利要求1所述的方法,其中第二神经网络模型是降低精度的神经网络模型。
10.如权利要求1所述的方法,其中第二神经网络模型是加密的神经网络模型。
11.如权利要求1所述的方法,其中第二神经网络模型的一个或多个层包括不同的数值精度水平。
12.如权利要求1所述的方法,其中第一神经网络或第二神经网络中的一个或多个包括深度神经网络DNN。
13.如权利要求1所述的方法,其中所述输入数据包括图像数据。
14.一种计算机可用程序产品,包括一个或多个计算机可读存储设备以及存储在所述一个或多个存储设备中的至少一个存储设备上的程序指令,所存储的程序指令包括用于执行根据权利要求1至13中任一项所述的方法的步骤的计算机程序代码。
15.如权利要求14所述的计算机可用程序产品,其中所述计算机可用代码被存储在数据处理系统中的计算机可读存储设备中,并且其中所述计算机可用代码是通过网络从远程数据处理系统传送的。
16.如权利要求14所述的计算机可用程序产品,其中所述计算机可用代码被存储在服务器数据处理系统中的计算机可读存储设备中,并且其中所述计算机可用代码通过网络下载到远程数据处理系统以供在与远程数据处理系统相关联的计算机可读存储设备中使用。
17.一种计算机系统,包括一个或多个处理器、一个或多个计算机可读存储器和一个或多个计算机可读存储设备,以及存储在所述一个或多个存储设备中的至少一个存储设备上以供所述一个或多个处理器中的至少一个处理器经由所述一个或多个存储器中的至少一个存储器执行的程序指令,所存储的程序指令包括:
用于由处理器接收输入数据的程序指令;
用于将所述输入数据提供给包括第一神经网络模型的第一神经网络的程序指令,第一神经网络模型具有第一数值精度水平;
用于使用第一神经网络从所述输入数据生成第一特征向量的程序指令;
用于将所述输入数据提供给包括第二神经网络模型的第二神经网络的程序指令,第二神经网络模型具有与第一数值精度水平不同的第二数值精度水平;
用于使用第二神经网络从所述输入数据生成第二特征向量的程序指令;以及
用于计算第一特征向量和第二特征向量之间的差异度量的程序指令,所述差异度量指示所述输入数据是否包括对抗性数据。
CN202010020033.8A 2019-01-11 2020-01-09 使用降低精度的深度神经网络的对抗性输入识别 Active CN111435461B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/245,463 2019-01-11
US16/245,463 US20200226459A1 (en) 2019-01-11 2019-01-11 Adversarial input identification using reduced precision deep neural networks

Publications (2)

Publication Number Publication Date
CN111435461A true CN111435461A (zh) 2020-07-21
CN111435461B CN111435461B (zh) 2023-08-11

Family

ID=71516721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010020033.8A Active CN111435461B (zh) 2019-01-11 2020-01-09 使用降低精度的深度神经网络的对抗性输入识别

Country Status (2)

Country Link
US (1) US20200226459A1 (zh)
CN (1) CN111435461B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11195096B2 (en) * 2017-10-24 2021-12-07 International Business Machines Corporation Facilitating neural network efficiency
US11475304B2 (en) * 2020-05-12 2022-10-18 International Business Machines Corporation Variational gradient flow
US11252188B1 (en) * 2020-08-13 2022-02-15 Room40 Labs, Inc. Methods and apparatus to automate cyber defense decision process and response actions by operationalizing adversarial technique frameworks
US12021986B2 (en) * 2021-12-27 2024-06-25 Industrial Technology Research Institute Neural network processing method and server and electrical device therefor
US11805145B2 (en) 2022-03-16 2023-10-31 Interpres Security, Inc. Systems and methods for continuous threat-informed exposure management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106471526A (zh) * 2014-08-29 2017-03-01 谷歌公司 使用深度神经网络来处理图像

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ASIT MISHRA 等: "APPRENTICE: USING KNOWLEDGE DISTILLATION TECHNIQUES TO IMPROVE LOW-PRECISION NETWORK ACCURACY" *
SHRUTI TOPLE 等: "PRIVADO: Practical and Secure DNN Inference with Enclaves" *
WEILIN XU 等: "Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks" *

Also Published As

Publication number Publication date
CN111435461B (zh) 2023-08-11
US20200226459A1 (en) 2020-07-16

Similar Documents

Publication Publication Date Title
CN111435461B (zh) 使用降低精度的深度神经网络的对抗性输入识别
US11829880B2 (en) Generating trained neural networks with increased robustness against adversarial attacks
US11521090B2 (en) Collaborative distributed machine learning
US11521067B2 (en) Decentralized distributed deep learning
US11128668B2 (en) Hybrid network infrastructure management
US11853877B2 (en) Training transfer-focused models for deep learning
US11681796B2 (en) Learning input preprocessing to harden machine learning models
WO2020043473A1 (en) Data prediction
US11488014B2 (en) Automated selection of unannotated data for annotation based on features generated during training
US10970331B2 (en) Determining contextual confidence of images using associative deep learning
US12039002B2 (en) Predicting multivariate time series with systematic and random missing values
US20210150335A1 (en) Predictive model performance evaluation
US11514318B2 (en) Multi-source transfer learning from pre-trained networks
US20200027032A1 (en) Reducing computational costs to perform machine learning tasks
US20210209144A1 (en) Internet of things sensor equivalence ontology
US11947570B2 (en) Data augmentation
CN112529181B (zh) 用于模型蒸馏的方法和装置
US11182674B2 (en) Model training by discarding relatively less relevant parameters
US11164099B2 (en) Quantum space distance estimation for classifier training using hybrid classical-quantum computing system
US20200257980A1 (en) Training optimization for neural networks with batch norm layers
US20230153612A1 (en) Pruning complex deep learning models based on parent pruning information
US20210056457A1 (en) Hyper-parameter management
US20200250573A1 (en) Implementing a computer system task involving nonstationary streaming time-series data based on a bias-variance-based adaptive learning rate
US20220398452A1 (en) Supervised similarity learning for covariate matching and treatment effect estimation via self-organizing maps
US11410077B2 (en) Implementing a computer system task involving nonstationary streaming time-series data by removing biased gradients from memory

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
GR01 Patent grant
GR01 Patent grant