System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 在线选择神经网络的网络参数的数字格式的方法和系统技术方案_技高网

在线选择神经网络的网络参数的数字格式的方法和系统技术方案

技术编号:40900774 阅读:3 留言:0更新日期:2024-04-18 11:18
本申请涉及在线选择神经网络的网络参数的数字格式的方法和系统。用于在线选择针对神经网络的网络参数的数字格式的方法和神经网络加速器。神经网络加速器包括:至少一个网络处理硬件单元,其接收针对神经网络的层的网络参数,并且根据神经网络对网络参数执行神经网络运算;统计数据收集硬件单元,其当神经网络加速器执行神经网络的传递过程时,收集关于针对层的第一组网络参数的一个或多个统计数据;以及格式转换硬件单元,其将第二组网络参数转换为基于统计数据选择的数字格式,第二组网络参数包括(i)第一组网络参数和/或针对层的另一组网络参数,或者(ii)对应于第一组网络参数的针对神经网络的后一传递过程的一组网络参数。

【技术实现步骤摘要】

本申请涉及用于在线选择针对神经网络的网络参数的数字格式的方法和神经网络加速器。


技术介绍

1、人工神经网络(ann)包括可用于机器学习应用的一个或多个互连层。具体地,ann可用于信号处理应用程序中,该信号处理应用程序包括但不限于图像处理应用程序和计算机视觉应用程序。图1示出了包括多个层(例如,第一层102、第二层104、第三层106)的示例ann 100。每一层(例如,第一层102、第二层104、第三层106)接收输入数据,并且根据层来处理输入数据以产生输出数据。输出数据作为输入数据被提供给另一层,或者作为ann的最终输出数据被输出。例如,在图1的ann 100中,第一层102接收到针对ann 100的原始输入数据108,并且根据第一层102来处理输入数据以产生输出数据110。第一层102的输出数据110成为第二层104的输入数据,并且第二层104根据第二层104处理输入数据(例如,第一层102的输出数据110)以产生输出数据112。第二层104的输出数据112成为第三层106的输入数据,并且第三层106根据第三层106处理输入数据112以产生输出数据114。然后,第三层106的输出数据114作为ann的最终输出数据输出。在ann用于分类的情况下,最终输出数据可以是长度向量a,其中a是类别的数量,并且向量中的每个值表示某个类别的概率。

2、输入到ann的层以及从该层输出的数据200可以被描述为张量。如本领域技术人员所已知,张量是向量和矩阵的统称,并且可以被视为n维阵列。向量是一维张量,并且矩阵是二维张量。ann中的张量通常但不一定是四维的。参考图2,该图示出了示例四维(4d)张量200,其中为了可视化目的,已经抑制了一个维度(例如对应于批次大小)。4d张量200可以被描述为包括一个或多个3d张量,该一个或多个3d张量包括cin个数据平面,其中每个平面具有维度wxh。每个平面可以被称为张量的通道。3d张量的数量可以称为批次大小。每个3d张量可以是例如图像。张量的元素可以被称为张素(tensel),类似于图片的元素被称为像素。

3、对层的输入数据执行的处理取决于层的类型。例如,ann的每个层可以是多种不同类型中的一种类型。示例ann层类型包括但不限于:卷积层、激活层、归一化层、池化层和全连接层。对于本领域技术人员将显而易见的是,这些是示例ann层类型,并且这不是详尽的列表,并且可存在其它ann层类型。

4、对于卷积层,将输入数据与与所述层相关联的权重进行卷积。具体地,每个卷积层与多个权重k1…kg相关联,所述多个权重还可以被称为滤波器权重或系数。权重被分组以形成一个或多个滤波器或内核,并且每个滤波器可以与偏移量偏差bias相关联。每个滤波器可以具有维度kw×kh×cin(即,每个滤波器可以包括一组kw×kh×cin个权重k),并且可以根据在w方向和h方向上跨步sw和步sh的卷积运算而被应用于输入数据,如图2中所示出。步长sw和sh可以被称为卷积的步幅。滤波器的数量和维度以及/或者每个滤波器的权重的数量可以在卷积层之间变化。卷积神经网络(cnn)是一种有效的图像识别和分类方法,它是ann的一种特殊类型,一般包括多个卷积层。

5、通常但不一定在卷积层之后的激活层将一个或多个激活函数应用于到层的输入数据。激活函数接收输入张量,并对输入张量中的每个值或元素执行特定的非线性数学运算。换句话说,激活函数分别对输入张量中的每个值或元素进行运算。在一些示例中,激活层可以通过实现relu函数而充当整流线性单元(relu),或者可以通过实现lrelu函数而充当渗漏整流线性单元(lrelu)。

