处理方法及装置、运算方法及装置制造方法及图纸

技术编号:21004612 阅读:31 留言:0更新日期:2019-04-30 21:39
本公开提供了一种运算方法及装置,将量化后的数据,通过数据的查表,以实现运算操作,简化了结构,减少数据的计算能耗。同时,还实现了多元化的运算操作。

Processing Method and Device, Operating Method and Device

【技术实现步骤摘要】
处理方法及装置、运算方法及装置
本公开涉及数据处理领域,尤其涉及一种处理方法及装置、运算方法及装置。
技术介绍
神经网络(neuralnetwork)已经获得了非常成功的应用。但是神经网络的大规模参数和大规模计算成为神经网络应用的一个巨大挑战。一方面,大规模的参数对存储容量提出了很高的要求,同时导致大量的访存能耗。另一方面,大规模计算对运算单元的设计提出了很高的要求,同时导致大量的计算能耗。因此,如何减少神经网络的参数和计算量成为一个亟待解决的问题。
技术实现思路
(一)要解决的技术问题本公开的目的在于提供一种处理方法及装置、运算方法及装置,以解决上述的至少一项技术问题。(二)技术方案本公开的一方面,提供了一种处理方法,包括:分别对权值和输入神经元进行量化,确定权值字典、权值密码本、神经元字典和神经元密码本;以及根据所述权值密码本和神经元密码本,确定运算密码本。在本公开的一些实施例中,对权值进行量化包括步骤:对权值分组,对每一组权值用聚类算法进行聚类操作,将一组权值分成m类,m为正整数,每一类权值对应一个权值索引,确定权值字典,其中,权值字典包括权值位置和权值索引,权值位置指权值在神经网本文档来自技高网...

【技术保护点】
1.一种运算装置,包括:指令控制单元,用于对接收的指令进行译码,生成查找控制信息;以及查找表单元,用于根据所述查找控制信息,以及接收的权值字典、神经元字典、运算密码本、权值和输入神经元,从运算密码本中查找输出神经元。

