深度神经网络硬件实现的基于直方图的每层数据格式选择制造技术

技术编号:21715619 阅读:24 留言:0更新日期:2019-07-27 19:32
本公开涉及深度神经网络硬件实现的基于直方图的每层数据格式选择。一种选择用于表示输入至和/或输出自深度神经网络“DNN”的一个层的一组值的定点数格式的基于直方图的方法。该方法包括获得表示该层的一组值的预期分布的直方图,该直方图的每个bin与频率值和浮点数格式的代表值相关联;根据多个可能的定点数格式中的每个定点数格式来量化代表值;针对多个可能的定点数格式中的每个定点数格式,基于直方图的频率值和针对每个bin的距离值来估计总量化误差,该距离值基于针对该bin的代表值的量化;并且选择与最小估计总量化误差相关联的定点数格式作为用于表示该层的一组值的最佳定点数格式。

Histogram-based data format selection for each layer of deep neural network hardware implementation

【技术实现步骤摘要】
深度神经网络硬件实现的基于直方图的每层数据格式选择
本专利技术涉及用于深度神经网络的硬件实现的基于直方图的每层数据格式选择。
技术介绍
深度神经网络(DNN)是可以用于机器学习应用的一种人工神经网络。具体地,DNN可以用于信号处理应用,包括图像处理和计算机视觉应用。DNN已经在其中功率资源不是重要因素的应用中被实现。尽管如此,DNN还应用于许多不同的
,在这些领域中用于实现DNN的硬件资源的功耗、处理能力或硅面积是有限的。因此,需要实现被配置为以有效方式(即,以在操作时需要更少硅面积或更少处理能力的方式)实现DNN的硬件。此外,DNN可以以多种不同的方式被配置以用于各种不同的应用。因此,还需要用于实现DNN的硬件能够灵活地支持各种DNN配置。以下描述的实施例仅作为示例被提供,并且不限制解决深度神经网络的已知硬件实现的任意或所有缺点的实现方式。
技术实现思路