6、归一化层被配置成对输入数据执行归一化函数,诸如局部响应归一化(lrn)函数。池化层执行池化函数,诸如max、min或average函数,以汇总输入数据的子集。因此,池化层的目的是减小表示的空间大小,以减少网络中参数和计算的数量,并且因此还控制过度拟合。

7、通常但不一定遵循多个卷积和池化层的全连接层获取输入数据值的二维张量(例如具有批次大小维度和通道维度的张量),并且输出二维张量(例如具有批次大小维度和通道维度的张量)。在ann用于分类的情况下,输出可以具有a个通道,其中a是类别的数量,并且张量中的每个值可以表示某个类别的概率。输出张量通过一组权重的矩阵乘法来生成,可选地随后为偏差偏移量。因此,全连接层接收一组权重,并且可以接收偏差。

8、因此,ann的每一层接收输入数据值(例如,输入张量)并生成输出数据值(例如,输出张量);并且一些层(诸如但不限于卷积层和全连接层)也接收权重和/或偏差。ann层的输入数据值、输出数据值、权重和偏差可以统称为ann的网络参数。

9、就计算、带宽和功率而言,执行ann的前向和后向传递过程通常是昂贵的。因此,已经开发出神经网络加速器(nna),该神经网络加速器允许以有效方式(例如以需要较小硅面积或较少处理能力的方式)来实现可被简称为神经网络的ann。

10、对于将处理一组值的nna,每个值以数字格式表示。两种常见的数字格式是定点数格式和浮点数格式。如本领域的技术人员所知,定点数格式在基数点(例如,小数点或二进制点)之后具有固定数量的数位。相反,浮点数格式没有固定的基数点(即,可以“浮动”)。换句话说,基数点可以被放置在数字内的多个位置中。虽然以浮点数格式表示ann的网络参数可以允许产生更准确或精确的输出数据,但与以其他格式(诸如但不限于定点数格式)处理网络参数的硬件相比,在硬件中以浮点数格式处理网络参数是复杂的,这往往会增加硅面积、功耗、存储器和带宽消耗以及硬件的复杂度。因此,nna可以被配置成以另一格式(诸如定点数格式)来表示ann的网络参数中的至少一些网络参数,以减小面积、功耗、存储器和带宽消耗以及硬件逻辑的复杂度。

11、一般来说,用于表示ann的网络参数(例如输入数据值、权重、偏差和输出数据值)的位越少,ann在硬件中实现的效率越高。然而,通常,用于表示ann的网络参数(例如输入数据值、权重、偏差和输出数据值)的位越少,ann就变得越不准确。因此,希望标识用于表示ann的网络参数的数字格式,该数字格式将用于表示网络参数的位的数量和ann的准确度平衡。

12、下文描述的实施方案仅借助于示例来提供,并且不对解决用于标识用于表示ann的网络参数的数字格式的方法和系统的任何或所有缺点的具体实现进行限制。


技术实现思路

1、提供本
技术实现思路
是为了以简化形式介绍下文在具体实施方式中进一步描述的一系列概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用以限制所要求保护的主题的范围。

2、本文中描述了用于在线选择针对神经网络的网络参数的数字格式的方法和神经网络加速器。所述神经网络加速器包括:至少一个网络处理硬件单元,所述至少一个网络处理硬件单元被配置成接收针对神经网络的层的网络参数,并且根据神经网络对所接收到的网络参数执行一个或多个神经网络运算;统计数据收集本文档来自技高网...

【技术保护点】

1.一种动态选择针对神经网络的一组网络参数的数字格式的方法,所述方法包括:

2.一种神经网络加速器,包括:

3.如权利要求2所述的神经网络加速器,其中所述神经网络加速器被配置成向耦合到所述神经网络加速器的外部单元提供所收集的一个或多个统计数据,所述外部单元被配置成根据格式选择算法基于所收集的一个或多个统计数据来选择所述数字格式。

4.如权利要求2所述的神经网络加速器,还包括格式选择硬件单元,所述格式选择硬件单元被配置成根据格式选择算法基于所收集的一个或多个统计数据来选择所述数字格式。

5.如权利要求2至4中任一项所述的神经网络加速器,其中所述第一组网络参数包括针对所述层的相同类型的所有网络参数,并且所述第二组网络参数包括对应于所述第一组网络参数的针对所述神经网络的后一传递过程的一组网络参数。

6.如权利要求2至4中任一项所述的神经网络加速器,其中所述神经网络加速器被配置成在所述神经网络加速器的多次硬件传递过程中执行所述神经网络的传递过程,其中对于每次硬件传递过程,所述神经网络加速器接收对应于针对所述神经网络的层的输入数据的全部或一部分的一组输入数据,并且至少根据所述神经网络的针对所述神经网络的所述传递过程的所述层来处理所述一组输入数据。

