用于适配神经网络的参数的方法和装置制造方法及图纸

技术编号:17139240 阅读:14 留言:0更新日期:2018-01-27 14:58
公开了一种用于适配神经网络的参数的方法和装置。该方法包括:针对神经网络的至少一层中的每一层的权重参数,选择一个或多个维度;确定权重参数在每个维度上的维度值和对应的目标值;以及如果权重参数在至少一个维度上的维度值小于对应的目标值,则对权重参数进行填充,使得填充后的权重参数在每个维度上的维度值等于对应的目标值。通过该方法能够获得具有规范形式的神经网络参数,有利于简化神经网络及相关硬件的设计和实现。

Methods and devices used to fit the parameters of the adaptive neural network

A method and device for adapting the parameters of an adaptive neural network is disclosed. The method includes: for each layer of the weight parameter of at least one layer in a neural network, select one or more dimensions; determine the dimensions of the weight parameter in each dimension values and the corresponding target value; and if the dimension of the weight parameter in at least one dimension value is less than the target value. The weight parameters are filled, making the weight parameters after filling in each dimension on the dimension of value equal to the corresponding target value. Through this method, the parameter of neural network with standard form can be obtained, which is beneficial to simplifying the design and implementation of neural network and related hardware.

【技术实现步骤摘要】
用于适配神经网络的参数的方法和装置
本申请总体上涉及人工神经网络的
,并且具体地涉及用于适配人工神经网络的参数的方法和装置。
技术介绍
人工神经网络(在本文中简称为神经网络)是一种模仿生物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,达到处理信息的目的。在通常的神经网络中,一个或多个神经元被联结在一起,并形成一种多层结构。每层中的每个神经元针对该层的每个特征数据(也可以被称为输入数据或特征图),使用对应的一个或多个权重参数,基于特定的激活函数执行运算,以获得激活值,作为神经网络的输出结果或者下一层的特征数据。针对不同的应用场景,往往需要设计不同的神经网络架构,并且需要在某一类型的计算架构上使用一系列的运算来实现。因此,期望能够高效地表示神经网络,并且能够通过较低的硬件成本高效地实现神经网络中的运算,或者能够通过模拟的方式将神经网络中的运算高效地映射到计算架构所支持的运算中。
技术实现思路
一方面,本申请提供一种用于适配神经网络的参数的方法,该方法包括:针对神经网络的至少一层中的每一层的权重参数,选择一个或多个维度;确定该权重参数在每个维度上的维度值和对应的目标值;以及如果权重参数在至少一个维度上的维度值小于对应的目标值,则在至少一个维度上对权重参数进行填充,使得在填充之后所获得的权重参数在每个维度上的维度值等于对应的目标值。另一方面,本申请还提供一种用于适配神经网络的参数的装置,其包括被配置为执行用于上述方法的一个或多个处理器。另一方面,本申请还提供一种用于适配神经网络的参数的装置,其包括:检测器,被配置为针对神经网络的至少一层中的每一层的权重参数所选择的一个或多个维度,确定权重参数在每个维度上的维度值和对应的目标值;以及填充器,被配置为在权重参数在至少一个维度上的维度值小于对应的目标值的情况下,在至少一个维度上对权重参数进行填充,使得在填充之后所获得的权重参数在每个维度上的维度值等于对应的目标值。另外,本申请还提供一种非临时性存储介质,在其上存储有用于执行上述方法的程序指令。通过根据本申请的示例的方法和装置,能够获得具有规范形式的神经网络参数,有利于简化神经网络及相关硬件的设计和实现。附图说明在下文中将结合附图来描述根据本申请的示例,附图中:图1示出根据本申请的实施例的用于对神经网络的参数进行适配的示例方法;图2示出根据本申请的实施例的权利参数和特征数据的维度的示例;图3示出根据本申请的实施例的在数量的维度上对权重参数进行填充的示例;图4示出根据本申请的实施例的在宽度和/或高度的维度上对权重参数进行填充的示例;图5示出根据本申请的实施例的在宽度和/或高度的维度上对权重参数进行填充的示例;图6示出根据本申请的实施例的在宽度和/或高度的维度上对权重参数进行填充的示例;图7示出根据本申请的实施例的在深度的维度上对权重参数进行填充的示例;图8示出根据本申请的实施例的用于对神经网络的参数进行适配的示例装置的框图;以及图9示出根据本申请的实施例的用于对神经网络的参数进行适配的示例装置的框图。具体实施方式基于不同的应用背景和处理目标,神经网络的不同层的特征数据和/或权重参数可能具有不同的形式和/或数量。在本文中,取决于神经网络的类型以及神经网络的层中的关键运算,权重参数包括与该层的关键运算相关联的关键参数。例如,对于卷积神经网络的卷积层而言,关键运算可以是卷积运算,并且权重参数可以包括一个或多个卷积核。根据所关注的运算以及权重参数的类型和/或观察角度或所关注的特征,可以确定或选择权重参数的一个或多个维度。例如,如果相应的权重参数是一个或多个数值,则权重参数至少可以具有数量这样的维度;如果相应的权重参数是一个或多个一维数据(例如,包括一个或多个数值的一维数组),则权重参数至少可以具有宽度(例如,一维数组中的数据的数量)和数量(例如,一维数组的数量)这样的维度;如果相应的权重参数是一个或多个二维数据(例如矩阵),则权重参数至少可以具有宽度(例如矩阵的列数)、高度(例如矩阵的行数)和数量这样的维度;如果相应的权重参数是一个或多个三维数据(例如立方体),则权重参数至少可以具有宽度、高度、深度和数量这样的维度。类似地,每层的特征数据也可以具有一个或多个维度(例如,宽度、高度、深度和数量)。应当理解,根据需要,对于神经网络的某个层的特征数据和/或权重参数,可以考虑其他类型和数量的维度,而不局限于上述示例。例如出于设计复杂度和成本等方面的考虑,用于支持神经网络中的运算的硬件(例如专用加速器、累加器、与累加器之间的连线布置等)可能只能够直接处理具有某些形式和/或数量的权重参数和/或特征数据,或者可能只有在某些形式和/或数量的权重参数和/或特征数据的情况下才能够具有相对良好的处理性能。因此,对特征数据和/或权重参数进行填充以获得具有某些规范的形式和/或数量的特征数据和/或权重参数,至少对于简化硬件设计、节约成本、提高处理效率等方面而言是有利的。图1示出根据本申请的实施例的用于适配神经网络的参数的示例方法100。如图1所示,针对神经网络的至少一层中的未处理的一层的权重参数,在步骤110中,选择一个或多个维度。在步骤120中,确定该权重参数在所选择的一个或多个维度中的每个维度上的维度值和对应的目标值。在步骤130中,针对每个维度,比较该权重参数在该维度上的维度值和对应的目标值。如果该权重参数在至少一个维度上的维度值小于对应目标值,则方法100继续到步骤140。否则,方法100返回到步骤110,并继续处理下一个未处理层的权重参数。在步骤140中,在基于步骤130中的比较结果所确定的每个维度上,对该权重参数进行填充,使得在填充之后所获得的权重参数在所选择的一个或多个维度中的每个维度上的维度值均等于对应的目标值。然后,方法100返回到步骤110,以继续处理下一个未处理层的权重参数。在下文中以卷积神经网络为例,更详细地描述根据本申请的实施例的方法。应当理解,本申请的原理并不局限于卷积神经网络,而是可以适用于其他类型的神经网络。图2示出卷积神经网络中的特征数据和权重参数的维度的示例。如图2所示,特征数据可以至少具有宽度、高度、深度(或通道数)和数量(未示出)这样的维度。如图2所示,权重参数可以是具有相同形状和大小的一个或多个卷积核,并且可以至少具有宽度(每个卷积核的宽度)、高度(每个卷积核的高度)、深度(每个卷积核的深度或通道数)和数量(卷积核的个数)这样的维度。对于图2所示的权重参数的示例,例如,示例方法100可以在步骤110中选择宽度、高度、深度和数量中的一个或多个,作为要进一步处理的维度。根据一个实施例,例如在示例方法100的步骤110中所选择的一个或多个维度中的部分或全部维度的对应的目标值可以独立地确定。例如,在支持神经网络的乘加运算的硬件电路中,可以包括一组或多组乘法器和加法器的布置,每组乘法器和加法器的布置中可以包括一个或多个乘法器以及一个或多个加法器。基于每组乘法器和加法器的布置,确定在权重参数的深度值为A时,乘法器和加法器的使用率最高(或相对较高),并且例如可以省去选择/使能电器的设计/布置,则可以将权重参数在深度上的目标值确定为A的某本文档来自技高网...
用于适配神经网络的参数的方法和装置

