An apparatus and method for implementing a sparse convolution neural network accelerator are provided. In the apparatus of the present invention, a convolution and a pooling unit, a full connection unit and a control unit are included. Read the information and input data and parameters of the convolution calculation according to the control information through the intermediate data, and read the whole connection layer weight matrix position information, according to the operation of the first pool convolution and the number of iterations of the input data convolution parameter information, then according to the calculation of the connection weight matrix connection layer position information for second iterations. Each input data is divided into several sub blocks, and a plurality of sub blocks are operated in parallel by a convolution and a pooling unit and a full connection unit. The invention uses special circuit, support the connection layer sparse convolution neural network, using Ping Pang cache parallel design and pipeline design, effectively balance the I/O bandwidth and computational efficiency, and obtain better performance and power consumption.
【技术实现步骤摘要】
用于实现稀疏卷积神经网络加速器的装置和方法
本专利技术涉及人工神经网络,更具体涉及用于实现稀疏卷积神经网络加速器的装置和方法。
技术介绍
人工神经网络(ArtificialNeuralNetworks,ANN)也简称为神经网络(NN),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。近年来神经网络发展很快,被广泛应用于很多领域,包括图像识别、语音识别,自然语言处理,天气预报,基因表达,内容推送等等。图1图示说明了人工神经网络中的一个神经元的计算原理图。神经元的积累的刺激是由其他神经元传递过来的刺激量和对应的权重之和,用Xj表示在第j个神经元的这种积累,Yi表示第i个神经元传递过来的刺激量,Wi表示链接第i个神经元刺激的权重,得到公式:Xj=(y1*W1)+(y2*W2)+...+(yi*Wi)+...+(yn*Wn)而当Xj完成积累后,完成积累的第j个神经元本身对周围的一些神经元传播刺激,将其表示为yj得到如下所示:yj=f(Xj)第j个神经元根据积累后Xj的结果进行处理后,对外传递刺激yj。用f函数映射来表示这种处理,将它称之为激活函数。 ...
【技术保护点】
一种用于实现稀疏卷积神经网络加速器的装置,包括:卷积与池化单元,用于根据卷积参数信息对输入数据进行第一迭代次数的卷积与池化操作,以最终得到稀疏神经网络的输入向量,其中,每个输入数据被分割为多个子块,由卷积与池化单元对多个子块并行进行卷积与池化操作;全连接单元,用于根据全连接层权值矩阵位置信息对输入向量进行第二迭代次数的全连接计算,以最终得到稀疏卷积神经网络的计算结果,其中,每个输入向量被分割为多个子块,由全连接单元对多个子块并行进行全连接操作;控制单元,用于确定并且向所述卷积与池化单元和所述全连接单元分别发送所述卷积参数信息和所述全连接层权值矩阵位置信息,并且对上述单元中的 ...
【技术特征摘要】
1.一种用于实现稀疏卷积神经网络加速器的装置,包括:卷积与池化单元,用于根据卷积参数信息对输入数据进行第一迭代次数的卷积与池化操作,以最终得到稀疏神经网络的输入向量,其中,每个输入数据被分割为多个子块,由卷积与池化单元对多个子块并行进行卷积与池化操作;全连接单元,用于根据全连接层权值矩阵位置信息对输入向量进行第二迭代次数的全连接计算,以最终得到稀疏卷积神经网络的计算结果,其中,每个输入向量被分割为多个子块,由全连接单元对多个子块并行进行全连接操作;控制单元,用于确定并且向所述卷积与池化单元和所述全连接单元分别发送所述卷积参数信息和所述全连接层权值矩阵位置信息,并且对上述单元中的各个迭代层级的输入向量读取与状态机进行控制。2.根据权利要求1所述的用于实现稀疏卷积神经网络加速器的装置,其中,所述卷积与池化单元进一步包括:卷积单元,用于进行输入数据与卷积参数的乘法运算;累加树单元,用于累加卷积单元的输出结果,以完成卷积运算;非线性单元,用于对卷积运算结果进行非线性处理;池化单元,用于对非线性处理后的运算结果进行池化操作,以得到下一迭代级的输入数据或最终得到稀疏神经网络的输入向量。3.根据权利要求1所述的用于实现稀疏卷积神经网络加速器的装置,其中,所述全连接单元进一步包括:输入向量缓存单元,用于缓存稀疏神经网络的输入向量;指针信息缓存单元,用于根据全连接层权值矩阵位置信息,缓存压缩后的稀疏神经网络的指针信息;权重信息缓存单元,用于根据压缩后的稀疏神经网络的指针信息,缓存压缩后的稀疏神经网络的权重信息;算术逻辑单元,用于根据压缩后的稀疏神经网络的权重信息与输入向量进行乘累加计算;输出缓存单元,用于缓存算术逻辑单元的中间计算结果以及最终计算结果;激活函数单元,用于对输出缓存单元中的最终计算结果进行激活函数运算,以得到稀疏卷积神经网络的计算结果。4.根据权利要求2所述的用于实现稀疏卷积神经网络加速器的装置,其中,所述累加树单元除了累加卷积单元的输出结果以外,还根据卷积参数信息而加上偏置。5.根据权利要求3所述的用于实现稀疏卷积神经网络加速器的装置,其中,所述压缩后的稀疏神经网络的权重信息包括位置索引值和权重值,所述算术逻辑单元被进一步配置为:将权重值与输入向量的对应元素进行乘法运算,根据位置索引值,读取所述输出缓存单元中相应位置的数据,与上述乘法运算的结果相加,根据位置索引值,...
【专利技术属性】
技术研发人员:谢东亮,张玉,单羿,
申请(专利权)人:北京深鉴智能科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。