7.如权利要求6所述的神经网络加速器,其中所述第一组网络参数包括针对所述神经网络的所述传递过程在所述神经网络加速器的硬件传递过程中的针对层的特定类型的所有所述网络参数。

8.如权利要求7所述的神经网络加速器,其中所述第二组网络参数包括针对所述神经网络的所述传递过程在所述神经网络加速器的另一硬件传递过程中的针对所述层的所述特定类型的所有所述网络参数,以及/或者所述第一组网络参数。

9.如权利要求7所述的神经网络加速器,其中所述第二组网络参数包括所述神经网络加速器的硬件传递过程中对应于所述第一组网络参数的针对所述神经网络的后一传递过程的所述网络参数。

10.如权利要求6所述的神经网络加速器,其中所述第一组网络参数包括针对所述神经网络的所述传递过程在所述神经网络加速器的硬件传递过程中的针对所述层的特定类型的所述网络参数的子集。

11.如权利要求10所述的神经网络加速器,其中所述第二组网络参数包括针对所述神经网络的所述传递过程在所述神经网络加速器的所述硬件传递过程中的针对所述层的所述特定类型的所述网络参数的另一子集,以及/或者所述第一组网络参数。

12.如权利要求10所述的神经网络加速器,其中所述第二组网络参数包括所述神经网络加速器的硬件传递过程中对应于所述第一组网络参数的针对所述神经网络的后一传递过程的所述网络参数。

13.如权利要求2至4中任一项所述的神经网络加速器,其中:

14.如权利要求2至4中任一项所述的神经网络加速器,其中:

15.如权利要求2至4中任一项所述的神经网络加速器,还包括:

16.如权利要求2至4中任一项所述的神经网络加速器,其中所述神经网络的所述传递过程和所述神经网络的所述后一传递过程是所述神经网络的前向传递过程;或者

17.一种计算机系统,包括:

18.如权利要求17所述的计算机系统,其中所述外部单元是控制所述神经网络加速器的运算的中央处理单元。

19.如权利要求17所述的计算机系统,其中所述外部单元与控制所述神经网络加速器的所述运算的中央处理单元不同。

20.一种计算机可读存储介质,其上存储有如权利要求2至16中任一项所述的神经网络加速器的计算机可读描述,当在集成电路制造系统中被处理时,所述计算机可读描述使得所述集成电路制造系统制造体现所述神经网络加速器的集成电路。

...

【技术特征摘要】

1.一种动态选择针对神经网络的一组网络参数的数字格式的方法,所述方法包括:

2.一种神经网络加速器,包括:

3.如权利要求2所述的神经网络加速器,其中所述神经网络加速器被配置成向耦合到所述神经网络加速器的外部单元提供所收集的一个或多个统计数据,所述外部单元被配置成根据格式选择算法基于所收集的一个或多个统计数据来选择所述数字格式。

4.如权利要求2所述的神经网络加速器,还包括格式选择硬件单元,所述格式选择硬件单元被配置成根据格式选择算法基于所收集的一个或多个统计数据来选择所述数字格式。

5.如权利要求2至4中任一项所述的神经网络加速器,其中所述第一组网络参数包括针对所述层的相同类型的所有网络参数,并且所述第二组网络参数包括对应于所述第一组网络参数的针对所述神经网络的后一传递过程的一组网络参数。

6.如权利要求2至4中任一项所述的神经网络加速器,其中所述神经网络加速器被配置成在所述神经网络加速器的多次硬件传递过程中执行所述神经网络的传递过程,其中对于每次硬件传递过程,所述神经网络加速器接收对应于针对所述神经网络的层的输入数据的全部或一部分的一组输入数据,并且至少根据所述神经网络的针对所述神经网络的所述传递过程的所述层来处理所述一组输入数据。

7.如权利要求6所述的神经网络加速器,其中所述第一组网络参数包括针对所述神经网络的所述传递过程在所述神经网络加速器的硬件传递过程中的针对层的特定类型的所有所述网络参数。

8.如权利要求7所述的神经网络加速器,其中所述第二组网络参数包括针对所述神经网络的所述传递过程在所述神经网络加速器的另一硬件传递过程中的针对所述层的所述特定类型的所有所述网络参数,以及/或者所述第一组网络参数。

9.如权利要求7所述的神经网络加速器,其中所述第二组网络参数包括所述神...

【专利技术属性】
技术研发人员:J·伊姆伯S·塞法尔瓦伊B·乔杜里C·迪基奇T·阿瑟顿
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:

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

1