【技术特征摘要】
1.一种运算装置,包括:指令控制单元,用于对接收的指令进行译码,生成查找控制信息;以及查找表单元,用于根据所述查找控制信息,以及接收的权值字典、神经元字典、运算密码本、权值和输入神经元,从运算密码本中查找输出神经元。2.根据权利要求1所述的运算装置,其中,所述权值字典包括权值位置和权值索引;所述神经元字典包括输入神经元和神经元索引;所述运算密码本包括权值索引、神经元索引以及输入神经元和权值的运算结果。3.根据权利要求2所述的运算装置,还包括:预处理单元,用于对外部输入的输入信息进行预处理,得到所述权值、输入神经元、指令、权值字典、神经元字典、运算密码本;存储单元,用于存储输入神经元、权值、权值字典、神经元字典、运算密码本和指令,以及接收输出神经元;缓存单元,用于缓存所述指令、输入神经元、权值、权值索引、神经元索引和输出神经元;以及直接内存存取单元,用于在所述存储单元和缓存单元之间进行数据或者指令读写。4.根据权利要求2或3所述的运算装置,其中,所述缓存单元包括:指令缓存,用于缓存所述指令,并将缓存的指令输出至指令控制单元;权值缓存,用于缓存所述权值;输入神经元缓存,用于缓存所述输入神经元;以及输出神经元缓存,用于缓存查找表单元输出的输出神经元。5.根据权利要求4所述的运算装置,其中,所述缓存单元还包括:权值索引缓存,用于缓存权值索引;以及神经元索引缓存,用于缓存神经元索引。6.根据权利要求3至5任一所述的运算装置,其中,所述预处理单元中,对外部输入的输入信息进行的预处理包括:切分、高斯滤波、二值化、正则化和/或归一化。7.根据权利要求2至6任一所述的运算装置,其中,查找表单元包括:乘法查找表:用于输入权值索引in1和神经元索引in2,通过乘法查找表经过查表操作mult_lookup,完成权值索引对应的中心权值data1和神经元索引对应的中心神经元data2的乘法操作,即用查表操作out=mult_lookup(in1,in2)完成乘法功能out=data1*data2;和/或加法查找表:用于根据输入索引in通过逐级加法查找表经过查表操作add_lookup完成索引对应的中心数据data的加法操作,其中,in和data是长度为N的向量,N是正整数,即用查表操作out=add_lookup(in)完成加法功能out=data[1]+data[2]+...+data[N],和/或输入权值索引in1和神经元索引in2通过加法查找表经过查表操作完成权值索引对应的中心权值data1和神经元索引对应的中心神经元data2的加法操作,即用查表操作out=add_lookup(in1,in2)完成加法功能,out=data1+data2;和/或池化查找表:用于输入索引对应的中心数据data的池化操作,即用查表out=poo1_lookup(in)完成池化操作out=poo1(data),池化操作包括平均值池化、最大值池化和中值池化。8.根据权利要求1至7任一所述运算装置,其中,所述指令为神经网络专用指令,所述神经网络专用指令包括:控制指令,用于控制神经网络执行过程;数据传输指令,用于完成不同存储介质之间的数据传输,数据格式包括矩阵、向量和标量;运算指令,用于完成神经网络的算术运算,包括矩阵运算指令、向量运算指令、标量运算指令、卷积神经网络运算指令、全连接神经网络运算指令、池化神经网络运算指令、RBM神经网络运算指令、LRN神经网络运算指令、LCN神经网络运算指令、LSTM神经网络运算指令、RNN神经网络运算指令、RELU神经网络运算指令、PRELU神经网络运算指令、SIGMOID神经网络运算指令、TANH神经网络运算指令、MAXOUT神经网络运算指令;以及逻辑指令,用于完成神经网络的逻辑运算,包括向量逻辑运算指令和标量逻辑运算指令。9.根据权利要求8所述的运算装置,其中,所述神经网络专用指令包括至少一种Cambricon指令,该Cambricon指令包括操作码和操作数,所述Cambricon指令包括:Cambricon控制指令用于控制执行过程,且该Cambricon控制指令包括跳转指令和条件分支指令;Cambricon数据传输指令用于完成不同存储介质之间的数据传输,包括加载指令、存储指令、搬运指令;其中,所述加载指令用于将数据从主存加载到缓存;存储指令用于将数据从缓存存储到主存;搬运指令用于在缓存与缓存或者缓存与寄存器或者寄存器与寄存器之间搬运数据;Cambricon运算指令用于完成神经网络算术运算,包括Cambricon矩阵运算指令、Cambricon向量运算指令和Cambricon标量运算指令;其中,所述Cambricon矩阵运算指令用于完成神经网络中的矩阵运算,包括矩阵乘向量、向量乘矩阵、矩阵乘标量、外积、矩阵加矩阵和矩阵减矩阵;所述Cambricon向量运算指令用于完成神经网络中的向量运算,包括向量基本运算、向量超越函数运算、内积、向量随机生成和向量中最大/最小值;Cambricon标量运算指令用于完成神经网络中的标量运算,包括标量基本运算和标量超越函数运算;以及Cambricon逻辑指令用于神经网络的逻辑运算,逻辑运算包括Cambricon向量逻辑运算指令和Cambricon标量逻辑运算指令;其中,所述Cambricon向量逻辑运算指令包括向量比较、向量逻辑运算和向量大于合并;向量逻辑运算包括与、或、非;所述Cambricon标量逻辑运算包括标量比较和标量逻辑运算。10.根据权利要求9所述的运算装置,其中,所述Cambricon数据传输指令支持以下的一种或者多种数据组织方式:矩阵、向量和标量;所述向量基本运算包括向量加、减、乘、除;向量超越函数指不满足以...

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

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

1