System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种硬件感知神经网络设计制造技术_技高网

一种硬件感知神经网络设计制造技术

技术编号:40106830 阅读:16 留言:0更新日期:2024-01-23 18:33
本发明专利技术涉及对适合于在某些硬件上实现的架构的搜索的改进。通过确定具有一个或多个块的架构的搜索空间,改进了搜索空间的设计。确定所述搜索空间是基于包括矩阵运算量和/或层输入数据量和/或层输出数据量或矢量运算量的度量的。在所述确定的搜索空间中搜索所述一个或多个架构包括特定扩展,所述特定扩展是基于所述架构块的测量后的时延和与时延有关的预定义标准的。

【技术实现步骤摘要】
【国外来华专利技术】


技术介绍

1、近年来,深度学习在计算机视觉(例如,物体检测、分割和人脸识别)、自然语言处理和语音识别等许多实际问题上取得了重大突破。多年来,主要研究目标是提高模型的质量,即使模型大小和时延高得不切实际。然而,对于通常需要实时运算的生产方案,模型的时延起着非常重要的作用。

2、因此,希望提供可以在硬件上高效进行运算(特别是在时延方面)的神经网络架构。


技术实现思路

1、本申请提供了改进神经网络架构的搜索的方法和装置。在一些实施例中,该搜索考虑了用于实现神经网络处理的硬件。

2、上述和其它目的通过独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。

3、特定实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。

4、根据第一方面,提供了一种用于搜索一个或多个神经网络(neural network,nn)架构的方法。该方法可以由包括一个或多个处理器的装置或系统执行。该方法包括:确定包括包含一个或多个块的多个架构的搜索空间,其中,块由一个或多个nn层形成,并且所述确定是基于度量的。所述度量包括(例如,包括以下量的项):矩阵运算量,和/或i)层输入数据量和/或层输出数据量和ii)矢量运算量中的一个;在所述确定的搜索空间中搜索所述一个或多个nn架构。

5、使用该度量使得能够考虑关于执行矢量运算、数据传输和/或矩阵运算的硬件约束。因此,可以减少架构的搜索空间,同时仍然包括可能提供期望的性能的候选架构。

6、例如,所述度量包括所述矩阵运算量与所述层输入数据量和/或层输出数据量的比率。

7、这种度量可以特别适用于高效实现矩阵运算但不适用于矢量运算和数据传输的架构。

8、例如,所述一个或多个块的度量是以下项或者包括以下项:

9、

10、其中,m(oi)表示运算oi的矩阵运算量,d(oi)表示所述运算oi的层输入数据量和层输出数据量,wm和wd是预定义的权重因子,i是整数索引,n是所述一个或多个块中的运算次数。

11、这种示例性度量是上述比率的详细示例,并且也可以特别适用于高效实现矩阵运算但不适用于矢量运算和数据传输的架构。

12、例如,所述度量包括所述矩阵运算量与所述矢量运算量的比率。

13、用矢量运算代替数据传输可以提供更准确的效率评估。

14、在一种实现方式中,所述确定所述搜索空间还包括应用以下约束中的一个或多个约束:

15、a)每个架构包括由预定义的最大级数限制的多个级,其中,每个级包括一组有限块中的一个或多个块,每个级中的块数由预定义的最大块数限制;

16、b)每个块包括一组预定义的卷积层中的具有相互不同的卷积核大小的一个或多个卷积层,其中,每个卷积层之后是归一化和/或激活;

17、c)所述激活是整流线性单元(rectified linear unit,relu),所述归一化是批量归一化;

18、d)所述块的输出可配置为包括或不包括跳过连接;

19、e)每个级中的一个或多个块增加了通道的数量;

20、f)级中的第一块在其第一非身份层中的步幅为2或以上,并且没有跳过连接。

