用于定点神经网络的位宽选择制造技术

技术编号:30333973 阅读:37 留言:0更新日期:2021-10-10 00:57
本申请涉及用于定点神经网络的位宽选择。一种用于选择定点机器学习模型的位宽的方法包括评估该模型的每个计算级处的模型准确度对于位宽的敏感度。该方法还包括选择该模型的计算级中的参数和/或中间计算的位宽。该参数的位宽和该中间计算的位宽可以是不同的。所选择的位宽可以基于敏感度评估来确定。择的位宽可以基于敏感度评估来确定。择的位宽可以基于敏感度评估来确定。

【技术实现步骤摘要】
用于定点神经网络的位宽选择
[0001]本申请是申请日为2016年4月11日、国际申请日为“PCT/US2016/026944”、申请日为“201680026249.7”、专利技术名称为“用于定点神经网络的位宽选择”的申请的分案申请。
[0002]相关申请的交叉引用
[0003]本申请要求于2015年5月8日提交的题为“BIT WIDTH SELECTION FOR FIXED POINT NEURAL NETWORKS(用于定点神经网络的位宽选择)”的美国临时专利申请No.62/159,097的权益,其公开内容通过援引全部明确纳入于此。


[0004]本公开的某些方面一般涉及机器学习,并且尤其涉及改进用于定点机器学习模型(诸如人工神经网络)的位宽选择的系统和方法。

技术介绍

[0005]可包括一群互连的人工神经元(例如,神经元模型)的人工神经网络是一种计算设备或者表示将由计算设备执行的方法。
[0006]卷积神经网络是一种前馈人工神经网络。卷积神经网络可包括神经元集合,其中每个神经元具有感受野并且共同地拼出一输入空间。卷积神经网络(CNN)具有众多应用。具体而言,CNN已被广泛使用于模式识别和分类领域。
[0007]深度学习架构(诸如深度置信网络和深度卷积网络)是分层神经网络架构,其中第一层神经元的输出变成第二层神经元的输入,第二层神经元的输出变成第三层神经元的输入,依此类推。深度神经网络可被训练以识别特征阶层并且因此它们已被越来越多地用于对象识别应用。类似于卷积神经网络,这些深度学习架构中的计算可分布在处理节点群体上,其可被配置在一个或多个计算链中。这些多层架构可每次训练一层并且可涉及使用后向传播的微调。
[0008]其他模型也可用于对象识别。例如,支持向量机(SVM)是可被应用于分类的学习工具。支持向量机包括对数据进行归类的分离超平面(例如,决策边界)。该超平面由监督式学习来定义。期望的超平面增加训练数据的裕量。换言之,超平面应该具有到训练示例的最大的最小距离。
[0009]尽管这些解决方案在数个分类基准上达到了优异的结果,但它们的计算复杂度可能极其高。另外,模型的训练可能是有挑战性的。

技术实现思路

[0010]在本公开的一方面,给出了一种用于选择定点机器学习模型的位宽的方法。所述方法包括评估该机器学习模型的每个计算级处的模型准确度对于位宽的敏感度。该方法还包括基于该敏感度评估来选择该模型的计算级中的参数和/或中间计算的位宽。该参数的位宽和该中间计算的位宽可以是不同的。
[0011]在本公开的另一方面,给出了一种用于选择定点机器学习模型的位宽的装置。该
装置包括存储器以及耦合至该存储器的至少一个处理器。该一个或多个处理器被配置成评估该机器学习模型的每个计算级处的模型准确度对于位宽的敏感度。(诸)处理器还被配置成基于该敏感度评估来选择该模型的计算级中的参数和/或中间计算的位宽。该参数的位宽和该中间计算的位宽可以是不同的。
[0012]在本公开的还有另一方面,给出了一种用于选择定点机器学习模型的位宽的装备。该装备包括用于评估该机器学习模型的每个计算级处的模型准确度对于位宽的敏感度的装置。该装备进一步包括用于基于该敏感度评估来选择该模型的计算级中的参数和/或中间计算的位宽的装置。该参数的位宽和该中间计算的位宽可以是不同的。
[0013]根据本公开的另一方面,给出了一种非瞬态计算机可读介质。该非瞬态计算机可读介质具有编码于其上的用于选择定点机器学习模型的位宽的程序代码。该程序代码由处理器执行并且包括用以评估该机器学习模型的每个计算级处的模型准确度对于位宽的敏感度的程序代码。该程序代码还包括用以基于该敏感度评估来选择该模型的计算级中的参数和/或中间计算的位宽的程序代码。该参数的位宽和该中间计算的位宽可以是不同的。
[0014]本公开的附加特征和优点将在下文描述。本领域技术人员应当领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。
附图说明
[0015]在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。
[0016]图1解说了根据本公开的某些方面的使用片上系统(SOC)(包括通用处理器)来设计神经网络的示例实现。
[0017]图2解说了根据本公开的各方面的系统的示例实现。
[0018]图3A是解说了根据本公开的各方面的神经网络的示图。
[0019]图3B是解说了根据本公开的各方面的示例性深度卷积网络(DCN)的框图。
[0020]图4和5解说了根据本公开的各方面的用于选择定点机器学习模型的位宽的方法。
具体实施方式
[0021]以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
[0022]基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的
此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个要素来实施。
[0023]措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
[0024]尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
[0025]用于定点神经网络的位宽选择
[0026]机器学习模型可以使用定点实现或浮点实现来配置。在浮点实现中,模型的元素和参数以及输入数据可以使用浮点数来表示。另一方面,在定点表示中,选择小数点的固定位置以使得在小数点的右边和/或左边有固定数目的位,并且该小数点的固定位置被用来表示模型的元素、参数和输入。浮点表示可以提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于为包括神经网络的机器学习模型选择位宽的计算机实现的方法,所述方法包括:接收第一输入,所述第一输入包括在所述神经网络的第一层的激活值的第一集合,所述第一层包括对应的权重的第一集合;处理以执行以下至少一者:将所述激活值的第一集合量化为第一层激活位宽,以及将所述权重的第一集合量化为第一层权重位宽;确定用于所述机器学习模型的模型性能度量,其中所述确定包括将经处理的激活值的第一集合与经处理的权重的第一集合相乘;以及基于所确定的模型性能度量来改变所述第一层激活位宽和所述第一层权重位宽中的至少一者。2.如权利要求1所述的方法,其中所述第一层是卷积层。3.如权利要求2所述的方法,其中接收所述第一输入的步骤包括首先将所述第一输入分解成多个通道。4.如权利要求1所述的方法,其中所述第一层是全连接层。5.如权利要求1

4中任一项所述的方法,其中所述处理包括量化所述激活值的第一集合和所述权重的第一集合两者。6.如权利要求5所述的方法,其中所述第一层激活位宽与所述第一层权重位宽不同。7.如权利要求1

6中任一项所述的方法,进一步包括:接收第二输入,所述第二输入包括所述神经网络的第二层的激活值的第二集合,所述第二层包括与所述权重的第一集合不同的对应的权重的第二集合;处理以执行以下至少一者:将所述激活值的第二集合量化为第二层激活位宽,以及将所述权重的第二集合量化为第二层权重位宽;以及确定用于所述机器学习模型的第二模型性能度量,其中所述确定包括将经处理的...

【专利技术属性】
技术研发人员:D
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:

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

1