CN115398444A - 用于提供计算高效神经网络的设备和方法 - Google Patents
用于提供计算高效神经网络的设备和方法 Download PDFInfo
- Publication number
- CN115398444A CN115398444A CN202080099380.2A CN202080099380A CN115398444A CN 115398444 A CN115398444 A CN 115398444A CN 202080099380 A CN202080099380 A CN 202080099380A CN 115398444 A CN115398444 A CN 115398444A
- Authority
- CN
- China
- Prior art keywords
- data
- interpolation
- layers
- layer
- processing
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种数据处理装置(100),包括:处理电路(101),用于实现神经网络,其中,所述神经网络包括用于顺序处理数据的多个处理层,其中,为了对所述数据进行下采样,所述多个处理层包括多个插值层(802a至802k),所述多个插值层中的每个插值层用于通过使用插值根据相应输入数据阵列确定相应输出数据阵列来处理所述数据,所述相应输出数据阵列的空间维度包括的数据点比所述相应输入数据阵列的对应空间维度包括的数据点少。此外,本发明涉及一种对应的数据处理方法。本发明有助于在硬件能力有限的电子设备(例如,智能手机或其它类型的IoT设备)上高效运行神经网络。
Description
技术领域
本发明涉及数据处理。更具体地,本发明涉及用于提供计算高效神经网络的设备和方法,即神经网络对计算资源的要求比传统神经网络的低。
背景技术
例如,以深度神经网络(deep neural network,DNN)为形式出现的人工智能(Artificial Intelligence,AI)在越来越多的电子设备中实施。然而,DNN通常对计算资源要求很高,例如,由于频繁的内存访问,DNN消耗了大量的能量。因此,在处理能力、内存和能量存储方面的硬件能力降低的智能手机或其它类型的IoT设备等电子设备上实施DNN是一项挑战。
发明内容
本发明的目的是提供用于提供计算高效神经网络的设备和方法,即神经网络对计算资源的要求比传统神经网络的低。
上述和其它目的通过独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中显而易见。
通常,本发明的实施例提供了根据用于对数据进行下采样的一个或多个插值层实现有利神经网络架构(此处也称为“空间金字塔”神经网络架构)的设备和方法。本文所使用的插值层用于通过使用插值根据相应输入数据阵列确定相应输出数据阵列来处理数据,其中,所述相应输出数据阵列的空间维度包括的数据点比所述相应输入数据阵列的对应空间维度的少。通过用插值层替换计算要求高的传统下采样层,例如传统池化层(例如最大、最小、平均和/或平均池化层)和/或具有步长的传统卷积层,本发明的实施例可以提供所需的精度,同时使用比传统神经网络体系结构更少的内存和计算资源来处理数据。本文所使用的传统池化层是用于通过组合数据来减小数据的维度的神经网络处理层,例如最大、最小、平均和/或平均池化层。本文所使用的传统卷积层的步长表示卷积窗口(即内核)在每次卷积操作之后移动的数据元素的数量。
更具体地,根据第一方面,提供了一种数据处理装置,包括用于实现神经网络的处理电路。所述神经网络包括用于顺序处理数据的多个处理层,其中,为了对所述数据进行下采样,所述多个处理层包括多个插值层。所述多个处理层中的每个插值层用于通过使用插值根据相应输入数据阵列确定相应输出数据阵列来处理数据,其中,所述相应输出数据阵列的空间维度包括比所述相应输入数据阵列的对应空间维度少的数据点。
因此,根据本发明,插值层用于下采样,即减小由所述神经网络处理的所述数据的大小,而不是具有像传统神经网络架构中的步长的池化层或卷积层。具有传统神经网络架构中使用的步长的池化层或卷积层提供的“逐步”下采样(例如,2倍下采样)相比,插值层可以提供更平滑的连续下采样。
在另一种可能的实现方式中,所述神经网络的所述多个处理层还包括步长等于1(即不下采样)的多个卷积层,其中,所述多个插值层中的每个插值层在处理方向上紧跟在所述多个卷积层中的相应卷积层之后。这可以提供更平滑的连续下采样。
在另一种可能的实现方式中,所述多个插值层中的每个插值层用于通过使用线性插值、双线性插值、三次插值、区域插值和最近邻插值和/或为对所述神经网处理的所述数据进行下采样而提供的其它插值方案中的至少一个对所述相应输入数据阵列的数据进行插值,将所述相应输入数据阵列处理成所述相应输出数据阵列。这样有助于使用已知的插值方案以计算高效的方式实现所述插值层。
在另一种可能的实现方式中,所述多个处理层不包括用于对所述数据进行下采样的步长大于1的任何池化层和/或卷积层。因此,在实现方式中,步长大于1的池化层和/或卷积层被插值层替换。更具体地,所述多个处理层可以不包括任何最大池化层、最小池化层、均值池化层、平均池化层和/或用于对数据进行下采样的步长大于1的卷积层。换句话说,多个处理层可以用于仅使用所述多个插值层对所述数据进行下采样。
在另一种可能的实现方式中,所述多个处理层包括全局平均池化(globalaverage pooling,GAP)层。所述GAP层可以在处理方向上紧跟在最后一个卷积层之后。
在另一种可能的实现方式中,所述多个处理层包括全连接(fully connected,FC)层。所述FC层可以在处理方向上紧跟在所述GAP层之后。
在另一种可能的实现方式中,对于所述多个插值层中的至少两个插值层,所述相应输入数据阵列的预定空间维度中的数据点数量与所述相应输出数据阵列在所述预定空间维度中的数据点数量之间的差值相等。例如,第一插值层的输入数据阵列的预定空间维度中的数据点数量与所述第一插值层的输出数据阵列在所述预定空间维度中的数据点数量之间的差值可以等于第二插值层的输入数据阵列的预定空间维度中的数据点数量与所述第二插值层的输出数据阵列在所述预定义空间维度中的数据点数量的差值。所述第二插值层可以是所述第一插值层之后的下一个插值层,也可以在所述第一插值层和所述第二插值层之间设置更多的插值层。在一种实现方式中,这有助于从层到层减小相应的空间维度的恒定值(这里也称为“加法规则”)。换句话说,根据“加法规则”,对于相应的空间维度,所述输入数据阵列和所述相应的输出数据阵列之间可以存在恒定的差分(例如,2或5个数据点的差分)。
在另一种可能的实现方式中,对于所述多个插值层中的至少两个插值层,所述相应输入数据阵列的预定空间维度中的数据点数量与所述相应输出数据阵列在所述预定空间维度中的数据点数量之间的比率相等。例如,第一插值层的输入数据阵列的预定空间维度中的数据点数量与所述第一插值层的输出数据阵列在所述预定空间维度中的数据点数量之间的比率可以等于第二插值层的输入数据阵列的预定空间维度中的数据点数量与所述第二插值层的输出数据阵列在所述预定义空间维度中的数据点数量的比率。所述第二插值层可以是所述第一插值层之后的下一个插值层,也可以在所述第一插值层和所述第二插值层之间设置更多的插值层。在一种实现方式中,这有助于减小相应的空间维度,使得数据点数量的比率在层到层之间是恒定的(这里也称为“乘法规则”)。换句话说,根据“乘法规则”,对于相应的空间维度,所述输入数据阵列和所述相应的输出数据阵列之间可以存在恒定的比率(例如,比率1.5)。乘法规则可以提供比传统神经网络架构的下采样层提供的下采样更小的平均值。
在另一种可能的实现方式中,由所述多个插值层中的第l个插值层提供的所述输出数据阵列的预定空间维度中的数据点数量Wl由以下公式给出:
其中,Wf表示由所述多个插值层(802a至802k)在处理顺序中的最后一个插值层提供的所述输出数据阵列的所述预定空间维度中的数据点数量,Wi表示由所述多个插值层在处理顺序中的第一插值层处理的所述输入数据阵列的所述预定空间维度中的数据点数量,lmax表示插值层的总数,α表示参数,其中,0<α≤1。调整参数α有助于根据所述神经网络的给定计算任务在所述加法规则和所述乘法规则之间进行调整。
在另一种可能的实现方式中,所述数据包括图像和/或视频数据,所述相应输出数据阵列和所述相应输入数据阵列是二维数据阵列。
在另一种可能的实现方式中,所述数据处理装置还包括用于捕获图像和/或视频数据的摄像机。
根据第二方面,提供了一种数据处理方法,包括使用神经网络的多个处理层的多个插值层对数据进行下采样的步骤。所述多个插值层中的每个插值层使用插值根据相应输入数据阵列确定相应输出数据阵列,其中,所述相应输出数据阵列的空间维度包括比所述相应输入数据阵列的对应空间维度少的数据点。
在所述第二方面的另一种可能的实现方式中,所述神经网络的所述多个处理层还包括多个卷积层,其中,所述多个插值层中的每个插值层紧跟在所述多个卷积层中的相应卷积层之后。
在所述第二方面的另一种可能的实现方式中,不使用池化层或卷积层对数据进行下采样,即仅使用插值层。
本发明第二方面所述的数据处理方法可由本发明第一方面所述的数据处理装置执行。此外,本发明第二方面所述的数据处理方法的其它特征直接来自本发明第一方面及上文和下文中描述的其不同实现方式所述的数据处理装置的功能。
根据第三方面,提供了一种计算机程序或计算机程序产品,包括携带程序代码的非瞬时性计算机可读存储介质。所述程序代码在由计算机或处理器执行时,使得所述计算机或所述处理器执行根据所述第二方面所述的方法。
本发明的不同方面可以在软件和/或硬件中实现。
一个或多个实施例的细节在附图和说明书中阐述。其它特征、目标和优点将从说明书、附图和权利要求中显而易见。
附图说明
下面结合附图对本发明实施例进行详细描述。
图1为一个实施例提供的根据实现神经网络架构的数据处理装置的示意图。
图2为神经网络架构的卷积层的各方面的示意图。
图3a至图3c为神经网络架构的不同处理层的各方面的示意图。
图4a和图4b为神经网络架构的不同处理层的各方面的示意图。
图5为神经网络架构的各方面的示意图。
图6为一个实施例提供的由数据处理装置实现的神经网络架构的插值层的各方面的示意图。
图7为神经网络架构的不同处理层的示意图。
图8为一个实施例提供的由数据处理装置实现的神经网络架构的不同处理层的示意图。
图9a至图9c为一个实施例提供的特征宽度对处理层索引的依赖性的图,其中,图9a示出了传统神经网络架构的依赖性,图9b和图9c为由数据处理装置实现的神经网络架构的依赖性。
图10为一个实施例提供的由数据处理装置实现的神经网络架构的性能的示意图。
图11为一个实施例提供的由数据处理装置实现的神经网络架构相对于传统网络架构的性能的表。
图12为一个实施例提供的数据处理方法的流程图。
在下文中相同参考符号是指相同或至少在功能上等效的特征。
具体实施方式
在以下描述中,参考构成本发明一部分的附图,附图通过说明的方式示出了本发明实施例的特定方面或可使用本发明实施例的特定方面。应理解,本发明的实施例可用于其它方面,并且包括未在附图中描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,本发明的范围由所附权利要求书界定。
例如,应当理解,与描述方法有关的公开内容可以对用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的设备可以包括一个或多个单元,例如,功能单元,用于执行所描述的一个或多个方法步骤(例如,执行所述一个或多个步骤的一个单元,或各自执行所述多个步骤中的一个或多个步骤的多个单元),即使图中未明确描述或说明此类一个或多个单元。另一方面,例如,如果根据一个或多个单元(例如,功能单元)来描述特定装置,对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,执行所述一个或多个单元的功能的一个步骤,或各自执行所述多个单元中的一个或多个单元的功能的多个步骤),即使图中未明确描述或说明此类一个或多个步骤。此外,应理解,除非另外具体指出,否则本文中描述的各种示例性实施例和/或方面的特征可彼此组合。
图1为一个实施例提供的数据处理装置100的示意图。在图1所示的实施例中,例如,数据处理装置100是智能手机100,即在计算能力、内存存储和/或电池容量方面的硬件能力降低的电子设备100。如图1所示,智能手机100可以包括用于处理数据的处理器101、用于存储和检索数据的存储器103和用于提供能量供应的电池105。此外,智能手机100可以包括用于捕获图像和/或视频数据的摄像机107、用户界面,例如用于使用户可以与智能手机100交互的触摸按钮109,以及显示器111,例如触摸屏111。此外,智能手机100可以包括通信接口(图1中未示出),例如,包括用于与无线通信网络的其它通信设备(例如基站)交换数据的天线。
智能手机100的处理器101可以通过硬件和软件实现。硬件可以包括数字电路,或模拟电路和数字电路两者。数字电路可以包括专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、数字信号处理器(digital signal processor,DSP)或通用处理器等组件。存储器103可以存储可执行程序代码,当所述代码由处理器101执行时,使得智能手机100执行本文所描述的功能和方法。
通常,智能手机等数据处理装置100包括处理电路,例如图1所示的处理器101,用于实现神经网络。如下文更详细地描述,神经网络包括用于顺序处理数据的多个处理层,其中,为了对数据进行下采样,多个处理层包括多个插值层。每个插值层用于通过使用插值根据相应输入数据阵列确定相应输出数据阵列来处理数据,其中,相应输出数据阵列的一个或多个空间维度包括的数据点比相应输入数据阵列的对应空间维度包括的数据点少。
在更详细地描述数据处理装置100的示例性实施例之前,下文会提供关于神经网络的一些背景材料。如将理解,这些方面也可以在本发明的实施例中实现,除非明确地相反地说明。虽然下面的描述将集中在用于处理二维数据(例如图像数据)的神经网络上,但本领域技术人员将理解,本文描述的概念也适用于用于处理具有小于或大于2维的数据的神经网络。
神经网络(Neural Network,NN)是由处理数据的层(即多个处理层)构建的。通常,在处理层之间传递的数据被称为“激活(activation)”或“特征(feature)”。在神经网络处理的数据是二维图像数据的示例性情况下,卷积特征(convolutional feature,CF)是具有两个空间维度(高度H、宽度W)和通道(C)的三维张量。RGB颜色是3个通道的示例。图2示出了步长大于1的池化层或卷积层对具有维度W_in和H_in的多个输入数据阵列201(在图2中称为“卷积输入特征”)的数据进行下采样,得到多个输出数据阵列203(在图2中称为“卷积输出特征”)。如图2所示,输出数据阵列203的数据点的值可以根据输入数据阵列201的多个加权数据点和偏差来确定。输出张量的通道直接由层参数C_out给出。
图3a、图3b和图3c示出了通过具有填充、不同步长和/或不同膨胀因子(dilationfactor)的神经网络的卷积层和/或池化层对数据进行下采样的其它示例。在图3a所示的示例中,使用等于1的步长,从而提供大小为6×6的输出。在图3b所示的示例中,使用等于2的步长,输出的大小为3×3,即输出大小减小两倍。图3c示出了图3b所示示例的变体,稀释因子等于2,提供大小为4×4的输出。
从图2和图3a至图3c中所示的示例可以看出,输出张量(即输出数据阵列203)的空间维度由一个或多个层参数(例如填充参数、膨胀参数、内核大小参数等)间接限定。例如,输出宽度和高度,即输出数据阵列的空间维度可以由以下公式限定:
这里,索引“0”表示x方向,而索引“1”表示y方向。
在传统的神经网络架构中,限定输出数据阵列203的空间维度的参数,例如填充参数、膨胀参数和/或内核大小参数,通常是整数。例如,内核大小参数的值可以为1或3,步长参数的值可以为2,和/或填充参数的值可以为0或1(内核大小参数、步长参数和填充参数的其它值也是可能的)。
图4a和图4b示出了用于减小正在处理的数据阵列的空间维度,即用于对数据阵列进行下采样的其它示例。图4a示出了基于填充、膨胀和/或内核大小的下采样。然而,从图4a中可以看出,使用填充、膨胀和/或内核大小进行下采样打破了卷积操作的平移不变性,这种情况通常是不希望发生的。基于步长大于1的卷积层的下采样操作是平移不变的,如图4b中针对等于2的示例性步长所示。
然而,如上所述,步长参数是整数,使得最小空间缩减,即由步长等于2的卷积层提供的下采样是双重空间缩减,即2倍缩减。因此,在实践中,通常只能在被处理的数据阵列的空间维度小于将由后续卷积层应用的卷积核(在给定维度中具有3个元素的最小大小)之前执行少数这种缩减,即下采样操作。例如,对于具有64×64像素的输入图像形式的数据,数据可以减小,即下采样不超过4次,即从64个像素–>32个像素–>16像素–>8个像素–>4个像素。
神经网络通常有非常深度的架构,即很多处理层。例如,基于“ResNets”架构的神经网络通常可能包含几十个以上卷积层,有时甚至多达数千个卷积层。由于上述空间缩减的次数通常有限,这意味着,在这种神经网络中,正在处理的数据的空间维度在通过神经网络的大部分(即处理层)时保持恒定。图5中说明了具有传统ResNet-34架构的神经网络的示例。
由于上述原因,传统的神经网络架构在寻找计算效率之间的权衡时可能缺乏灵活性,例如,一方面表示为FLOP和另一方面表示为精度。此外,传统的神经网络架构必须处理空间维度的突然阶梯状变化,这对平滑可微计算是不利的。因此,传统的神经网络架构可以提供次优的技术方案,其中计算精度、延迟或功率效率被不必要地牺牲,而不是优化。虽然已经有一些关于神经网络架构的建议来解决这些问题,例如使用跳过连接和基本卷积块的不同排列,同时改变上述层参数,但这些提出的架构在计算上是复杂的,因此通常不适合具有有限硬件资源的电子设备,例如图1中所示的电子设备100。
为了解决这些问题,如上所述,本发明的实施例提供了一种数据处理装置100,例如图1中所示的智能手机100,包括处理电路,该处理电路用于实现具有有利的神经网络架构(此处称为“空间金字塔”神经网络架构)的神经网络。根据这种“空间金字塔”神经网络架构,神经网络的多个处理层包括用于对数据进行下采样的多个插值层。每个插值层用于通过使用插值根据相应输入数据阵列确定相应输出数据阵列来处理数据,其中,相应输出数据阵列的一个或多个空间维度包括的数据点比相应输入数据阵列的对应空间维度包括的数据点少。
示例性插值层的下采样效果如图6所示。在本示例中,插值层将具有64×64个数据点(即像素)的输入数据阵列201处理(即下采样)成具有60×60个数据点的输出数据阵列203。因此,如将从图6中理解的,由数据处理装置100实现的神经网络的插值层能够比例如步长等于2的的卷积层“更小”的空间缩减。如图6所示,由数据处理装置100实现的神经网络的插值层执行的插值可以基于一种或多种已知的插值方案,例如线性插值、双线性插值、三次插值、区域插值和/或最近邻插值方案。
参考图7和图8,本发明的实施例允许用插值层替换传统用于下采样的处理层,例如池化层,特别是最大、最小、平均或平均池化层,或步长大于1的卷积层。
图7示出了传统的网络架构。图7中所示的神经网络架构包括多个处理层700,包括步长等于1的多个卷积层701a至701k和用于对数据进行下采样的多个池化层703a、703b。此外,多个处理层700可以在处理链的末端包括全局平均池化(global average pooling,GAP)层705和全连接(fully connected,FC)层707。
图8示出了实施例提供的数据处理装置100实现的神经网络架构。图8中所示的神经网络架构包括多个处理层800。与图7中所示的神经网络架构类似,多个处理层800可以包括步长等于1的多个卷积层801a至801k。然而,对于下采样,多个处理层800包括多个插值层802a至802k,而不是图7中所示的池化层。如将理解的,在图8所示的实施例中,相应的插值层802a至802k可以直接在相应的卷积层801a至801k之后。此外,多个处理层800可以在处理链的末端包括全局平均池化(global average pooling,GAP)层805和全连接(fullyconnected,FC)层807。
在一个实施例中,对于多个插值层802a至802k中的至少两个插值层,相应输入数据阵列201的给定空间维度中的数据点数量与相应输出数据阵列203在给定空间维度中的数据点数量之间的差值相等。在一个实施例中,这有助于从层到层减小相应的空间维度的恒定值(这里也称为“加法规则”)。换句话说,根据“加法规则”,对于相应的空间维度,输入数据阵列201和相应的输出数据阵列203之间可以存在恒定的差分(例如,2或5个数据点或像素的差分)。
在另一个实施例中,对于多个插值层802a至802k中的至少两个插值层,相应输入数据阵列201的给定空间维度中的数据点数量与相应输出数据阵列203在给定空间维度中的数据点数量的比率相等。在一个实施例中,这有助于减小相应的空间维度,使得数据点(例如,像素)数量的比率在层到层之间是恒定的(这里也称为“乘法规则”)。换句话说,根据“乘法规则”,对于相应的空间维度,输入数据阵列201的数据点(例如,像素)数量和相应输出数据阵列203的数据点(例如,像素)数量之间可以存在恒定的比率(例如,比率1.5)。
在另一个实施例中,由第l个插值层802l提供的输出数据阵列203的给定空间维度中的数据点数量Wl由以下公式给出:
其中,Wf表示处理顺序中的最后一个插值层提供的输出数据阵列203的给定空间维度中的数据点数量,Wi表示由处理顺序中的第一插值层802a处理的输入数据阵列201的给定空间维度中的数据点数量,lmax表示插值层的总数,α表示0<α≤1范围中的参数。调整参数α有助于根据所述神经网络的给定计算任务在所述加法规则和所述乘法规则之间进行调整。
如上文图6的上下文中已经描述的,图8中所示的“空间金字塔”神经网络架构能够连续减小数据的空间维度,即特征。这会在下面的图9a至图9c的上下文中更详细地描述,图9a至图9c为特征宽度的依赖性的图表,即数据在处理层索引上的空间维度。虽然图9a示出了传统神经网络架构的这种依赖关系,但图9b和图9c示出了特征宽度的依赖关系,即数据处理装置100实现的数据在“空间金字塔”神经网络架构的处理层索引上的空间维度。
如将理解的,由数据处理装置100实现的“空间金字塔”神经网络架构提供了比图9a中所示的阶梯状依赖关系的选择更平滑的特征宽度(即处理层索引上的数据的空间维度)依赖性(图9b中示出了“加法规则”和“乘法规则”,图9c中示出了不同的参数α的选择)。
虽然图8中所示的“空间金字塔”神经网络体系结构包括比图7中所示的神经网络架构更多的处理层,但插值层802a至802k对数据处理装置100的计算资源的要求比图7中所示的神经网络架构的池化层703a、703b低。
通过在每个卷积层801a至801k之后添加许多插值层802a至802k,本发明的实施例有助于在使用最小内存和计算资源的同时实现所需的计算精度。更具体地,实施例有助于改进帕累托曲线,该曲线描述了作为计算复杂性度量的函数的最大可实现精度,例如,在FLOP中,如图10所示。除了计算复杂性外,描述最大可实现精度的帕累托曲线可能取决于内存大小、处理延迟和功率(这些都可能在一定程度上相关)。从图10可以看出,由数据处理装置100实现的“空间金字塔”神经网络架构提供了改进的精度,特别是在超低FLOP区域中。因此,“空间金字塔”神经网络架构特别是对于硬件能力有限或降低的电子设备,如智能手机或其它类型的IoT设备,是有利的。
图11为本发明实施例提供的由数据处理装置100实现的传统神经网络架构与“空间金字塔”神经网络架构的性能比较表。在本示例中,一方面通过具有深度卷积和具有金字塔通道架构的瓶颈块的传统完全预激活ResNet20来实现相应的人脸检测模型,另一方面通过本发明实施例提供的数据处理设备100实现的“空间金字塔”神经网络架构来实现。如可以从图11中所示的表格中得出,对于本示例,由数据处理装置100实现的“空间金字塔”神经网络架构在计算上要求较低(FLOP的–17%),具有更好的延迟(–17.5%),并且具有更好的占用空间(模型大小的–28%),而不牺牲精度。因此,由数据处理装置100实现的“空间金字塔”神经网络架构更适合具有有限或降低硬件能力的电子设备,例如智能手机或其它类型的IoT设备。
图12为对应的数据处理方法1200的流程图。数据处理方法1200包括使用神经网络的多个处理层800的多个插值层802a至802k对数据进行下采样的步骤1201,其中,每个插值层802a至802k使用插值根据相应输入数据阵列201确定相应输出数据阵列203。如上所述,相应输出数据阵列203的一个或多个空间维度包括的数据点比相应输入数据阵列201的对应空间维度包括的数据点少。
本领域技术人员将理解,各种附图(方法和装置)中的“块”(“单元”)表示或描述本发明实施例的功能(而不一定是硬件或软件中的独立“单元”),因此同等地描述装置实施例以及方法实施例的功能或特征(单元等同步骤)。
在本应用中提供若干实施例中,应理解,所公开的系统、装置和方法可通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是一种逻辑功能划分,实际实现时可以有其它划分方式。例如,可将多个单元或部件合并或集成到另一系统中,或可忽略或不执行部分特征。另外,所显示或讨论的相互耦合或直接耦合或通信连接可以是通过一些接口来实现的。装置或单元之间的直接耦合或通信连接可通过电子、机械或其它形式实现。
作为分立部分描述的单元可以是物理上分开的,也可以不是物理上分开的,作为单元显示的部分可以是物理单元,也可以不是物理单元,可以位于一个位置,也可以分布在多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,本发明实施例中的功能单元可集成到一个处理单元中,或每个单元可物理上单独存在,或两个或更多单元可集成到一个单元中。
Claims (15)
1.一种数据处理装置(100),其特征在于,包括:
处理电路(101),用于实现神经网络,其中,所述神经网络包括用于顺序处理数据的多个处理层(800),
其中,为了对所述数据进行下采样,所述多个处理层(800)包括多个插值层(802a至802k),所述多个插值层(802a至802k)中的每个插值层用于通过使用插值根据相应输入数据阵列(201)确定相应输出数据阵列(203)来处理所述数据,所述相应输出数据阵列(203)的空间维度包括的数据点比所述相应输入数据阵列(201)的对应空间维度包括的数据点少。
2.根据权利要求1所述的数据处理装置(100),其特征在于,所述神经网络的所述多个处理层(800)还包括多个卷积层(801a至801l),所述多个插值层(802a至802k)中的每个插值层在所述多个卷积层(801a至801l)中的相应卷积层之后。
3.根据权利要求1或2所述的数据处理装置(100),其特征在于,所述多个插值层(802a至802k)中的每个插值层用于通过使用线性插值、双线性插值、三次插值、区域插值和最近邻插值中的至少一个对所述相应输入数据阵列(201)中的所述数据进行插值,将所述相应输入数据阵列(201)处理成所述相应输出数据阵列(203)。
4.根据上述权利要求中任一项所述的数据处理装置(100),其特征在于,所述多个处理层(800)用于在不使用池化层或卷积层的情况下对所述数据进行下采样。
5.根据上述权利要求中任一项所述的数据处理装置(100),其特征在于,所述多个处理层(800)包括全局平均池化层(805)。
6.根据上述权利要求中任一项所述的数据处理装置(100),其特征在于,所述多个处理层(800)包括全连接层(807)。
7.根据上述权利要求中任一项所述的数据处理装置(100),其特征在于,对于所述多个插值层(802a至802k)中的至少两个插值层,所述相应输入数据阵列(201)的预定空间维度中的数据点数量与所述相应输出数据阵列(203)在所述预定空间维度中的数据点数量之间的差值相等。
8.根据上述权利要求中任一项所述的数据处理装置(100),其特征在于,对于所述多个插值层(802a至802k)中的至少两个插值层,所述相应输入数据阵列(201)的预定空间维度中的数据点数量与所述相应输出数据阵列(201)在所述预定空间维度中的数据点数量之间的比率相等。
10.根据上述权利要求中任一项所述的数据处理装置(100),其特征在于,所述数据包括图像和/或视频数据,所述相应输出数据阵列(203)和所述相应输入数据阵列(201)是二维数据阵列。
11.根据上述权利要求中任一项所述的数据处理装置(100),其特征在于,还包括用于捕获图像和/或视频数据的摄像机(107)。
12.一种数据处理方法(1200),其特征在于,包括:
使用神经网络的多个处理层(800)的多个插值层(802a至802k)对数据进行下采样(1201),
其中,所述多个插值层(802a至802k)中的每个插值层使用插值根据相应输入数据阵列(201)确定相应输出数据阵列(203),所述相应输出数据阵列(203)的空间维度包括的数据点比所述相应输入数据阵列(201)的对应空间维度包括的数据点少。
13.根据权利要求12所述的数据处理方法(1200),其特征在于,所述神经网络的所述多个处理层(800)还包括多个卷积层(801a至801l),所述多个插值层(802a至802k)中的每个插值层在所述多个卷积层(801a至801l)中的相应卷积层之后。
14.根据权利要求12或13所述的数据处理方法(1200),其特征在于,所述数据在不使用池化层或卷积层的情况下被下采样。
15.一种计算机程序产品,其特征在于,包括用于存储程序代码的非瞬时性计算机可读存储介质,当所述程序代码由计算机或处理器执行时,所述计算机或所述处理器执行根据权利要求12至14中任一项所述的方法(1200)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/060186 WO2021204392A1 (en) | 2020-04-09 | 2020-04-09 | Devices and methods for providing computationally efficient neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115398444A true CN115398444A (zh) | 2022-11-25 |
Family
ID=70285686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080099380.2A Pending CN115398444A (zh) | 2020-04-09 | 2020-04-09 | 用于提供计算高效神经网络的设备和方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4115336A1 (zh) |
CN (1) | CN115398444A (zh) |
WO (1) | WO2021204392A1 (zh) |
-
2020
- 2020-04-09 EP EP20718648.7A patent/EP4115336A1/en active Pending
- 2020-04-09 WO PCT/EP2020/060186 patent/WO2021204392A1/en unknown
- 2020-04-09 CN CN202080099380.2A patent/CN115398444A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4115336A1 (en) | 2023-01-11 |
WO2021204392A1 (en) | 2021-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240104378A1 (en) | Dynamic quantization of neural networks | |
KR102631381B1 (ko) | 컨볼루션 신경망 처리 방법 및 장치 | |
Jo et al. | Practical single-image super-resolution using look-up table | |
US20200090030A1 (en) | Integrated circuit for convolution calculation in deep neural network and method thereof | |
KR20210129031A (ko) | 모델 압축 방법, 이미지 처리 방법 및 장치 | |
KR102335955B1 (ko) | 컨볼루션 신경망 시스템 및 그것의 동작 방법 | |
Huang et al. | Aitransfer: Progressive ai-powered transmission for real-time point cloud video streaming | |
CN112639810A (zh) | 人脸关键点定位系统及方法 | |
KR102128789B1 (ko) | 심층 합성곱 뉴럴 네트워크를 위한 효율적인 팽창 합성곱 기법을 제공하는 방법 및 장치 | |
CN114742875A (zh) | 基于多尺度特征提取和自适应聚合的双目立体匹配方法 | |
CN115398444A (zh) | 用于提供计算高效神经网络的设备和方法 | |
CN115543945B (zh) | 一种模型压缩的方法、装置、存储介质及电子设备 | |
CN111985617A (zh) | 3d卷积神经网络在神经网络处理器上的处理方法和装置 | |
CN114897147B (zh) | 骨干网络的生成方法、装置、设备以及存储介质 | |
CN108648136B (zh) | 对二维查找表进行压缩的方法及装置 | |
US10291911B2 (en) | Classes of tables for use in image compression | |
CN115620017A (zh) | 图像的特征提取方法、装置、设备及存储介质 | |
JP2020021208A (ja) | ニューラルネットワーク用プロセッサ、ニューラルネットワーク用処理方法、および、プログラム | |
KR102494565B1 (ko) | 콘볼루션 신경망의 하드웨어 구조 최적화 방법 | |
WO2023165290A1 (zh) | 数据处理方法及装置、电子设备和存储介质 | |
WO2023169319A1 (zh) | 一种特征图编码、特征图解码方法及装置 | |
CN114581676B (zh) | 特征图像的处理方法、装置和存储介质 | |
WO2023274191A1 (zh) | 特征图的处理方法和相关设备 | |
US20220044370A1 (en) | Image processing methods | |
EP4120142A1 (en) | Implementation of argmax or argmin in hardware |
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 |