用于基于网络灵敏度和量化误差选择深度神经网络的数字格式的方法和系统技术方案

技术编号:31501723 阅读:18 留言:0更新日期:2021-12-22 23:19
本发明专利技术涉及用于基于网络灵敏度和量化误差选择深度神经网络的数字格式的方法和系统。所述方法包括:确定所述DNN相对于所述一组网络参数中的每一个网络参数的灵敏度;针对多个候选数字格式中的每一个候选数字格式:根据所述候选数字格式确定与对所述一组网络参数中的每一个网络参数进行量化相关联的量化误差;基于所述灵敏度和所述量化误差生成由所述一组网络参数的量化引起的所述DNN的输出中的误差的估计;基于所述估计的误差生成局部误差;并且选择所述多个候选数字格式中局部误差最小的候选数字格式作为所述一组网络参数的所述数字格式。述数字格式。述数字格式。

【技术实现步骤摘要】
用于基于网络灵敏度和量化误差选择深度神经网络的数字格式的方法和系统


[0001]本申请涉及用于选择表示深度神经网络(DNN)的网络参数的数字格式的方法和系统。

技术介绍

[0002]深度神经网络(DNN)是人工神经网络的一种形式,包括可用于机器学习应用程序的多个互连层。特别地,DNN可用于信号处理应用程序,包括但不限于图像处理和计算机视觉应用程序。图1示出了包括多个层102

1、102

2、102

3的示例性DNN 100。每一层102

1、102

2、102

3接收输入数据,并且根据层来处理该输入数据以产生输出数据。输出数据要么作为输入数据提供给另一层,要么作为DNN的最终输出数据输出。例如,在图1的DNN 100中,第一层102

1接收到DNN 100的原始输入数据104,并且根据第一层102

1处理输入数据以产生输出数据。第一层102

1的输出数据成为第二层102

2的输入数据,该第二层根据第二层102

2处理该输入数据以产生输出数据。第二层102

2的输出数据成为第三层102

3的输入数据,该第三层根据第三层102

3处理该输入数据以产生输出数据。第三层102

3的输出数据作为DNN的输出数据106输出。
[0003]参考图2,该图示出了在DNN中使用的数据格式的示例性概述。如在图2中可以看到的,在DNN中使用的数据可由多个平面形成。例如,输入数据可被布置成P平面的数据,其中每一个平面具有维度xxy。
[0004]对层的输入数据执行的处理取决于层的类型。例如,DNN的每一层可以是多种不同类型中的一种类型。示例性DNN层类型包括但不限于卷积层、激活层、归一化层、池化层,以及全连接层。对于本领域的技术人员将显而易见的是,这些是示例性DNN层类型,并且这不是详尽的列表,并且可存在其他DNN层类型。
[0005]对于卷积层,通过将输入数据与同该层相关联的权重进行卷积来处理输入数据。具体地,每个卷积层与多个权重w0…
w
g
相关联,这些权重也可以被称为滤波器权重或系数。权重被分组以形成或定义一个或多个滤波器,该一个或多个滤波器还可以被称为内核,并且每个滤波器可与偏移量偏置bias相关联。如图2所示,每个过滤器可具有维度mxnxP(即,每个过滤器可包括一组mxnxP权重w),并且可以根据跨步骤s和t在x和y方向上的卷积运算应用于输入数据。滤波器的数量和每个滤波器的权重的数量可在卷积层与卷积层之间不同。卷积神经网络(CNN)是一种有效的图像识别和分类方法,它是DNN的一种特殊类型,一般包括多个卷积层。
[0006]通常但不一定在卷积层之后的激活层对层的输入数据执行一个或多个激活函数。激活函数取单个数字并且对其执行某些非线性数学运算。在一些示例中,激活层可以通过实现ReLU函数(即,f(x)=max(0,x))来充当整流线性单元(ReLU),或者通过实现PReLU函数来充当参数整流线性单元(PReLU)。
[0007]归一化层被配置为对输入数据执行归一化函数,诸如局部响应归一化(LRN)函数。
通常但不一定插入连续卷积层之间的池化层执行池化函数诸如max函数或mean函数,以汇总输入数据的子集。因此,池化层的目的是减小表示的空间大小,以减少网络中参数和计算的数量,并且因此还控制过度拟合。
[0008]通常但不一定在多个卷积层和池化层之后的全连接层取三维输入数据值的集合,并且输出N维向量。在DNN用于分类的情况下,N可以是类别的数量,并且向量中的每一个值可以表示某个类别的概率。该N维向量通过一组权重的矩阵相乘而生成,可选地后面是偏置偏移量。因此,全连接层接收一组权重和偏置。
[0009]因此,如图3所示,DNN的每一层302接收输入数据值并且生成输出数据值;并且一些层(诸如卷积层和全连接层)还接收权重和/或偏置。DNN的输入数据值、输出数据值、权重和偏置可统称为DNN的网络参数。
[0010]用于实现DNN的硬件(例如,DNN加速器)包括可被配置为根据DNN的层处理到DNN的输入数据的硬件逻辑。具体地,用于实现DNN的硬件逻辑包括可被配置为根据每一层来处理到该层的输入数据并且生成该层的输出数据的硬件逻辑,该输出数据要么成为另一层的输入数据,要么成为DNN的输出。例如,如果DNN包括卷积层,后面是激活层,则可被配置为实现DNN的硬件逻辑包括可被配置为使用与该卷积层相关联的权重和偏置对DNN的输入数据执行卷积以产生卷积层的输出数据的硬件逻辑,以及可被配置为将激活函数应用于到激活层的输入数据(即,卷积层的输出数据)以生成DNN的输出数据的硬件逻辑。
[0011]如本领域的技术人员所知,为了使硬件处理一组值,每一个值以数字格式表示。两种常见的数字格式是定点数格式和浮点数格式。如本领域的技术人员所知,定点数格式在基数点(例如,小数点或二进制点)之后具有固定数量的数位。相反,浮点数格式没有固定的基数点(即,可以“浮动”)。换句话讲,基数点可被放置在表示中的多个位置。虽然以浮点数格式表示DNN的网络参数可允许产生更准确或更精确的输出数据,但在硬件中以浮点数格式处理网络参数很复杂,与以其他格式诸如但不限于定点数格式处理网络参数的硬件相比,这往往会增加芯片面积、功耗、存储器和带宽消耗以及硬件的复杂性。因此,用于实现DNN的硬件可被配置为以另一种格式诸如定点数格式表示DNN的网络参数,以减少面积、功耗、存储器和带宽消耗以及硬件逻辑的复杂性。
[0012]一般来讲,用于表示DNN的网络参数(例如,输入数据值、权重、偏置和输出数据值)的位越少,可以在硬件中实现DNN的效率越高。然而,通常表示DNN的网络参数(例如,输入数据值、权重、偏置和输出数据值)的位越少,DNN的准确度就变得越低。因此,期望标识用于表示DNN的网络参数的数字格式,所述数字格式平衡用于表示网络参数的位的数量和DNN的准确度。
[0013]下面描述的实施方案仅以举例的方式提供,并且不限制解决标识用于表示DNN的网络参数的数字格式的方法和系统的任何或所有缺点的实施方式。

