一种人工神经网络运算的装置及方法制造方法及图纸

技术编号:18554388 阅读:22 留言:0更新日期:2018-07-28 11:14
一种人工神经网络运算的装置和方法,人工神经网络运算的装置包括:映射单元,接收输入神经元和权值,产生输入神经元和输出神经元的连接关系数据,输出映射后的输入神经元和权值,所述映射后的输入神经元和权值的对应关系为输入神经元‑权值对,所述映射单元包括:第一映射单元,用于去除绝对值小于或等于第一阈值的权值;和/或第二映射单元,用于去除绝对值小于或等于第二阈值的输入神经元。

【技术实现步骤摘要】
一种人工神经网络运算的装置及方法
本专利技术涉及数据处理
,更具体地涉及一种人工神经网络运算的装置和方法。
技术介绍
人工神经网络(ArtificialNeuralNetworks,ANNs)简称为神经网络(NNs),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间的相互连接关系数据,从而达到处理信息的目的。神经网络用到的算法就是向量乘法,并且广泛采用符号函数及其各种逼近。神经网络被广泛应用于各种应用场景:计算视觉、语音识别和自然语言处理等。在近几年的时间里,神经网络的规模一直在增长。在1998年,Lecun用于手写字符识别的神经网络的规模小于1M个权值;在2012年,krizhevsky用于参加ImageNet竞赛的规模是60M个权值。神经网络是一个高计算量和高访存的应用,权值越多,计算量和访存量都会增大。随着神经网络计算量和访存量的急剧增大,现有技术中通常采用通用处理器计算人工神经网络。对于通用处理器,输入神经元、输出神经元和权重分别存储在三个数组中,同时还有一个索引数组,索引数组存储了每个输出和输入连接的连接关系数据。在计算时,主要的运算是神经元与权值相乘。由于权值和神经元不是一一对应的关系,所以每一次运算都要通过索引数组找到神经元对应的权值。由于通用处理器计算能力和访存能力都很弱,满足不了神经网络的需求。而多个通用处理器并行执行时,通用处理器之间相互通讯又成为了性能瓶颈。在计算剪枝之后的神经网络时,每次乘法运算都要去索引数组里重新查找权值对应的位置,增加了额外的计算量和访存开销。因此计算神经网络耗时长,功耗高。通用处理器需要把多层人工神经网络运算译码成一长列运算及访存指令序列,处理器前端译码带来了较大的功耗开销。另一种支持人工神经网络运算及其训练算法的已知方法是使用图形处理器(GPU),该方法通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来支持上述算法。但由于GPU是专门用来执行图形图像运算以及科学计算的设备,没有对人工神经网络运算的专门支持,仍然需要大量的前端译码工作才能执行人工神经网络运算,带来了大量的额外开销。另外GPU只有较小的片上缓存,多层人工神经网络的模型数据(权值)需要反复从片外搬运,片外带宽成为了主要性能瓶颈,同时带来了巨大的功耗开销。
技术实现思路
鉴于现有方案存在的问题,为了克服上述现有技术方案的不足,本专利技术提出了一种人工神经网络运算的装置和方法。根据本专利技术的一方面,提供一种人工神经网络运算的装置,包括:映射单元,接收输入神经元和权值,产生输入神经元和输出神经元的连接关系数据,输出映射后的输入神经元和权值,所述映射后的输入神经元和权值的对应关系为输入神经元-权值对,所述映射单元包括:第一映射单元,用于去除绝对值小于或等于第一阈值的权值;和/或第二映射单元,用于去除绝对值小于或等于第二阈值的输入神经元。在一些实施例中,第一映射单元包括:第一映射判断单元,用于判断每一输入的权值的绝对值是否小于或等于第一阈值;以及第一映射执行单元,基于所述第一映射判断单元的判断结果产生所述连接关系数据,去除绝对值小于或等于第一阈值的权值,输出所述输入神经元-权值对;和/或第二映射单元包括:第二映射判断单元,用于判断每一输入的输入神经元的绝对值是否小于或等于第二阈值;以及第二映射执行单元,基于所述第二映射判断单元的判断结果产生所述连接关系数据,去除绝对值小于或等于第二阈值的输入神经元,输出所述输入神经元-权值对。在一些实施例中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,所述第一映射单元(11)的第一映射执行单元(112)产生所述连接关系数据包括:对第j个输出神经元Oj得到其对应的连接关系数据,对应于输入层的N个节点,所述接关系数据有N位,初始时,所述N位的值都置为1,N个输入神经元I1,I2,...,IN与输出神经元Oj之间均有连接,若第i个输入神经元Ii与输出神经元Oj之间的权值的绝对值小于或等于第一阈值,将该连接关系数据中第i位的值置为0,Ii与Oj之间无连接,将所有的输出神经元O1,O2,...,OM的连接关系数据拼合为一个向量,该向量的第N×(j-1)+1个分量到第N×j个分量为输出神经元Oj对应的连接关系数据。在一些实施例中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,所述第一映射单元(11)的第一映射执行单元(112)产生所述连接关系数据包括:对第j个输出神经元Oj得到其对应的连接关系数据,若第i个输入神经元Ii与输出神经元Oj之间的权值的绝对值小于或等于第一阈值,则Ii与Oj之间无连接,否则有连接,与Oj有连接的n个输入神经元为Ii_1,Ii_2,...,Ii_n,其中1≤i_1<i_2<...<i_n≤N,输出神经元Oj对应的连接关系数据有n位,第1位值等于i_1-1,连接关系数据第k位的值等于i_k-i_(k-1),其中,n≥k>1。在一些实施例中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,所述第二映射单元的第二映射执行单元产生所述连接关系数据包括:对第j个输出神经元Oj得到其对应的连接关系数据,对应于输入层的N个节点,所述连接关系数据有N位,初始时,所述N位的值都置为1,N个输入神经元I1,I2,...,IN与输出神经元Oj之间均有连接,若第i个输入神经元Ii的绝对值小于或等于第二阈值,将该连接关系数据中第i位的值置为0,Ii与Oj之间无连接,将所有的输出神经元O1,O2,...,OM的连接关系数据拼合为一个向量,该向量的第N×(j-1)+1个分量到第N×j个分量为输出神经元Oj对应的连接关系数据。在一些实施例中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,所述第二映射单元的第二映射执行单元产生所述连接关系数据包括:对第j个输出神经元Oj得到其对应的连接关系数据,若第i个输入神经元Ii的绝对值小于或等于第二阈值,则Ii与Oj之间无连接,否则有连接,与Oj有连接的n个输入神经元为Ii_1,Ii_2,...,Ii_n,其中1≤i_1<i_2<...<i_n≤N,输出神经元Oj对应的连接关系数据有n位,第1位值等于i_1-1,连接关系数据第k位的值等于i_k-i_(k-1),其中,n≥k>1。在一些实施例中,人工神经网络运算的装置还包括:存储单元,用于存储外界输入的数据及指令,所述数据包括输入神经元和权值,所述映射单元调取所述输入神经元和权值并输出映射后的输入神经元和权值;运算单元,用于调取所述映射后的输入神经元和权值并进行运算获得输出神经元。在一些实施例中,所述运算装置包括:乘法运算单元;至少一个加法器;和/或非线性变换单元。在一些实施例中,人工神经网络运算的装置还包括:指令缓存单元,用于缓存所述指令;输入神经元缓存,用于缓存所述映射后的输入神经元;权值缓存,用于缓存所述映射后的权值;控制单元,用于读取所述指令缓存单元中的本文档来自技高网
...

