一种用于实现稀疏神经网络的装置和方法制造方法及图纸

技术编号:16365837 阅读:51 留言:0更新日期:2017-10-10 21:58
本发明专利技术提出一种稀疏神经网络加速器的实现装置和方法。该装置包括输入接收单元、稀疏矩阵读取单元、M*N个计算单元、控制单元和输出缓存单元。本发明专利技术还提出了一种用于该装置的并行计算方法,不仅可以在输入向量维度上做共享,也可以在稀疏神经网络的权值矩阵维度上做共享。本发明专利技术提出的装置和方法,大大降低了内存访问量,减少了片上缓存数量,有效地平衡了片上缓存、I/O访问以及计算之间的关系,提高了计算模块性能。

An apparatus and method for implementing a sparse neural network

The invention provides a device and a method for realizing a sparse neural network accelerator. The device comprises an input receiving unit, a sparse matrix reading unit, a M*N computing unit, a control unit and an output buffer unit. The invention also provides a parallel computing method for the device, which can not only share on the input vector dimension, but also share on the dimension of the weight matrix of the sparse neural network. Method and apparatus of the present invention, greatly reduces the amount of memory access, reduce the number of cache, effectively balance the relationship between the cache and I/O access and calculation on chip, improve the calculation module performance.

【技术实现步骤摘要】
一种用于实现稀疏神经网络的装置和方法
本专利技术的目的在于提供一种稀疏神经网络加速器的实现装置和方法,以便达到提高运算效率的目的。
技术介绍
人工神经网络(ArtificialNeuralNetworks,ANN)也简称为神经网络(NNs),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。近年来神经网络发展很快,被广泛应用于很多领域,包括图像识别、语音识别,自然语言处理,天气预报,基因表达,内容推送等等。如图1所示,神经元的积累的刺激是由其他神经元传递过来的刺激量和对应的权重之和,用Xj表示这种积累,Yi表示某个神经元传递过来的刺激量,Wi表示链接某个神经元刺激的权重,得到公式:Xj=(y1*W1)+(y2*W2)+...+(yi*Wi)+...+(yn*Wn)(1)当Xj完成积累后,完成积累的神经元本身对周围的一些神经元传播刺激,将其表示为yj得到如下所示:yj=f(Xj)(2)神经元根据积累后Xj的结果进行处理后,对外传递刺激yj。用f函数映射来表示这种处理,将它称之为激活函数。在近几年里,神经网络的规模不断增长,公开的比较先进的神经网络都有数亿个链接,属本文档来自技高网...
一种用于实现稀疏神经网络的装置和方法

【技术保护点】
一种用于实现稀疏神经网络的装置,包括:输入接收单元,用于接收多个输入向量a0,a1,…;稀疏矩阵读取单元,用于读取所述稀疏神经网络的权重矩阵W,其中所述权重矩阵W被用于表示所述稀疏神经网络中的一层的权重;M*N个计算单元PExy,x取值0,1,…M‑1,y取值0,1,…N‑1,x表示第x组PE,y表示某组PE中的第y个PE,控制单元,用于进行:把M个输入向量ai提供给对应的M组计算单元PE,以及把稀疏矩阵W的一部分Wp提供给各组计算单元中的第j个计算单元,j取值0,1,…N‑1,其中各个计算单元PE对所分配的输入向量ai和稀疏矩阵的一部分Wp进行计算,输出缓存单元,用于把多个计算单元的计算结果...

【技术特征摘要】
1.一种用于实现稀疏神经网络的装置,包括:输入接收单元,用于接收多个输入向量a0,a1,…;稀疏矩阵读取单元,用于读取所述稀疏神经网络的权重矩阵W,其中所述权重矩阵W被用于表示所述稀疏神经网络中的一层的权重;M*N个计算单元PExy,x取值0,1,…M-1,y取值0,1,…N-1,x表示第x组PE,y表示某组PE中的第y个PE,控制单元,用于进行:把M个输入向量ai提供给对应的M组计算单元PE,以及把稀疏矩阵W的一部分Wp提供给各组计算单元中的第j个计算单元,j取值0,1,…N-1,其中各个计算单元PE对所分配的输入向量ai和稀疏矩阵的一部分Wp进行计算,输出缓存单元,用于把多个计算单元的计算结果进行累加并输出多个输出向量b0,b1,…。2.根据权利要求1的装置,其中所述控制单元被进一步配置为:把M个输入向量ai提供给对应的M组计算单元PE,其中i的选取方式为:i(MODM)=0,1,…M-1。3.根据权利要求1的装置,其中所述控制单元被进一步配置为:把稀疏矩阵W的所述部分Wp提供给各组计算单元中的第j个计算单元PExj,其中对应于该j个计算单元PExj的稀疏矩阵W的所述部分Wp的选取方式为:选择W的第p行,其中p(MODN)=j,p取值为0,…,P-1,j=0,1,…N-1,所述矩阵W的大小为P*Q。4.根据权利要求1的装置,其中所述稀疏权重矩阵W以CCS或CRS格式压缩存储。5.根据权利要求1的装置,其中所述稀疏权重矩阵W通过使用索引和查找表被编码。6.根据权利要求4的装置,所述稀疏矩阵读取单元进一步包括:位置单元,用于读取存储稀疏权重矩阵W中的各个非零权重值的位置信息。7.根据权利要求5的装置,所述稀疏矩阵读取单元进一步包括:解码单元,用于对编码权重矩阵进行解码,以获得权重矩阵中的非零权重值。8.根据权利要求1的装置,还包括:前置零检测单元,用于检测所述输入向量中的非零值,并输出给所述输入接收单元。9.根据权利要求1的装置,所述输入接收单元还包括:多个先进先出缓存(FIFO)单元,各个先进先出缓存(FIFO)单元与各组计算单元相对应。10.根据权利要求1的装置,所述输出缓存单元还包括:第一输出缓冲器和第二输出缓冲器,所述第一、第二输出缓冲器交替地接收并输出各个计算结果,其中在一个输出缓冲器接收当前计算结果时,另一个输...

【专利技术属性】
技术研发人员:谢东亮康君龙韩松
申请(专利权)人:北京深鉴科技有限公司
类型:发明
国别省市:北京,11

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

1