一种卷积神经网络中卷积运算数据复用装置制造方法及图纸

技术编号:23288319 阅读:14 留言:0更新日期:2020-02-08 18:19
本发明专利技术提供了一种卷积神经网络中卷积运算数据复用装置,包括4个RAM、一个数据整形复用器、以及一组乘累加计算单元,其中,第一RAM和第二RAM为真双端口ram,用于存放输入的待计算图像,第三ram用于存储卷积核,第四ram于存储乘累加后的结果;数据整形复用器包括一组D触发器搭建的时序电路,实现了对数据的复用;乘累加计算单元包括乘累加单元,多组乘累加单元组合在一起并行计算,构成一个乘累加计算单元。本发明专利技术通过构建一个数据整形复用器,实现了前后两个时钟周期数据的复用,使得每个时钟周期只读取部分数据到数据整形复用器中,通过在数据整形复用器中适当的移位操作就可以组合成下一排计算所需要的全部数据。

A data multiplexing device of convolution operation in convolution neural network

【技术实现步骤摘要】
一种卷积神经网络中卷积运算数据复用装置
本专利技术涉及一种卷积神经网络中卷积运算数据复用装置。
技术介绍
随着人工智能时代的到来,以卷积神经网络(ConvolutionNeuralNetwork,简称CNN)为代表的深度神经网络,已经广泛应用于图像分类、物体检测、视频监控等领域。然而,在以CPU或GPU为中心的通用计算系统中,难以应对CNN中大量的数据搬运和复杂的计算带来的挑战,尤其是CNN网络中计算规模最大的卷积核计算。以一副图像进行3x3卷积核计算为例,在计算的过程中存在大量的数据复用情况的发生,若每次计算都需要CPU从内存中读取9个待计算数据和9个卷积核数值,则最多时一幅图像内的同一个数据需要重复读取9次,当有9个卷积核需要同时计算时,则同一个数据需要重复读取81次。CPU大量的时间都会花费在数据的搬移上,大大影响了运算执行的效率。
技术实现思路
有鉴于此,本专利技术旨在提出一种卷积神经网络中卷积运算数据复用装置,以解决同一数据被大量重复从内存频繁搬移的问题。为达到上述目的,本专利技术的技术方案是这样实现的:一种卷积神经网络中卷积运算数据复用装置,包括4个RAM、一个数据整形复用器、以及一组乘累加计算单元,其中,第一RAM和第二RAM为真双端口ram,连接数据整形复用器,用于存放输入的待计算图像,第三ram连接乘累加计算单元,用于存储卷积核,第四ram连接乘累加计算单元,用于存储乘累加后的结果;数据整形复用器包括一组D触发器搭建的时序电路,实现了对数据的复用;乘累加计算单元包括乘累加单元,多组乘累加单元组合在一起并行计算,构成一个乘累加计算单元,其中,乘累加单元包括一个乘法器和一个加法器。进一步的,所述数据整形复用器包括四个行移位器,每一个行移位器内部包括深度为4宽度为1的移位寄存器,移位寄存器包括4个D触发器,在行移位器内部,数据移位的方向可以在两个方向上移位,在4个行移位器之间,也可以在两个方向上移位。进一步的,所述数据整形复用器中,第一行移位器的输出端通过选通器连接第二行移位器,第四行移位器的输出端通过选通器连接第三行移位器,第二行移位器的输入端通过选通器连接第四行移位器的输入端,第一行移位器的输入端通过选通器连接第三行移位器的输入端,第一行移位器的输入端通过选通器连接第四行移位器的输入端。进一步的,设计数据整形复用器4种动作,分别为上移、下移、左移、右移,当左移发生时,每个行移位器中,第二D触发器reg2的数据存入第一D触发器reg1中,第三D触发器reg3的数据存入第二D触发器reg2中,第四D触发器reg4的数据存入第三D触发器reg3中,从ram中读出的数据分别存入每个行移位器的第四D触发器reg4中;当右移发生时,每个行移位器中,第三D触发器reg3的数据存入第四D触发器reg4中,第二D触发器reg2的数据存入第三D触发器reg3中,第一D触发器reg1的数据存入第二D触发器reg2中,从ram中读出的数据分别存入每个行移位器的第一D触发器reg1中;当上移发生时,第二行移位器中的数据存入第一行移位器中,第三行移位器中的数据存入第二行移位器中,第四行移位器中的输入存入第三行移位器中,从ram读出的数据存入第四行移位器中;当下移发生时,第三行移位器中的数据存入第四行移位器中,第二行移位器中的数据存入第三行移位器中,第一行移位器中的数据存入第二行移位器中,从ram中读出的数据存入第一行移位器中。相对于现有技术,本专利技术所述的一种卷积神经网络中卷积运算数据复用装置具有以下优势:(1)本专利技术大幅降低了多个乘累加并行加速计算时对ram接口数据吞吐量的压力;(2)本专利技术的数据整形复用器的电路只通过多组移位寄存器即可实现四个方向上的移动,电路结构实现简单;(3)运用本专利技术的电路结构,数据整形复用器仅与乘累加加速单元的数量相关,而对乘累加加速单元原则上没有形状的限制,并不限定为正方形或矩阵形式,也不限定卷积神经网络的具体算法、卷积核尺寸和神经元数量,因此适用于所有存在大量数据复用的卷积运算中。附图说明构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术的实施例中卷积神经网络中卷积运算数据复用装置的结构示意图;图2为本专利技术实施例所述的调整后的控制逻辑计算流程示意图;图3为本专利技术实施例所述的PxQ个数据位置关系示意图;图4为本专利技术实施例所述的数据整形复用器的结构示意图。具体实施方式需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本专利技术。如图1所示,本专利技术提供一种卷积神经网络中卷积运算数据复用装置,共由四个RAM、一个数据整形复用器和一组乘累加计算单元组成,其中ram1和ram2为真双端口ram,用来存放输入的待计算图像,ram3用来存储卷积核,ram4用来存储乘累加后的结果。数据整形复用器由一组D触发器搭建的时序电路组成,实现了对数据的复用。一个乘法器和一个加法器构成一个乘累加单元,多组乘累加单元组合在一起并行计算,构成了一个乘累加并行加速计算部件。假设并行乘累加单元的数量为N个,每个乘累加单元可以完成一个图像点的卷积计算,考虑到多组计算同时进行,则可由N个乘累加公式同时开展运算,为达到最优的数据复用效果,假设公式N=Q*P成立,则有如下公式表述计算过程:式中,y表示输出图像中某一元素;x表示输入图像的某一元素;k表示卷积核的某一个值;K表示卷积核的尺寸,卷积核的元素数目为K2个,对于某种卷积神经网络的某一层而言一般为一个常数,不同层的卷积核可能有所不同;H的值与K值相关,当K为奇数时,当K为偶数时,考虑到每个公式由一个乘累加单元独立完成计算,多个乘累加单元并行工作,因此,在每个时钟周期,需要数据整形复用器输出N个输入图像x的数值和1个卷积核的k值。如果再考虑到一副图像需要针对S个卷积核进行计算,则公式会变为:式中,S表示卷积核的数量。通过仔细观察上述公式,可以看到如下规律:1)当某个时钟周期增加或减小1时,移位缓存阵列中只有Q个数据发生了更新,需要从RAM中重新读取;2)当某个时钟周期r增加或减小1时,移位缓存阵列中只有P个数据发生了更新,需要从RAM中重新读取;3)当某个时钟周期s增加或减小1时,移位缓存阵列的输出保持不变,只有卷积核的卷积值k需要更新。因此,如果控制逻辑的计算顺序,使得同一时钟周期内l、r和s不会同时发生变化时,则每个时钟数据整形复用器从ram中读取的数据量不会超过P和Q最大值个数据。为了实现这一目的,可将每个计算公式调整为:这样调整后,l、r和s的变化过程如图2所示,图2中定义了l_inr变量控本文档来自技高网...