【技术保护点】
1.一种人工神经网络运算的装置,包括:映射单元(1),接收输入神经元和权值,产生输入神经元和输出神经元的连接关系数据,输出映射后的输入神经元和权值,所述映射后的输入神经元和权值的对应关系为输入神经元‑权值对,所述映射单元(1)包括:第一映射单元(11),用于去除绝对值小于或等于第一阈值的权值;和/或第二映射单元(12),用于去除绝对值小于或等于第二阈值的输入神经元。

【技术特征摘要】
2016.12.23 CN 20161121402801.一种人工神经网络运算的装置,包括:映射单元(1),接收输入神经元和权值,产生输入神经元和输出神经元的连接关系数据,输出映射后的输入神经元和权值,所述映射后的输入神经元和权值的对应关系为输入神经元-权值对,所述映射单元(1)包括:第一映射单元(11),用于去除绝对值小于或等于第一阈值的权值;和/或第二映射单元(12),用于去除绝对值小于或等于第二阈值的输入神经元。2.根据权利要求1所述的装置,其中第一映射单元(11)包括:第一映射判断单元(111),用于判断每一输入的权值的绝对值是否小于或等于第一阈值;以及第一映射执行单元(112),基于所述第一映射判断单元(111)的判断结果产生所述连接关系数据,去除绝对值小于或等于第一阈值的权值,输出所述输入神经元-权值对;和/或第二映射单元(12)包括:第二映射判断单元(121),用于判断每一输入的输入神经元的绝对值是否小于或等于第二阈值;以及第二映射执行单元(122),基于所述第二映射判断单元(121)的判断结果产生所述连接关系数据,去除绝对值小于或等于第二阈值的输入神经元,输出所述输入神经元-权值对。3.根据权利要求2所述的装置,其中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,所述第一映射单元(11)的第一映射执行单元(112)产生所述连接关系数据包括:对第j个输出神经元Oj得到其对应的连接关系数据,对应于输入层的N个节点,所述接关系数据有N位,初始时,所述N位的值都置为1,N个输入神经元I1,I2,...,IN与输出神经元Oj之间均有连接,若第i个输入神经元Ii与输出神经元Oj之间的权值的绝对值小于或等于第一阈值,将该连接关系数据中第i位的值置为0,Ii与Oj之间无连接,将所有的输出神经元O1,O2,...,OM的连接关系数据拼合为一个向量,该向量的第N×(j-1)+1个分量到第N×j个分量为输出神经元Oj对应的连接关系数据。4.根据权利要求2所述的装置,其中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,所述第一映射单元(11)的第一映射执行单元(112)产生所述连接关系数据包括:对第j个输出神经元Oj得到其对应的连接关系数据,若第i个输入神经元Ii与输出神经元Oj之间的权值的绝对值小于或等于第一阈值,则Ii与Oj之间无连接,否则有连接,与Oj有连接的n个输入神经元为Ii_1,Ii_2,...,Ii_n,其中1≤i_1<i_2<...<i_n≤N,输出神经元Oj对应的连接关系数据有n位,第1位值等于i_1-1,连接关系数据第k位的值等于i_k-i_(k-1),其中,n≥k>1。5.根据权利要求2所述的装置,其中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,所述第二映射单元(12)的第二映射执行单元(122)产生所述连接关系数据包括:对第j个输出神经元Oj得到其对应的连接关系数据,对应于输入层的N个节点,所述连接关系数据有N位,初始时,所述N位的值都置为1,N个输入神经元I1,I2,...,IN与输出神经元Oj之间均有连接,若第i个输入神经元Ii的绝对值小于或等于第二阈值,将该连接关系数据中第i位的值置为0,Ii与Oj之间无连接,将所有的输出神经元O1,O2,...,OM的连接关系数据拼合为一个向量,该向量的第N×(j-1)+1个分量到第N×j个分量为输出神经元Oj对应的连接关系数据。6.根据权利要求2所述的装置,其中,神经网络的输入层具有N个输入神经元I1,I2,...,IN,输出层具有M个输出神经元O1,O2,...,OM,所述第二映射单元(12)的第二映射执行单元(122)产生所述连接关系数据包括:对第j个输出神经元Oj得到其对应的连接关系数据,若第i个输入神经元Ii的绝对值小于或等于第二...

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

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

1