深度神经网络计算加速的方法和装置制造方法及图纸

技术编号:19512308 阅读:47 留言:0更新日期:2018-11-21 08:23
本发明专利技术实施例提出一种深度神经网络计算加速的方法、装置、终端和计算机可读存储介质,方法包括:对需要输入到矩阵模型中的各输入向量进行采样,获得多个采样向量;根据预设的量化参数对各采样向量进行乘积量化,获得多个量化点;根据量化参数将矩阵模型切分为多个矩阵块;各量化点与各矩阵块计算得到多个预计算表;通过各预计算表对各输入向量进行计算,得到矩阵模型的计算结果。本发明专利技术实施例中同一个矩阵模型的预计算表只需要建立一次,所有需要通过该矩阵模型进行计算的输入向量均可使用该预计算表进行查表计算,有效节省了输入向量与矩阵模型的计算过程,同时还能够保持矩阵模型原有的计算效果。

【技术实现步骤摘要】
深度神经网络计算加速的方法和装置
本专利技术涉及数据处理
,尤其涉及一种深度神经网络计算加速的方法、装置、终端和计算机可读存储介质。
技术介绍
现有技术中提速深度神经网络的方法包括矩阵运算、pruning(剪支)算法和二值网络。其中,矩阵运算中的矩阵向量乘法是内存受限的,因此在计算过程中限制了深度神经网络的预测速度。而二值网络精度损失较大。pruning剪支算法需要较高的矩阵稀疏程度,重训过程繁杂。因此现有的计算方法均不能够很好的实现神经网络的计算加速。在
技术介绍
中公开的上述信息仅用于加强对本专利技术的背景的理解,因此其可能包含没有形成为本领域普通技术人员所知晓的现有技术的信息。
技术实现思路
本专利技术实施例提供一种深度神经网络计算加速的方法、装置、终端和计算机可读存储介质,以解决现有技术中的一个或多个技术问题。第一方面,本专利技术实施例提供了一种深度神经网络计算加速的方法,包括:对需要输入到矩阵模型中的各输入向量进行采样,获得多个采样向量;根据预设的量化参数对各所述采样向量进行乘积量化,获得多个量化点;根据所述量化参数将所述矩阵模型切分为多个矩阵块;各所述量化点与各所述矩阵块计算得到多个预计算表;通过各所述预计算表对各所述输入向量进行计算,得到所述矩阵模型的计算结果。结合第一方面,本专利技术实施例在第一方面的第一种实现方式中,根据预设的量化参数对各所述采样向量进行乘积量化,获得多个量化点,包括:根据量化维数对各所述采样向量进行切分;根据量化类数对切分后的各所述采样向量进行聚类,得到多个所述量化点。结合第一方面,本专利技术实施例在第一方面的第二种实现方式中,根据所述量化参数将所述矩阵模型切分为多个矩阵块,包括:根据量化维数将所述矩阵模型切分为多个矩阵块。结合第一方面,本专利技术实施例在第一方面的第三种实现方式中,各所述量化点与各所述矩阵块计算得到多个预计算表,包括:将每一个所述量化点分别与所有的所述矩阵块相乘,得到与所述量化点对应的所述预计算表。结合第一方面,本专利技术实施例在第一方面的第四种实现方式中,通过各所述预计算表对各所述输入向量进行计算,得到所述矩阵模型的计算结果,包括:根据量化维度将各所述输入向量切分为多个输入向量块;获取各所述输入向量块在所述输入向量中的位置以及对应的所述量化点;根据各所述输入向量块的位置和对应的所述量化点,在所述预计算表中查找出各所述输入向量块对应的预计算向量;将各所述预计算向量相加,得到所述矩阵模型与各所述输入向量的计算结果。结合第一方面的第四种实现方式,本专利技术实施例在第一方面的第五种实现方式中,获取各所述输入向量块在所述输入向量中的位置以及对应的所述量化点,包括:将所述输入向量块分别与所有的所述量化点按照预设度量规则进行计算;根据与各所述量化点的计算结果,选择符合所述预设度量规则的计算结果对应的所述量化点,作为所述输入向量块对应的所述量化点。第二方面,本专利技术实施例提供了一种深度神经网络计算加速的装置,包括:采样模块,用于对需要输入到矩阵模型中的各输入向量进行采样,获得多个采样向量;乘积量化模块,用于根据预设的量化参数对各所述采样向量进行乘积量化,获得多个量化点;矩阵切分模块,用于根据所述量化参数将所述矩阵模型切分为多个矩阵块;预计算表生成模块,用于根据各所述量化点与各所述矩阵块计算得到多个预计算表;计算模块,用于通过各所述预计算表对各所述输入向量进行计算,得到所述矩阵模型的计算结果。在一个可能的设计中,所述乘积量化模块包括:第一切分子模块,用于根据量化维数对各所述采样向量进行切分;聚类子模块,用于根据量化类数对切分后的各所述采样向量进行聚类,得到多个所述量化点。在一个可能的设计中,所述矩阵切分模块包括:第二切分子模块,用于根据量化维数将所述矩阵模型切分为多个矩阵块。在一个可能的设计中,所述计算模块包括:第二切分子模块,用于根据量化维度将各所述输入向量切分为多个输入向量块;获取子模块,用于获取各所述输入向量块在所述输入向量中的位置以及对应的所述量化点;查表子模块,用于根据各所述输入向量块的位置和对应的所述量化点,在所述预计算表中查找出各所述输入向量块对应的预计算向量;计算子模块,用于将各所述预计算向量相加,得到所述矩阵模型与各所述输入向量的计算结果。在一个可能的设计中,所述获取子模块包括:量化点选择子模块,用于将所述输入向量块分别与所有的所述量化点按照预设度量规则进行计算;根据与各所述量化点的计算结果,选择符合所述预设度量规则的计算结果对应的所述量化点,作为所述输入向量块对应的所述量化点。第三方面,本专利技术实施例提供了一种深度神经网络计算加速的终端,包括:所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,深度神经网络计算加速的终端的结构中包括处理器和存储器,所述存储器用于存储支持深度神经网络计算加速的终端执行上述第一方面中深度神经网络计算加速的方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。深度神经网络计算加速的终端还可以包括通信接口,用于深度神经网络计算加速的终端与其他设备或通信网络通信。第四方面,本专利技术实施例提供了一种计算机可读存储介质,用于存储深度神经网络计算加速的终端所用的计算机软件指令,其包括用于执行上述第一方面中深度神经网络计算加速的方法为深度神经网络计算加速的终端所涉及的程序。上述技术方案中的一个技术方案具有如下优点或有益效果:同一个矩阵模型的预计算表只需要建立一次,所有需要通过该矩阵模型进行计算的输入向量均可使用该预计算表进行查表计算,有效节省了输入向量与矩阵模型的计算过程,同时还能够保持矩阵模型原有的计算效果。上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本专利技术进一步的方面、实施方式和特征将会是容易明白的。附图说明在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本专利技术公开的一些实施方式,而不应将其视为是对本专利技术范围的限制。图1为本专利技术实施方式提供的深度神经网络计算加速的方法的流程图。图2为本专利技术实施方式提供的采样向量乘积量化的示意图。图3为本专利技术另一实施方式提供的采样向量乘积量化的示意图。图4为本专利技术实施方式提供的预计算表生成的流程示意图。图5为本专利技术实施方式提供的深度神经网络计算加速的具体流程图。图6为本专利技术实施方式提供的深度神经网络计算加速的装置结构示意图。图7为本专利技术实施方式提供的深度神经网络计算加速的终端结构示意图。具体实施方式在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本专利技术的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。本专利技术实施例提供了一种深度神经网络计算加速的方法,如图1所示,包括以下步骤:S100:对需要输入到矩阵模型中的各输入向量进行采样,获得多个采样向量。S200:根据预设的量化参数对各采样向量进行乘积(product)量化,获得多个量化点。S300:根据量化参数将本文档来自技高网...