技术实现思路
被提供介绍将在以下详细描述中进一步描述的一些概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。本文描述的是一种选择用于表示输入至和/或输出自深度神经网络(DNN)的一个层的一组值的定点数格式的基于直方图的方法。该方法包括获得表示该层的一组值的预期分布的直方图,其中该直方图的每个bin与频率值相关联;根据多个可能的定点数格式中的每个定点数格式来量化针对每个bin的浮点数格式的代表值;针对多个可能的定点数格式中的每个定点数格式,基于直方图的频率值和针对每个bin的距离值来估计由量化产生的总量化误差,该距离值基于针对该bin的代表值的量化;并且基于估计的总量化误差来选择用于表示该组值的定点数格式。第一方面提供了一种标识用于表示输入至和/或输出自深度神经网络“DNN”的一个层的一组值的定点数格式以用于配置DNN的硬件实现的计算机实现的方法,方法包括:获得表示该层的一组值的预期分布的直方图,其中,直方图的每个bin与频率值相关联;针对多个定点数格式中的每个定点数格式:根据定点数格式来量化针对每个bin的浮点数格式的代表值;并且基于针对每个bin的频率值和距离值来估计与定点数格式相关联的总量化误差,距离值基于针对该bin的代表值的量化;以及选择多个定点数格式中与最小估计总量化误差相关联的定点数格式作为用于表示该层的一组值的定点数格式。第二方面提供了一种用于标识用于表示输入至和/或输出自深度神经网络“DNN”的一个层的一组值的定点数格式以用于配置DNN的硬件实现的基于计算的设备,基于计算的设备包括:至少一个处理器;以及存储器,被耦合到至少一个处理器,存储器包括:直方图,表示该层的一组值的预期分布,其中,直方图的每个bin与频率值相关联;以及计算机可读代码,在由至少一个处理器执行时,使得至少一个处理器执行以下操作:针对多个定点数格式中的每个定点数格式:根据定点数格式来量化针对每个bin的浮点格式的代表值;并且基于针对每个bin的频率值和距离值来估计与定点数格式相关联的总量化误差,距离值基于针对该bin的代表值的量化;以及选择多个定点数格式中与最小估计总量化误差相关联的定点数格式作为用于表示该层的一组值的定点数格式。第三方面提供了一种深度神经网络“DNN”的硬件实现,包括:硬件逻辑,被配置为:接收DNN的一个层的输入数据值;接收指示针对该层的输入数据值的定点数格式的信息,针对该层的输入数据值的定点数格式已经根据第一方面的方法被选择;基于针对该层的输入数据值的定点数格式来解释输入数据值;以及根据该层来处理经解释的输入数据值以生成针对该层的输出数据值。DNN的硬件实现可以体现在集成电路上的硬件中。可以提供一种在集成电路制造系统中制造硬件实现的方法。可以提供集成电路定义数据集,该集成电路定义数据集在集成电路制造系统中处理时,配置系统以制造DNN的硬件实现。可以提供一种在其上存储有DNN的硬件实现的计算机可读描述的非暂态计算机可读存储介质,该DNN的硬件实现的计算机可读描述在集成电路制造系统中处理时,使得集成电路制造系统制造体现DNN的硬件实现的集成电路。可以提供一种集成电路制造系统,包括:非暂态计算机可读存储介质,在其上存储有DNN的硬件实现的计算机可读描述;布局处理系统,被配置为处理计算机可读描述以便生成体现DNN的硬件实现的集成电路的电路布局描述;以及集成电路生成系统,被配置为根据电路布局描述制造DNN的硬件实现。可以提供用于执行如本文描述的方法的计算机程序代码。可以提供在其上存储有计算机可读指令的非暂态计算机可读存储介质,该计算机可读指令在计算机系统处执行时,使得计算机系统执行如本文描述的方法。如技术人员显而易见的,上述特征可以被适当地组合,并且可以与本文描述的示例的任何方面进行组合。附图说明现在将参考附图详细描述实施例,其中:图1是示例深度神经网络(DNN)的示意图;图2是DNN中的示例数据的示意图;图3是示出数据输入至和输出自DNN的一个层的示意图;图4是从多个可能的定点数格式中标识用于表示输入至或输出自DNN的一个层的一组值的适当定点数格式的示例基于直方图的方法的流程图;图5是示例直方图的示意图;图6是其中直方图的每个bin的代表值已经被量化的示例直方图的示意图;图7是示例加权函数的示意图;图8是具有ImageNet验证数据集的AlexNetDNN的尾数位长度与前1名的(Top-1)分类精度的关系图,其中针对权重的指数是根据许多不同方法选择的;图9是具有ImageNet验证数据集的AlexNetDNN的尾数位长度与前5名的(Top-5)分类精度的关系图,其中针对权重的指数是根据许多不同方法选择的;图10是具有ImageNet验证数据集的AlexNetDNN的尾数位长度与前1名的分类精度的关系图,其中针对权重和输入数据值的指数是根据许多不同方法选择的;图11是具有ImageNet验证数据集的AlexNetDNN的尾数位长度与前5名的分类精度的关系图,其中针对权重和输入数据值的指数是根据许多不同方法选择的;图12是具有ImageNet验证数据集的GoogLeNetDNN的尾数位长度与前1名的分类精度的关系图,其中针对权重的指数是根据许多不同方法选择的;图13是具有ImageNet验证数据集的GoogLeNetDNN的尾数位长度与前5名的分类精度的关系图,其中针对权重的指数是根据许多不同方法选择的;图14是具有ImageNet验证数据集的GoogLeNetDNN的尾数位长度与前1名的分类精度的关系图,其中针对权重和输入数据值的指数是根据许多不同方法选择的;图15是具有ImageNet验证数据集的GoogLeNetDNN的尾数位长度与前5名的分类精度的关系图,其中针对权重和输入数据值的指数是根据许多不同方法选择的;图16是DNN的示例硬件实现的框图;图17是示例基于计算的设备的框图;图18是其中实现DNN的硬件实现的示例计算机系统的框图;并且图19是用于生成体现如本文描述的DNN的硬件实现的集成电路的示例集成电路制造系统的框图。附图示出了各种示例。技术人员将理解,附图中示出的元件边界(例如,框、框组或其他形状)代表边界的一个示例。在一些示例中,可以将一个元件设计为多个元件,或可以将多个元件设计本文档来自技高网...