【技术保护点】
一种用于适配神经网络的参数的方法,包括:针对神经网络的至少一层中的每一层的权重参数,选择一个或多个维度;确定所述权重参数在所述一个或多个维度中的每个维度上的维度值和对应的目标值;以及如果所述权重参数在所述一个或多个维度中的至少一个维度上的维度值小于对应的目标值,则在所述至少一个维度上对所述权重参数进行填充,使得在填充之后所获得的权重参数在所述一个或多个维度中的每个维度上的维度值等于对应的目标值。

【技术特征摘要】
1.一种用于适配神经网络的参数的方法,包括:针对神经网络的至少一层中的每一层的权重参数,选择一个或多个维度;确定所述权重参数在所述一个或多个维度中的每个维度上的维度值和对应的目标值;以及如果所述权重参数在所述一个或多个维度中的至少一个维度上的维度值小于对应的目标值,则在所述至少一个维度上对所述权重参数进行填充,使得在填充之后所获得的权重参数在所述一个或多个维度中的每个维度上的维度值等于对应的目标值。2.根据权利要求1所述的方法,其中,所述一个或多个维度包括宽度、高度、深度和数量中的至少一个。3.根据权利要求1所述的方法,其中,所述一个或多个维度包括第一维度,并且所述权重参数在所述第一维度上的对应的目标值是基于与所述第一维度相关联的候选值的集合的子集所确定的,所述子集中的每个候选值大于或等于所述权重参数在所述第一维度上的维度值。4.根据权利要求3所述的方法,其中,所述权重参数在所述第一维度上的对应的目标值是所述子集中的最小的候选值。5.根据权利要求3所述的方法,其中,所述第一维度包括深度或数量,并且所述集合包括第一参数和第二参数的一个或多个公倍数,所述第一参数和所述第二参数是基于硬件参数所预先确定的。6.根据权利要求1所述的方法,其中,所述一个或多个维度包括第一维度和至少一个第二维度,并且所述权重参数在所述第一维度和所述至少一个第二维度上的对应的目标值是基于候选值数组的集合的子集所确定的,所述集合中的每个候选值数组包括与所述第一维度相对应的第一候选值以及分别与所述至少一个第二维度相对应的至少一个第二候选值,并且所述子集中的每个候选值数组中的每个候选值分别大于或等于所述权重参数在对应的维度上的维度值。7.根据权利要求6所述的方法,其中,所述权重参数在所述第一维度上的对应的目标值是基于所述子集所确定的最小的第一候选值。8.根据权利要求6所述的方法,其中,所述权重参数在所述第一维度以及所述至少一个第二维度上的对应的目标值分别是所述子集中的第一候选值数组中的对应的候选值,所述第一候选值数组中的所有候选值的乘积小于所述子集中的任何其他候选值数组中的所有候选值的乘积。9.根据权利要求6所述的方法,其中,所述第一维度包括宽度或高度或深度,并且对于基于硬件参数所预先确定的、所述权重参数在所述第一维度与所述至少一个第二维度上的对应的目标值的每种组合,所述集合包括一个或多个对应的候选值数组。10.根据权利要求1所述的方法,还包括:针对所述至少一个维度中的每个维度,确定与该维度相对应的...

【专利技术属性】
技术研发人员:凌坤陈亮李建军李德林黄畅
申请(专利权)人:北京地平线信息技术有限公司
类型:发明
国别省市:北京,11

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

1