【技术保护点】
1.一种深度神经网络计算加速的方法,其特征在于,包括:对需要输入到矩阵模型中的各输入向量进行采样,获得多个采样向量;根据预设的量化参数对各所述采样向量进行乘积量化,获得多个量化点;根据所述量化参数将所述矩阵模型切分为多个矩阵块;各所述量化点与各所述矩阵块计算得到多个预计算表;通过各所述预计算表对各所述输入向量进行计算,得到所述矩阵模型的计算结果。

【技术特征摘要】
1.一种深度神经网络计算加速的方法,其特征在于,包括:对需要输入到矩阵模型中的各输入向量进行采样,获得多个采样向量;根据预设的量化参数对各所述采样向量进行乘积量化,获得多个量化点;根据所述量化参数将所述矩阵模型切分为多个矩阵块;各所述量化点与各所述矩阵块计算得到多个预计算表;通过各所述预计算表对各所述输入向量进行计算,得到所述矩阵模型的计算结果。2.如权利要求1所述的方法,其特征在于,根据预设的量化参数对各所述采样向量进行乘积量化,获得多个量化点,包括:根据量化维数对各所述采样向量进行切分;根据量化类数对切分后的各所述采样向量进行聚类,得到多个所述量化点。3.如权利要求1所述的方法,其特征在于,根据所述量化参数将所述矩阵模型切分为多个矩阵块,包括:根据量化维数将所述矩阵模型切分为多个矩阵块。4.如权利要求1所述的方法,其特征在于,各所述量化点与各所述矩阵块计算得到多个预计算表,包括:将每一个所述量化点分别与所有的所述矩阵块相乘,得到与所述量化点对应的所述预计算表。5.如权利要求1所述的方法,其特征在于,通过各所述预计算表对各所述输入向量进行计算,得到所述矩阵模型的计算结果,包括:根据量化维度将各所述输入向量切分为多个输入向量块;获取各所述输入向量块在所述输入向量中的位置以及对应的所述量化点;根据各所述输入向量块的位置和对应的所述量化点,在所述预计算表中查找出各所述输入向量块对应的预计算向量;将各所述预计算向量相加,得到所述矩阵模型与各所述输入向量的计算结果。6.如权利要求5所述的方法,其特征在于,获取各所述输入向量块在所述输入向量中的位置以及对应的所述量化点,包括:将所述输入向量块分别与所有的所述量化点按照预设度量规则进行计算;根据与各所述量化点的计算结果,选择符合所述预设度量规则的计算结果对应的所述量化点,作为所述输入向量块对应的所述量化点。7.一种深度神经网络计算加速的装置,其特征在于,包括:采样模块,用于对需要输入到矩阵模型中的各输入向量进行采样...

【专利技术属性】
技术研发人员:朱志凡冯仕堃陈徐屹朱丹翔曹宇慧何径舟
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1