数据的量化装置及量化方法制造方法及图纸

技术编号:20449291 阅读:28 留言:0更新日期:2019-02-27 03:13
本公开提供了一种数据的量化方法,可以挖掘层间数据之间的相似性以及层内数据局部相似性,以挖掘数据分布特性从而进行低比特量化,减小了表示每一个数据的比特数,从而降低了数据存储开销和访存开销。此外,本公开还提供了一种数据的量化装置,集成了量化方法,用于量化数据。基于同一构思,本公开还提供了一种处理装置和处理方法,其中,处理装置能够处理量化后的网络,减少网络数据传输,减少数据传输能耗。此外,处理装置/处理方法不局限于和量化装置/量化方法相对应。

【技术实现步骤摘要】
数据的量化装置及量化方法
本公开涉及神经网络领域,尤其涉及一种数据的量化装置及量化方法、处理装置及处理方法。
技术介绍
对神经网络(neuralnetwork)的权值进行量化(quantization),能够减少表示每一个权值的比特数,从而降低权值存储开销和访存开销。但是传统的量化方法仅仅按照神经网络的层为单位进行量化,并没有挖掘神经网络层间权值的相似性以及层内权值局部相似性,在使用低比特数表示权值的同时,会降低神经网络的精度。因此,如何充分挖掘神经网络的权值分布特性进行低比特量化成为一个亟待解决的问题。公开内容(一)要解决的技术问题本公开的目的在于提供一种数据的量化装置及量化方法、处理装置及处理方法,以解决上述的至少一项技术问题。(二)技术方案本公开的一方面,提供了一种数据的量化方法,包括步骤:对权值进行分组;对每一组权值用聚类算法进行聚类操作,将一组权值分成m个类,每个类计算出一个中心权值,每个类中的所有权值都用中心权值替换,其中,m为正整数;以及对中心权值进行编码操作,得到密码本和权值字典。在本公开的一些实施例中,还包括步骤:对神经网络进行重训练,重训练时只训练密码本,权值字典内容保持不变。在本公开的一些实施例中,所述重训练采用反向传播算法。在本公开的一些实施例中,所述分组包括分为一组、层类型分组、层间分组和/或层内分组。在本公开的一些实施例中,所述聚类算法包括K-means、K-medoids、Clara和/或Clarans。在本公开的一些实施例中,所述分组为分为一组,将神经网络的所有权值归为一组。在本公开的一些实施例中,所述分组为层类型分组,对i个卷积层,j个全连接层,m个LSTM层,t种不同类型的层,其中,i,j,m为大于等于0的正整数,且满足i+j+m≥1,t为大于等于1的正整数且满足t=(i>0)+(j>0)+(m>0),将神经网络的权值将被分为t组。在本公开的一些实施例中,所述分组为层间分组,将神经网络中一个或者多个卷积层的权值、一个或者多个全连接层的权值和一个或者多个长短时记忆网络层的权值各划分成一组。在本公开的一些实施例中,所述分组为层内分组,将神经网络的卷积层作为一个四维矩阵(Nfin,Nfout,Kx,Ky),其中,Nfin,Nfout,Kx,Ky是正整数,Nfin表示输入特征图像数量,Nfout表示输出特征图像数量,(Kx,Ky)表示卷积核的大小,卷积层的权值按(Bfin,Bfout,Bx,By)的组大小被分成Nfin*Nfout*Kx*Ky/(Bfin*Bfout*Bx*By)个不同的组,其中Bfin为小于等于Nfin的正整数,Bfout为小于等于Nfout的正整数,Bx为小于等于Kx的正整数,By为小于等于Ky的正整数;将神经网络的全连接层作为一个二维矩阵(Nin,Nout),其中Nin,Nout是正整数,Nin表示输入神经元的个数,Nout表示输出神经元的个数,共有Nin*Nout个权值;全连接层权值按照(Bin,Bout)的组大小被分成(Nin*Nout)/(Bin*Bout)个不同的组,其中Bin是小于等于Nin的正整数,Bout是小于等于Nout的正整数;将神经网络的LSTM层权值作为多个全连接层的权值的组合,且LSTM层的权值由n个全连接层权值组成,其中n为正整数,则每一个全连接层都可以按照全连接层的分组方式进行分组操作。在本公开的一些实施例中,所述分组为分为一组、层内分组和层间分组,将卷积层作为一组,将全连接层进行层内分组,将LSTM层进行层间分组。在本公开的一些实施例中,所述一个类的中心权值选择方法为:使得代价函数J(w,w0)最小。在本公开的一些实施例中,所述代价函数为:其中,w是一个类中的权值,w0是该类的中心权值,n是该类中权值的数量,n为正整数,wi是该类中第i个权值,i为正整数,且1≤i≤n。本公开的另一方面,还提供了一种数据的量化装置,包括:存储器,用于存储操作指令;以及处理器,用于执行存储器中的操作指令,在执行该操作指令时依照权利要求1至12中任一所述的量化方法进行操作。在本公开的一些实施例中,所述操作指令为二进制数,包括操作码和地址码,操作码指示处理器即将进行的操作,地址码指示处理器到存储器中的地址中读取参与操作的数据。本公开的又一方面,还提供了一种处理装置,包括:控制单元,用于接收指令并进行译码,生成查找控制信息和运算控制信息;查找表单元,用于接收所述查找控制信息、权值字典和密码本,并根据查找控制信息,对权值字典和密码本进行查表操作,得到量化权值;以及运算单元,用于接收所述运算控制信息和输入神经元,并根据运算控制信息,对量化权值和输入神经元进行运算操作,得到并将输出神经元输出。在本公开的一些实施例中,还包括:预处理单元,用于对外部输入的输入信息进行预处理,得到所述输入神经元、权值字典、密码本和指令;存储单元,用于存储输入神经元、权值字典、密码本和指令,以及接收输出神经元;缓存单元,用于缓存所述指令、输入神经元、输出神经元、权值字典和密码本;以及直接内存存取单元,用于在所述存储单元和缓存单元之间进行数据或者指令读写。在本公开的一些实施例中,所述预处理单元中,对外部输入的输入信息进行的预处理包括:切分、高斯滤波、二值化、正则化和/或归一化。在本公开的一些实施例中,所述缓存单元包括:指令缓存,用于缓存所述指令;输入神经元缓存,用于缓存所述输入神经元;以及输出神经元缓存,用于缓存所述输出神经元。在本公开的一些实施例中,所述缓存单元还包括:权值字典缓存,用于缓存所述权值字典;以及密码本缓存,用于缓存所述密码本。在本公开的一些实施例中,所述指令为神经网络专用指令。在本公开的一些实施例中,所述神经网络专用指令包括:控制指令,用于控制神经网络执行过程;数据传输指令,用于完成不同存储介质之间的数据传输,数据格式包括矩阵、向量和标量;运算指令,用于完成神经网络的算术运算,包括矩阵运算指令、向量运算指令、标量运算指令、卷积神经网络运算指令、全连接神经网络运算指令、池化神经网络运算指令、RBM神经网络运算指令、LRN神经网络运算指令、LCN神经网络运算指令、LSTM神经网络运算指令、RNN神经网络运算指令、RELU神经网络运算指令、PRELU神经网络运算指令、SIGMOID神经网络运算指令、TANH神经网络运算指令、MAXOUT神经网络运算指令;以及逻辑指令,用于完成神经网络的逻辑运算,包括向量逻辑运算指令和标量逻辑运算指令。在本公开的一些实施例中,所述神经网络专用指令包括至少一种Cambricon指令,该Cambricon指令包括操作码和操作数,所述Cambricon指令包括:Cambricon控制指令用于控制执行过程,且该Cambricon控制指令包括跳转指令和条件分支指令;Cambricon数据传输指令用于完成不同存储介质之间的数据传输,包括加载指令、存储指令、搬运指令;其中,所述加载指令用于将数据从主存加载到缓存;存储指令用于将数据从缓存存储到主存;搬运指令用于在缓存与缓存或者缓存与寄存器或者寄存器与寄存器之间搬运数据;Cambricon运算指令用于完成神经网络算术运算,包括Cambricon矩阵运算指令、Cambricon向量运算指令本文档来自技高网...