21、事实证明,这组约束对于确定搜索空间是高效的。约束a)提供了可扩展的架构,该架构可以通过添加块来轻松扩展。这使得可以更轻松地搜索适合目标计算机视觉任务的架构。约束b)提供了可能特别适合处理图像或具有类似特征的其它数据的层。提供能够在架构的时延/复杂度与其准确度之间找到最佳权衡的层的组合。约束c)提高了效率,因为relu比其它激活函数更适合硬件。另一方面,批量归一化可以与卷积运算高效融合。约束d)能够提供跳过连接,这可以提高nn在准确度方面的性能。该约束能够在准确度和时延/复杂度之间实现灵活的权衡。约束e)是特别有利于图像处理的特征。该约束能够在准确度和时延/复杂度之间实现灵活的权衡。约束f)为不同的计算机视觉任务更快地减少数据并且提供了架构的可扩展性。

22、在一种实现方式中,所述确定所述搜索空间包括选择搜索空间的设计,其中,所述搜索空间的设计对nn架构内的块的组成或顺序具有一个或多个约束;所述搜索空间的设计是基于针对与所述搜索空间的设计有关的多个架构计算的所述度量的函数而从一组搜索空间的设计中选择的。

23、采用通过约束集设计搜索空间的度量,能够找到约束集,这些约束集可以产生合适的搜索空间,从而进一步产生高效的架构。

24、在一种实现方式中,所述搜索所述一个或多个nn架构包括执行k次以下步骤,其中,k为正整数:从所述搜索空间伪随机选择第一组候选架构;通过从所述第一组候选中移除那些不满足包括时延和/或准确度的预定义条件的候选架构,来获得第二组候选架构;训练所述第二组中的每个候选架构,并确定所述经训练的候选架构的质量和时延。

25、通过期望的时延和准确度对搜索空间的架构进行预过滤,可以进一步减少训练网络以进行评估的工作量,同时仍保持最有希望的架构。

26、在一种实现方式中,所述搜索所述一个或多个nn架构包括:根据所述第二组中的所述候选架构的所述确定后的质量和时延,从所述第二组中选择第三组候选架构;将扩展过程应用于所述第三组中的每个所述候选架构,从而产生第四组扩展后的候选架构;训练所述第四组中的每个扩展后的候选架构;评估所述第四组中的每个经训练的扩展架构的质量和/或时延;基于所述评估,从所述第四组中的所述经训练的扩展候选架构中选择第五组架构,作为所述搜索步骤的结果。

27、这种搜索进一步减少和改善了应该评估的架构,从而选择最有希望的架构。基于被评估为具有期望的性能的架构,扩展可以进一步生成具有更高准确度的架构。通过这种方式,搜索空间大小保持较低,同时仍然提供强大的更大架构。

28、在一种实现方式中,所述第三组中的候选架构a的所述扩展过程包括执行一次或多次:在期望的目标设备上执行所述架构a,以测量所述架构a的相应块的时延;根据所述测量后的时延确定候选扩展架构的子集,包括所述架构a的所述块,其中,所述子集包括那些具有在预定范围内的时延的候选扩展架构;训练所述子集的所述候选扩展架构;在所述子集的所述经训练的候选扩展架构中选择一个或多个最佳训练的扩展架构,并基于推理准确度将所述最佳训练的扩展架构包括到所述第四组中。

29、这种扩展直接考虑了硬件性能,因此进一步将搜索限制在最适合训练任务的架构以及期望的硬件上。

30、例如,所述确定所述候选扩展架构的子集的步骤包括:在可能的扩展架构中选择多个扩展架构,其中,所述多个扩展架构:在至少一个级中包括所述架构a的每个块;每个块的块时延乘以所述块所处的级数的总和在所述预定范围内。

31、通过这种方式,块时延的测量用于评估扩展架构的时延。这种评估具有高准确度和低复杂度,因为不需要为每个评估的扩展架构重复测量。...

【技术保护点】

1.一种用于搜索一个或多个神经网络(neural network,NN)架构的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述度量包括所述矩阵运算量与所述层输入数据量和/或层输出数据量的比率。

3.根据权利要求2所述的方法,其特征在于,所述一个或多个块的度量是以下项或者包括以下项:

4.根据权利要求1所述的方法,其特征在于,所述度量包括所述矩阵运算量与所述矢量运算量的比率。

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述确定(120)所述搜索空间还包括应用以下约束中的一个或多个约束:

6.根据权利要求1至5中任一项所述的方法,其特征在于,

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述搜索(130)所述一个或多个NN架构包括执行K次以下步骤,其中,K为正整数:

8.根据权利要求7所述的方法,其特征在于,所述搜索(130、140)所述一个或多个NN架构包括:

9.根据权利要求8所述的方法,其特征在于,所述第三组中的候选架构A的所述扩展过程(360)包括执行一次或多次:

10.根据权利要求9所述的方法,其特征在于,所述确定(860)所述候选扩展架构的子集的步骤包括:

11.根据权利要求9或10所述的方法,其特征在于,所述预定范围由期望的目标时延和时延误差容限给出,所述时延误差容限指定扩展架构的时延能够偏离所述期望的目标时延的程度。

12.根据权利要求9至11中任一项所述的方法,其特征在于,所述应用扩展过程(360)迭代执行多次。

13.根据权利要求1至12中任一项所述的方法,其特征在于,还包括

14.一种用于扩展神经网络架构A的方法,其特征在于,所述方法包括:

15.根据权利要求14所述的方法,其特征在于,所述确定(860)所述候选扩展架构的子集的步骤包括:

16.根据权利要求14或15所述的方法,其特征在于,所述预定范围由期望的目标时延和时延误差容限给出,所述时延误差容限指定扩展架构的时延能够偏离所述期望的目标时延的程度。

17.根据权利要求14至16中任一项所述的方法,其特征在于,所述应用扩展过程(360)迭代执行多次。

18.根据权利要求14至17中任一项所述的方法,其特征在于,还包括在所述目标设备上使用所述一个或多个最佳训练的扩展架构。

19.一种计算机程序,其特征在于,所述计算机程序存储在非瞬时性介质(504)上并且包括代码指令(510),当在一个或多个处理器(502)上执行时,所述代码指令使得所述一个或多个处理器执行根据权利要求1至18中任一项所述的方法。

20.一种用于搜索一个或多个神经网络(neural network,NN)架构的装置,其特征在于,所述装置(500)包括处理电路(502),其中,所述处理电路用于(510):

21.一种用于扩展神经网络架构A的装置,其特征在于,所述装置(500)包括处理电路(502),其中,所述处理电路用于(510):

...

【技术特征摘要】
【国外来华专利技术】

1.一种用于搜索一个或多个神经网络(neural network,nn)架构的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述度量包括所述矩阵运算量与所述层输入数据量和/或层输出数据量的比率。

3.根据权利要求2所述的方法,其特征在于,所述一个或多个块的度量是以下项或者包括以下项:

4.根据权利要求1所述的方法,其特征在于,所述度量包括所述矩阵运算量与所述矢量运算量的比率。

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述确定(120)所述搜索空间还包括应用以下约束中的一个或多个约束:

6.根据权利要求1至5中任一项所述的方法,其特征在于,

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述搜索(130)所述一个或多个nn架构包括执行k次以下步骤,其中,k为正整数:

8.根据权利要求7所述的方法,其特征在于,所述搜索(130、140)所述一个或多个nn架构包括:

9.根据权利要求8所述的方法,其特征在于,所述第三组中的候选架构a的所述扩展过程(360)包括执行一次或多次:

10.根据权利要求9所述的方法,其特征在于,所述确定(860)所述候选扩展架构的子集的步骤包括:

11.根据权利要求9或10所述的方法,其特征在于,所述预定范围由期望的目标时延和时延误差容限给出,所述时延误差容限指定扩展架构的时延能够偏离所述期望的目标时延的程度。

12.根据权利要求...

【专利技术属性】
技术研发人员:阿列克谢·亚历山大罗维奇·莱图诺夫斯基弗拉基米尔·谢尔盖耶维奇·波洛夫尼科夫弗拉基米尔·彼得罗维奇·科尔维亚科夫伊万·列昂尼多维奇·马祖连科熊业攀
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1