量化训练的长短期记忆神经网络制造技术

技术编号:28850391 阅读:38 留言:0更新日期:2021-06-11 23:55
用于量化具有多个权重的训练的长短期记忆(LSTM)神经网络的方法,所述方法包括:获得为训练的LSTM神经网络的每个权重指定训练的浮点值的数据,所述训练的LSTM神经网络包括一个或多个LSTM层,每个LSTM层具有多个门且多个门中的每个门与输入权重矩阵和循环权重矩阵相关联;量化训练的LSTM神经网络,包括:对每个门,将输入权重矩阵的元素量化到目标固定比特宽度;对每个门,将循环权重矩阵的元素量化到目标固定比特宽度;以及提供指定量化神经网络的数据以用于执行量化的推断。

【技术实现步骤摘要】
【国外来华专利技术】量化训练的长短期记忆神经网络相关申请的交叉引用本申请要求于2018年10月30日提交的No.62/752,914美国专利申请的优先权,其全部内容通过引用并入本文。
技术介绍
本说明书涉及量化用于执行量化的推断的训练的长短期记忆(LSTM)神经网络。神经网络是一种机器学习模型,它使用一层或多层非线性单元来预测接收的输入的输出。一些神经网络除了输出层外,还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即下一隐藏层或输出层)的输入。网络的每一层根据相应参数集合的当前值从接收的输入生成输出。一些神经网络是循环神经网络。循环神经网络是接收输入序列并从输入序列生成输出序列的神经网络。特别地,循环神经网络使用在处理输入序列中的先前输入之后的网络的部分或全部内部状态从输入序列中的当前输入生成输出。循环神经网络的一个示例是LSTM神经网络。LSTM神经网络具有一个或多个LSTM层,每个层包含一个或多个门和存储单元。LSTM神经网络解决了在长时间间隔内存储信息的问题。与LSTM神经网络的输入序列有关的信息通过一个或多个门和存储单元。根据门的功能,门可以控制:允许多少信息进入LSTM层;在LSTM层中保留多少信息;以及允许多少信息离开LSTM层作为下一时间步长的输出。可以训练LSTM神经网络优化这些门的决策,从而只保留处理输入序列所需的信息。
技术实现思路
本说明书描述了作为一个或多个位置的一个或多个计算机上的一个或多个计算机程序实现的训练的LSTM神经网络量化系统(“量化系统”),量化具有一个或多个LSTM层的训练的LSTM神经网络。特别地,量化系统量化训练的LSTM神经网络,使得LSTM神经网络可以有效地用于执行量化的推断。通常,说明书中描述的主题的一个创新方面可以体现在包括以下动作的方法中:(i)获得为训练的LSTM神经网络的每个权重指定训练的浮点值的数据,所述训练的LSTM神经网络包括一个或多个LSTM层,每个LSTM层具有多个门,并且多个门中的每个门与输入权重矩阵和循环权重矩阵相关联;(ii)量化训练的LSTM神经网络,包括:对每个门,将输入权重矩阵和循环权重矩阵的元素量化到目标固定比特宽度;以及(iii)提供指定量化LSTM神经网络的数据以用于执行量化的推断。输入权重矩阵是指由权重形成的矩阵,权重是用于在由门执行的生成输出的处理期间修改到门的对应输入(例如,输入向量)的值,例如乘法因子。循环权重矩阵是指由权重构成的矩阵,权重是用于修改循环向量的对应分量的值,例如乘法因子。循环向量可以是门的先前输出(即,当处理先前由门执行时的结果),除非在至少第一次由该门执行该处理的情况下。在这种情况下,可以根据随机过程预定义或设置循环向量。量化的LSTM神经网络可以是由与训练的LSTM神经网络的相应单元相对应的单元组成的神经网络,并且以与训练的LSTM神经网络的相应单元相同的方式彼此连接,但是其中,量化的LSTM神经网络的每个门采用训练的LSTM神经网络的对应门的输入矩阵和递归矩阵的量化的元素。术语“量化的推断”是指通过包括量化的LSTM神经网络的每个门的程序将输入数据转换为输出数据的推断任务,所述量化的LSTM神经网络使用输入权重矩阵的对应量化的元素修改输入向量(例如,通过将输入向量到该门的分量乘以输入权重矩阵的对应量化的元素作为乘法因子),并且使用循环权重矩阵的对应量化的元素修改循环向量(例如,将循环向量的分量乘以循环权重矩阵的对应量化的元素)。循环向量可以包括门的先前输出,即,当该门先前在一个或多个先前情况执行该处理时的结果,除非在至少第一次由该门执行该处理的情况下。在这种情况下,可以根据随机过程预定义或设置循环向量。前述实施例和其它实施例可以各自可选地单独或组合地包括以下特征中的一个或多个。量化训练的LSTM神经网络的步骤可以包括确定(i)输入权重矩阵和(ii)循环权重矩阵的元素的最大值和最小值;对每个门,可以包括确定比例因子,其中比例因子是:并且对每个门,将比例因子应用于输入权重矩阵的元素和循环权重矩阵的元素。此外,量化训练的LSTM神经网络的步骤可以包括将输入权重矩阵的元素量化到目标固定比特宽度,或者将循环权重矩阵的元素量化到目标固定比特宽度,包括使用非对称量化。量化LSTM网络的步骤还可以包括对每个门,量化通过处理通过门的相应输入而获得的门的相应门输出。此外,对每个门,量化门的相应门输出的步骤可以包括使用非对称或对称量化对相应门输出进行量化。目标固定比特宽度可以是8比特。量化训练的LSTM神经网络的步骤还可以包括将输入权重矩阵的元素量化到目标固定比特宽度或将循环权重矩阵的元素量化到目标固定比特宽度,包括使用对称量化。如上所述,每个LSTM层可以接收输入向量和循环向量,并且量化训练的LSTM神经网络的步骤可以包括:对每个门,确定(i)输入权重矩阵的训练的浮点值和(ii)训练的LSTM神经网络的测试输入集合的输入向量的乘积的最小值和最大值;对每个门,确定(i)循环权重矩阵的训练的浮点值和(ii)测试输入集合的循环向量的乘积的最小值和最大值;对每个门,确定门的相应门输出的最小值和最大值;以及提供指定量化LSTM神经网络的数据以用于执行量化的推断,该数据包括:输入权重矩阵的训练的浮点值与测试输入集合的输入向量的乘积的最小值和最大值,循环权重矩阵的训练的浮点值和测试输入集合的循环向量的乘积的最小值和最大值,以及LSTM神经网络中每个门的相应门输出的最小值和最大值。此外,量化训练的LSTM神经网络的步骤可以包括确定(i)输入权重矩阵或(ii)循环权重矩阵的一个或多个元素是否表示为浮点值;作为响应,确定舍入误差;以及对于每个LSTM层,使用舍入误差,(i)将输入权重矩阵的一个或多个元素输入量化到目标固定比特宽度以及(ii)将循环权重矩阵的一个或多个元素量化到目标固定比特宽度。训练的LSTM神经网络可以被配置成接收使用至少一个传感器获得的数据,并且代表真实世界。在一种情况下,数据可以是语音话语,并且测试输入集合是表示语音话语的数据。对每个门,该方法可以包括将门的门偏差量化到目标偏差比特宽度。目标偏差比特宽度可以是32比特。目标偏差比特宽度可以不同于目标固定比特宽度。该方法还可以包括:提供指定量化LSTM神经网络的数据以用于执行量化的推断包括:对于每个LSTM层,提供门的量化的门偏差。该方法还可以包括确定浮点协处理器对用于实现训练的LSTM神经网络的目标计算设备可用;以及作为响应,对每个门,避免量化门的门偏差。可以实现本说明书中描述的主题的特定实现,以便实现以下一个或多个优点。在推断时,应用LSTM神经网络(例如,用于端到端语音标识、翻译、字符标识和其他序列处理管道)的产生系统通常在优化的硬件(例如,专用神经网络硬件加速器)上运行。通常构建优化的硬件以执行具有较低精度操作的神经网络操作(例如,8比特定点整数或16比特定点整数)。对于循环神经网络(RN本文档来自技高网...

【技术保护点】
1.一种用于量化具有多个权重的训练的长短期记忆(LSTM)神经网络的方法,所述方法包括:/n获得为训练的LSTM神经网络的每个权重指定训练的浮点值的数据,训练的LSTM神经网络包括一个或多个LSTM层,每个LSTM层具有多个门,并且多个门中的每个门与输入权重矩阵和循环权重矩阵相关联;/n量化训练的LSTM神经网络,包括:/n对每个门,将输入权重矩阵的元素量化到目标固定比特宽度;/n对每个门,将循环权重矩阵的元素量化到目标固定比特宽度;以及/n提供指定量化神经网络的数据以用于执行量化的推断。/n

【技术特征摘要】
【国外来华专利技术】20181030 US 62/752,9141.一种用于量化具有多个权重的训练的长短期记忆(LSTM)神经网络的方法,所述方法包括:
获得为训练的LSTM神经网络的每个权重指定训练的浮点值的数据,训练的LSTM神经网络包括一个或多个LSTM层,每个LSTM层具有多个门,并且多个门中的每个门与输入权重矩阵和循环权重矩阵相关联;
量化训练的LSTM神经网络,包括:
对每个门,将输入权重矩阵的元素量化到目标固定比特宽度;
对每个门,将循环权重矩阵的元素量化到目标固定比特宽度;以及
提供指定量化神经网络的数据以用于执行量化的推断。


2.根据权利要求1所述的方法,其中,量化输入权重矩阵和循环权重矩阵的一个或多个元素包括:
确定(i)输入权重矩阵和(ii)循环权重矩阵的元素的最大值和最小值;
对每个门,确定比例因子,其中,比例因子为:



对每个门,将比例因子应用于输入权重矩阵的元素;以及
对每个门,将比例因子应用于循环权重矩阵的元素。


3.根据任一前述权利要求所述的方法,其中,量化LSTM网络还包括:
对每个门,量化通过处理通过门的相应输入而获得的门的相应门输出。


4.根据任一前述权利要求所述的方法,其中,对每个门,量化门的相应门输出包括使用非对称或对称量化对相应门输出进行量化。


5.根据任一前述权利要求所述的方法,其中,固定目标比特宽度是8比特。


6.根据任一前述权利要求所述的方法,其中,将输入权重矩阵的元素量化到目标固定比特宽度或将循环权重矩阵的元素量化到目标固定比特宽度中的一个或多个包括使用对称量化或非对称量化。


7.根据任一前述权利要求所述的方法,还包括:
确定(i)输入权重矩阵或(ii)循环权重矩阵的一个或多个元素是否表示为浮点值;
作为响应,确定舍入误差;以及
对于每个LSTM层,使用舍入误差(i)将输入权重矩阵的一个或多个元素量化到目标固定比特宽度以及(ii)将循环权重矩阵的一个或多个元素量化到目标固定比特宽度。


8.根据任一前述权利要求所述的方法,其中,每个LSTM层接收输入向量和循环向量,并且其中所述方法还包括:
对每个门,确定(i)输入权重矩阵的训练的浮点值和(ii)训练的LSTM神经网络的测试输入集合的输入向量的乘积的最小...

【专利技术属性】
技术研发人员:RA格瓦拉
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:美国;US

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

1