【技术保护点】
1.一种数据的量化方法,包括步骤:对权值进行分组;对每一组权值用聚类算法进行聚类操作,将一组权值分成m个类,每个类计算出一个中心权值,每个类中的所有权值都用中心权值替换,其中,m为正整数;以及对中心权值进行编码操作,得到密码本和权值字典。

【技术特征摘要】
1.一种数据的量化方法,包括步骤:对权值进行分组;对每一组权值用聚类算法进行聚类操作,将一组权值分成m个类,每个类计算出一个中心权值,每个类中的所有权值都用中心权值替换,其中,m为正整数;以及对中心权值进行编码操作,得到密码本和权值字典。2.根据权利要求1所述的量化方法,其中,还包括步骤:对神经网络进行重训练,重训练时只训练密码本,权值字典内容保持不变。3.根据权利要求2所述的量化方法,其中,所述重训练采用反向传播算法。4.根据权利要求1至3中任一所述的量化方法,其中,所述分组包括分为一组、层类型分组、层间分组和/或层内分组。5.根据权利要求1至4中任一所述的量化方法,其中,所述聚类算法包括K-means、K-medoids、Clara和/或Clarans。6.根据权利要求4或5所述的量化方法,其中,所述分组为分为一组,将神经网络的所有权值归为一组。7.根据权利要求4或5所述的量化方法,其中,所述分组为层类型分组,对i个卷积层,j个全连接层,m个LSTM层,t种不同类型的层,其中,i,j,m为大于等于0的正整数,且满足i+j+m≥1,t为大于等于1的正整数且满足t=(i>0)+(j>0)+(m>0),将神经网络的权值将被分为t组。8.根据权利要求4或5所述的量化方法,其中,所述分组为层间分组,将神经网络中一个或者多个卷积层的权值、一个或者多个全连接层的权值和一个或者多个长短时记忆网络层的权值各划分成一组。9.根据权利要求4或5所述的量化方法,其中,所述分组为层内分组,将神经网络的卷积层作为一个四维矩阵(Nfin,Nfout,Kx,Ky),其中,Nfin,Nfout,Kx,Ky是正整数,Nfin表示输入特征图像数量,Nfout表示输出特征图像数量,(Kx,Ky)表示卷积核的大小,卷积层的权值按(Bfin,Bfout,Bx,By)...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海,31

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

1