当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于神经网络的改进的定点整型实现方式制造技术

技术编号:15198111 阅读:150 留言:0更新日期:2017-04-21 13:53
讨论与实现用于语音识别系统的神经网络有关的技术。这些技术可以包括:通过以下步骤来处理神经网络的节点:将节点的分数确定为权重与输入的乘积,使得权重是定点整型值;基于与至少一个权重关联的校正值来将校正应用于分数;以及基于校正后的分数来生成节点的输出。

Improved fixed-point integer implementation for neural networks

Discussion and implementation of neural network techniques for speech recognition systems. These techniques include: node to process neural network by the following steps: the fraction of the nodes identified as product weight and input, making the weight is a fixed integer value correction; and at least one weight value associated to the correction is applied to fractional; and the output correction after scores generated based on the node.

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
包括深度神经网络和卷积神经网络在内的神经网络可以用于机器学习以及感知和认知系统。这些神经网络可以用在各种实现方式中,例如语音识别、图像处理、光学字符识别等。例如,神经网络可以包括神经元或节点的互连层。每层的输入值包括(例如在输入层)对系统的输入或来自神经网络中的前一层的输出。来自神经网络的输出层的输出值可以包括分类值等,使得对神经网络的输入可以经由神经网络和/或附加处理进行分类。这些神经网络处理和分类可以用于执行用更标准的基于规则的处理系统可能是难以执行或不可能执行的分类或其它任务。关于实时应用中的当前的神经网络的问题是,评估神经网络所需的计算量大。为了解决该问题,一些当前实现方式将神经网络计算从设备的中央处理单元(CPU)卸载到设备的图形处理单元(GPU)。然而,这种卸载可能导致与其它GPU密集型应用(例如正运行在设备或设备的相机等上的游戏)冲突。此外,密集地使用设备的GPU会增加功率使用率,由此限制移动设备的电池寿命。在其它实现方式中,可以使用单指令多数据(SIMD)平台和/或优化,例如批量惰性求值模型(其可以将计算推迟,直到需要时)。然而,这些实现方式可能使分类精度降低。因此,现有技术并没有提供实时、高效且精确的神经网络实现方式。随着在例如语音识别、图像处理、光学字符识别等中对利用经由神经网络进行的分类的期望变得更广泛,这些问题可能变得关键。附图说明在附图中通过示例的方式而非通过限制的方式示出在此所描述的内容。为了说明的简明性和清楚性,附图所示的要素不一定按比例绘制。例如,为了清楚,一些要素的尺寸可能相对于其它要素被夸大。此外,在认为适当的情况下,在附图之间重复了标号,以指示对应的或类似的要素。在附图中:图1是用于提供语音识别的示例设置的说明性示图;图2是用于提供语音识别的示例系统的说明性示图;图3是示例神经网络的说明性示图;图4是示出用于确定神经网络层的缩放因子(scalingfactor)的示例处理的流程图;图5是示出用于基于缩放因子来将神经网络层的权重转换为定点整型值并且为一个或多个权重生成校正值的示例处理的流程图;图6是示例隐藏层节点的说明性示图;图7是示例输出层节点的说明性示图;图8是示例输入层节点的说明性示图;图9是用于从特征矢量生成分类分数的示例系统的说明性示图;图10是示出用于处理神经网络的节点的示例处理的流程图;图11是用于提供语音识别的示例系统的说明性示图;图12是示例系统的说明性示图;以及图13示出全部根据本公开的至少一些实现方式所布置的示例设备。具体实施方式现在参照附图描述一个或多个实施例。虽然讨论特定配置和布置,但是应理解,这仅是为了说明性目的而进行的。本领域技术人员应理解,在不脱离说明书的精神和范围的情况下,可以采用其它配置和布置。对本领域技术人员显而易见的是,也可以在除了在此所描述之外的各种其它系统和应用中采用在此所描述的技术和/或布置。虽然以下描述阐述了可以在诸如片上系统(SoC)架构的架构中展现的各种实现方式,但是在此所描述的技术和/或布置的实现方式不限于特定架构和/或计算系统,并且可以通过用于类似目的的任何架构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构,和/或各种计算设备和/或消费者电子(CE)设备(例如机顶盒、智能电话等),可以实现在此所描述的技术和/或布置。此外,虽然以下描述可能阐述了大量具体细节,例如系统组件的逻辑实现方式、类型和相互关系、逻辑分区/集成选取等,但是可以在没有这些具体细节的情况下实施所要求的主题。在其它实例中,为了不掩盖在此所公开的内容,可能没有详细示出某些内容,例如控制结构和全软件指令序列。可以在硬件、固件、软件或其任何组合中实现在此所公开的内容。在此所公开的内容也可以实现为机器可读介质上所存储的指令,这些指令可以由一个或多个处理器读取并执行。计算机可读介质可以包括用于存储或发送机器(例如计算设备)可读形式的信息的任何介质和/或机构。例如,机器可读介质可以包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质;光存储介质;闪存设备;电、光、声或其它形式的传播信号(例如载波、红外信号、数字信号等),以及其它介质。说明书中对“一个实现方式”、“实现方式”、“示例实现方式”等的引用指示,所描述的实现方式可以包括特定特征、结构或特性,但是每一实施例可以不一定包括该特定特征、结构或特性。此外,这些短语不一定指代同一实现方式。此外,当结合一个实施例描述特定特征、结构或特性时,应当指出,在本领域技术人员的知识内,可以结合其它实现方式实现这种特征、结构或特征,无论是否在此明确地描述。在此描述的方法、设备、装置、计算平台和制造品与神经网络有关,并且在一些示例中,与实现用于语音识别的神经网络有关。如上所述,实时实现神经网络对于用户而言可以是有利的,但是由于计算资源有限以及密集地使用电池资源,上述实现可能是困难的。此外,尝试减少这些资源使用率可能会使分类结果不精确。此外,优化神经网络与经由数据中心主管的服务中的总拥有成本和经由移动设备所实现的应用中的电池寿命可能具有直接相关性。于在此所讨论的一些实施例中,神经网络权重(例如参数)可以表示为定点整型值,例如8位定点整型值。与浮点型神经网络权重或较大定点整型值神经网络权重(例如16位定点整型值)相比,8位定点整型值可以使所需的存储器传送较少(例如,与16位定点整型值实现方式相比,存储器传送降低一半,并且与32位浮点型表示相比,存储器占区(footprint)可以缩减达大约三分之一至四分之一)以及计算成本降低。例如,由于(例如对于一些或所有神经网络层)可以使用8位定点整型值权重和8位定点整型值输入,而不是16位定点整型值,因此可以降低计算成本。为了使用这些权重和输入值来提供分类精度,可以在神经网络的节点处,对具有对应校正值的权重进行校正,如在此进一步讨论的那样。在一些示例中,可以通过以下步骤来处理神经网络的节点:将该节点的分数(score)确定为对该节点的输入与关联于该节点的权重的乘积之和,使得权重是定点整型值。在一些示例中,对于包含该节点的神经网络层,权重可以是具有关联的缩放因子的8位有符号定点整型值。此外,在一些示例中,对节点的输入可以是8位无符号定点整型值。节点的分数可以被修改达与该节点关联的偏置,和/或可以基于具有关联的校正值的一个或多个权重来校正。校正值可以存储在校正列表中,并且校正值可以是在实现神经网络之前已经确定的。例如,可以用关联的缩放因子将神经网络的权重从浮点型值转换为8位有符号定点整型值。可以基于用于特定神经网络层的校正计数的预定限制来确定缩放因子。例如,预定限制可以是该层中的节点数量增加某因子(例如3、4或5等的因子)。于是,缩放因子可以被确定为对神经网络层提供刚好在预定限制以下的最大数量的校正权重的最大缩放因子值。对于那些小于或等于基于比特预算可获得的最大权重值(例如,对于8位有符号定点整型值,缩放因子乘以27)的权重,可以无需校正值。对于那些大于最大权重值的权重(例如,使得它们在最终比特预算中的比特数量多一的位置处(例如,对于8位有符号定点整型值,在第八位处)具有非零的最高有效位),可以将校正本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201480081073.html" title="用于神经网络的改进的定点整型实现方式原文来自X技术">用于神经网络的改进的定点整型实现方式</a>