【技术保护点】
1.一种标识用于表示输入至和/或输出自深度神经网络“DNN”的一个层的一组值的定点数格式以用于配置DNN的硬件实现的计算机实现的方法(400),所述方法(400)包括:获得表示该层的该组值的预期分布的直方图,其中,所述直方图的每个bin与频率值相关联(402);针对多个定点数格式中的每个定点数格式(404,410):根据所述定点数格式来量化针对每个bin的浮点数格式的代表值(406);并且基于针对每个bin的频率值和距离值来估计与所述定点数格式相关联的总量化误差(408),所述距离值基于针对该bin的代表值的量化;以及选择多个定点数格式中与最小估计总量化误差相关联的定点数格式作为用于表示该层的该组值的定点数格式(412)。

【技术特征摘要】
2017.11.03 GB 1718293.21.一种标识用于表示输入至和/或输出自深度神经网络“DNN”的一个层的一组值的定点数格式以用于配置DNN的硬件实现的计算机实现的方法(400),所述方法(400)包括:获得表示该层的该组值的预期分布的直方图,其中,所述直方图的每个bin与频率值相关联(402);针对多个定点数格式中的每个定点数格式(404,410):根据所述定点数格式来量化针对每个bin的浮点数格式的代表值(406);并且基于针对每个bin的频率值和距离值来估计与所述定点数格式相关联的总量化误差(408),所述距离值基于针对该bin的代表值的量化;以及选择多个定点数格式中与最小估计总量化误差相关联的定点数格式作为用于表示该层的该组值的定点数格式(412)。2.根据权利要求1所述的方法(400),其中,所述多个定点数格式中的每个定点数格式包括指数和尾数位长度。3.根据权利要求2所述的方法(400),其中,所述多个定点数格式中的每个定点数格式包括相同的尾数位长度和不同的指数。4.根据权利要求2所述的方法(400),其中,所述多个定点数格式中的每个定点数格式包括不同的尾数位长度和相同的指数。5.根据权利要求1所述的方法(400),其中,估计与定点数格式相关联的总量化误差包括确定针对每个bin的频率值和距离值的乘积的总和。6.根据权利要求1所述的方法(400),其中,针对每个bin的距离值是浮点数格式的针对该bin的代表值与根据所述定点数格式量化的针对该bin的代表值之间的差。7.根据权利要求1所述的方法(400),其中,针对每个bin的距离值是浮点数格式的针对该bin的代表值与根据所述定点数格式量化的针对该bin的代表值之间的平方差。8.根据权利要求1所述的方法(400),其中,针对每个bin的距离值是浮点数格式的针对该bin的代表值与根据所述定点数格式量化的针对该bin的代表值之间的平方差与该bin的代表值的权重的乘积,其中,所述定点数格式的可表示范围之外的代表值的权重高于所述定点数格式的可表示范围内的代表值的权重。9.根据权利要求8所述的方法(400),其中,当代表值落入所述定点数格式中的最大可表示数与所述定点数格式中的最小可表示数之间时,所述代表值处于所述定点数格式的可表示范围内。10.根据权利要求8所述的方法(400),其中,所述权重在所述定点数格式的可表示范围之外线性地增加。11.根据权利要求1至10中任一项所述的方法(400),还包括存储选择的定点数格式以用于配置所述DNN的硬件实现。12.根据权利要求1至10中任一项所述的方法(400),还包括配置所述DNN的硬件实现...

【专利技术属性】
技术研发人员:詹姆斯·因贝尔卡加泰·迪基奇
申请(专利权)人:畅想科技有限公司
类型:发明
国别省市:英国,GB

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

1