技术实现思路

[0014]提供本
技术实现思路
是为了介绍在以下详细描述中进一步描述的一些概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
[0015]本文描述了确定用于表示深度神经网络“DNN”的一组两个或更多个网络参数的数
字格式,以用于配置硬件逻辑以实现DNN的方法。该方法包括:确定DNN相对于该组网络参数中的每一个网络参数的灵敏度;针对多个候选数字格式中的每一个候选数字格式:根据候选数字格式确定与对该组网络参数中的每一个网络参数进行量化相关联的量化误本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于确定表示深度神经网络“DNN”的一组两个或多个网络参数的数字格式,用于配置硬件逻辑以实现所述DNN的计算机实现的方法(800、1300),所述方法(800、1300)包括:确定所述DNN相对于所述一组网络参数中的每一个网络参数的灵敏度(802);针对多个候选数字格式中的每一个候选数字格式:根据所述候选数字格式确定与对所述一组网络参数中的每一个网络参数进行量化相关联的量化误差(804);基于所述灵敏度和所述量化误差生成对由所述一组网络参数的量化引起的所述DNN的输出中的误差的估计(806);以及基于所述估计的误差生成局部误差(808);以及选择所述多个候选数字格式中所述局部误差最小的候选数字格式作为所述一组网络参数的所述数字格式(810)。2.如权利要求1所述的方法(800、1300),其中确定所述DNN相对于网络参数的所述灵敏度包括:响应于测试数据来确定所述DNN的模型的输出;基于所述DNN相对于所述网络参数的所述输出确定一个或多个值的偏导数;以及根据所述一个或多个偏导数确定所述灵敏度。3.如权利要求2所述的方法(800、1300),其中所述一个或多个偏导数通过反向传播技术来确定。4.如权利要求2所述的方法(800、1300),其中所述DNN的所述模型是所述DNN的浮点模型。5.如权利要求2所述的方法(800、1300),其中所述DNN的所述输出包括单个值,并且基于所述DNN的所述输出的所述一个或多个值包括所述单个输出值;或者其中所述DNN的所述输出包括多个值,并且基于所述DNN的所述输出的所述一个或多个值包括所述多个输出值中的每一个输出值。6.如权利要求2所述的方法(800、1300),其中所述DNN的所述输出包括多个值,并且基于所述DNN的所述输出的所述一个或多个值包括基于所述多个输出值的单个汇总值。7.如权利要求6所述的方法(800、1300),其中所述汇总值是所述多个输出值的总和或所述多个输出值中的最大值。8.如权利要求1至7中任一项所述的方法(800、1300),其中生成由所述一组网络参数的量化引起的所述DNN的所述输出中的所述误差的所述估计包括计算所述量化误差的加权总和,其中与网络参数的量化误差相关联的所述权重是所述DNN相对于所述网络参数的灵敏度。9.如权利要求1至7中任一项所述的方法(800、1300),其中生成由所述一组网络参数的量化引起的所述DNN的所述输出中的所述误差的所述估计包括计算所述量化误差的加权总和的绝对值,其中与网络参数的量化误差相关联的所述权重是所述DNN相对于所述网络参数的所述灵敏度。10.如权利要求1至7中任一项所述的方法(800、1300),其中生成由所述一组网络参数的量化引起的所述DNN的所述输出中的所述误差的所述估计包括:(i)针对所述集合中的每
一个网络参数,计算所述网络参数的所述量化误差的乘积的绝对值和所述DNN相对于所述网络参数的所述灵敏度;以及(ii)计算所述绝对值的总和。11.如权利要求1至7中任一项所述的方法(800、1300),其中生成由所述一组网络参数的量化引起的所述DNN的所述输出中...

【专利技术属性】
技术研发人员:J
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:

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

1