【技术保护点】
一种计算机实现的用于处理神经网络的节点的方法,包括:确定所述神经网络的节点的分数,其中,所述分数包括对所述节点的输入与关联于所述节点的权重的乘积之和,并且其中,所述权重包括定点整型值;基于与所述节点关联的偏置,来修改所述分数;基于所述权重中具有关联的校正值的至少一个权重,来将至少一个校正应用于所述分数;以及基于校正后的偏置分数,来生成所述节点的输出。

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的用于处理神经网络的节点的方法,包括:确定所述神经网络的节点的分数,其中,所述分数包括对所述节点的输入与关联于所述节点的权重的乘积之和,并且其中,所述权重包括定点整型值;基于与所述节点关联的偏置,来修改所述分数;基于所述权重中具有关联的校正值的至少一个权重,来将至少一个校正应用于所述分数;以及基于校正后的偏置分数,来生成所述节点的输出。2.如权利要求1所述的方法,其中,所述权重包括具有关联的缩放因子的8位有符号定点整型值。3.如权利要求2所述的方法,其中,所述神经网络包括包含所述节点的神经网络层,所述方法还包括:评估与所述神经网络层关联的校正列表,以确定所述校正值,其中,所述校正列表包括用于所述神经网络层的一个或多个神经网络层权重的校正值。4.如权利要求3所述的方法,还包括:将用于所述神经网络层的神经网络层权重的缩放因子确定为对所述神经网络层提供小于预定校正限制的校正计数的最大缩放因子值,其中,所述神经网络层权重包括与所述节点关联的权重。5.如权利要求3所述的方法,还包括:将浮点型值神经网络层权重转换为所述神经层网络层权重,其中,所述神经网络层权重包括8位有符号定点整型值;以及生成包含用于所述一个或多个神经网络层权重的校正值以及用于所述校正值的关联的节点和权重索引的校正列表,其中,所述校正值与具有非零最高有效位的8位无符号定点整型神经网络层权重关联。6.如权利要求1所述的方法,其中,所述节点包括隐藏层节点,并且其中,基于校正后的偏置分数来生成所述节点的输出包括:将激活函数应用于所述校正后的偏置分数,以生成所述输出。7.如权利要求6所述的方法,其中,所述激活函数包括sigmoid函数,并且其中,所述输出包括8位无符号定点整型值。8.如权利要求1所述的方法,其中,所述节点包括输出节点,并且其中,基于所述校正后的偏置分数来生成所述节点的输出包括:提供所述校正后的偏置分数作为所述输出。9.如权利要求1所述的方法,其中,所述校正后的偏置分数包括32位定点整型值。10.如权利要求1所述的方法,其中,在将所述至少一个校正应用于所述分数之前,将所述分数修改达所述偏置。11.如权利要求1所述的方法,其中,所述神经网络包括语音识别神经网络,所述方法还包括:将接收到的语音转换为语音记录;提取与所述语音记录的时间窗口关联的特征矢量;将所述特征矢量提供作为对所述神经网络的输入;至少部分地基于来自所述节点的输出,从所述语音识别神经网络生成分类分数;以及基于所述分类分数来确定文本式元素序列。12.如权利要求11所述的方法,其中,所述权重包括具有关联的缩放因子的8位有符号定点整型值,其中,所述输入包括8位无符号定点整型值,其中,所述校正后的偏置分数包括32位定点整型值,其中,所述节点包括隐藏层节点,其中,基于所述校正后的偏置分数来生成所述节点的输出包括:将sigmoid激活函数应用于所述校正后的偏置分数,以生成所述输出,并且其中,所述输出包括8位无符号定点整型值。13.如权利要求11所述的方法,其中,对所述神经网络的输入包括一组特征矢量,并且其中,确定所述文本式元素序列包括:将所述分类分数与统计模型进行比较。14.一种用于提供神经网络的系统,包括:存储器,被配置为:存储与所述神经网络的节点关联的权重,其中,所述权重包括定点整型值;以及中央处理单元,耦合到所述存储器,其中,所述中央处理单元包括:节点评分电路,被配置为:确定所述神经网络的节点的分数,其中,所述分数包括对所述节点的输入与关联于所述节点的权重的乘积之和;分数偏置电路,被配置为:基于与所述节点关联的偏置来修改所述分数;分数校正电路,被配置为:基于所述权重中具有关联的校正值的至少一个权重来将至少一个校正应用于所述分数;以及激活函数电路,被配置为:将激活函数应用于校正后的偏置分数,以生成所述节点的输出。15.如权利要求14所述的系统,其中,所述权重包括具有关联的缩放因子的8位有符号定点整型值,其中,所述神经网络包括包含所述节点的神经网络层,并且其中,所述分数校正电路进一步被配置为:评估与所述神经网络...

【专利技术属性】
技术研发人员:P·罗森G·施特默尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1