【技术保护点】
1.一种卷积神经网络中卷积运算数据复用装置,其特征在于:包括4个RAM、一个数据整形复用器、以及一组乘累加计算单元,其中,/n第一RAM和第二RAM为真双端口ram,连接数据整形复用器,用于存放输入的待计算图像,第三ram连接乘累加计算单元,用于存储卷积核,第四ram连接乘累加计算单元,用于存储乘累加后的结果;/n数据整形复用器包括一组D触发器搭建的时序电路,实现了对数据的复用;/n乘累加计算单元包括乘累加单元,多组乘累加单元组合在一起并行计算,构成一个乘累加计算单元,其中,乘累加单元包括一个乘法器和一个加法器。/n

【技术特征摘要】
1.一种卷积神经网络中卷积运算数据复用装置,其特征在于:包括4个RAM、一个数据整形复用器、以及一组乘累加计算单元,其中,
第一RAM和第二RAM为真双端口ram,连接数据整形复用器,用于存放输入的待计算图像,第三ram连接乘累加计算单元,用于存储卷积核,第四ram连接乘累加计算单元,用于存储乘累加后的结果;
数据整形复用器包括一组D触发器搭建的时序电路,实现了对数据的复用;
乘累加计算单元包括乘累加单元,多组乘累加单元组合在一起并行计算,构成一个乘累加计算单元,其中,乘累加单元包括一个乘法器和一个加法器。


2.根据权利要求1所述的一种卷积神经网络中卷积运算数据复用装置,其特征在于:所述数据整形复用器包括四个行移位器,每一个行移位器内部包括深度为4宽度为1的移位寄存器,移位寄存器包括4个D触发器,在行移位器内部,数据移位的方向可以在两个方向上移位,在4个行移位器之间,也可以在两个方向上移位。


3.根据权利要求2所述的一种卷积神经网络中卷积运算数据复用装置,其特征在于:所述数据整形复用器中,第一行移位器的输出端通过选通器连接第二行移位器,第四行移位器的输出端通过选通器连接第三行移位器,第二行移位器的输入端通过选通器连接第四行移位器的输入端,第一行移位器的输入端通过...

【专利技术属性】
技术研发人员:陶常勇刘勤让沈剑良宋克朱珂高彦钊陈艇王元磊林德伟张波张钦元张霞赵玉林闻亮
申请(专利权)人:天津芯海创科技有限公司天津市滨海新区信息技术创新中心
类型:发明
国别省市:天津;12

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

1