[发明专利]一种基于SOC的数据复用卷积神经网络加速器有效

专利信息
申请号: 201711207259.3 申请日: 2017-11-27
公开(公告)号: CN108171317B 公开(公告)日: 2020-08-04
发明(设计)人: 秦智勇;陈雷;于立新;庄伟;彭和平;倪玮琳;张世远 申请(专利权)人: 北京时代民芯科技有限公司;北京微电子技术研究所
主分类号: G06N3/04 分类号: G06N3/04;G06T1/60
代理公司: 中国航天科技专利中心 11009 代理人: 庞静
地址: 100076 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种基于SOC的数据复用卷积神经网络加速器,本方法提出对卷积神经网络的图像输入、权重参数以及偏置参数等输入数据进行分组,将大量的输入数据划分为可复用的块数据,并通过控制状态机实现复用数据块的读取。卷积神经网络参数量大、所需计算能力强,因此卷积神经网络加速器需要提供很大的数据带宽以及计算能力。本发明对大负载进行了可复用切分,并通过控制单元以及地址产生单元实现数据的复用,减小了卷积神经网络运算的延迟以及所需带宽,提高了运算效率。
搜索关键词: 一种 基于 soc 数据 卷积 神经网络 加速器
【主权项】:
1.一种基于SOC的数据复用卷积神经网络加速器,其特征在于包括图像地址生成器、图像缓存区、移位逻辑、权重地址生成器、权重缓存区、偏置地址生成器、偏置缓存区、控制单元和计算单元阵列,控制单元接收外部输入的启动控制信号,之后,根据预设时序,控制偏置地址生成器、权重地址生成器和图像地址生成器产生偏置写控制信号、权重写控制信号和图像写控制信号,将偏置、权重和图像数据分块存入相应的缓冲区,之后,再控制偏置地址生成器、权重地址生成器和图像地址生成器产生相应缓冲区的读写地址,权重缓存区、偏置缓存区分别将相应地址内的权重、偏置数据输出至计算单元阵列;图像缓冲区将相应地址内的图像数据输出至移位逻辑,移位逻辑根据控制单元发送的移位控制信号和层运算序号,将图像数据进行移位处理之后输出至计算单元阵列,计算单元阵列,根据权重数据、偏置数据、图像数据,采用分块运算的方法,对图像数据进行多层卷积、池化以及多层全连接运算。

2.根据权利要求1所述的一种基于SOC的数据复用卷积神经网络加速器,其特征在于所述控制单元包括主控制模块、权重控制状态机,偏置控制状态机、图像控制状态机和写控制状态机,其中:

主控制模块主控制模块,接收外部输入的启动控制信号,之后,根据预设的卷积神经网络加速器各层卷积运算的时间和全连接运算时间,按照预设时序,将卷积、池化和全连接运算过程都分成多个层运算,每个层运算分为多个块运算,在层运算开始之前,向写控制状态机发送写控制启动指令,当前层运算所需数据全部写入相应的缓冲区后,向写控制状态机发出写控制停止信号;在层运算开始时刻,向权重读控制状态机、偏置读控制状态机、图像读控制状态机发送权重读控制启动信号,向移位逻辑发送移位控制信号和层运算序号;在层运算结束时刻和块运算结束时刻,向权重读控制状态机、偏置读控制状态机、图像读控制状态机,发送层运算结束标志和块运算结束标志信号,向移位逻辑发送的移位控制信号和层运算序号;

权重控制状态机、偏置控制状态机、图像控制状态机和写控制状态机,在主控制模块的控制下,分别向权重缓存区、偏置缓存区、图像缓存区输出相应的读使能信号、写使能信号和片选信号,向权重地址生成器、偏置地址生成器、图像地址生成器输出相应的地址控制信号,权重地址生成器、偏置地址生成器、图像地址生成器根据地址控制信号产生相应的读写地址。

3.根据权利要求1所述的一种基于SOC的数据复用卷积神经网络加速器,其特征在于所述图像缓存以及权重缓存均为分组存储结构,图像缓存区和权重缓存区分成M个子缓存区,M个子缓存区的片选控制端、读写使能端并联连接,地址线相互独立,各子缓存区相对应地址用来存储一个一次块运算所需要的图像数据或者权重数据,同时写入或读出,M为一次块运算所对应的最大图像数据大小。

4.根据权利要求1所述的一种基于SOC的数据复用卷积神经网络加速器,其特征在于权重地址生成器、偏置地址生成器包括计数器,计数器的计数值作为地址输出至相应的缓冲区,当地址复位信号“有效”时,计数器的计数值清零;当地址保持信号有效时,计数器的计数值不变;当地址递增信号有效时,计数器的计数值加1。

5.根据权利要求1所述的一种基于SOC的数据复用卷积神经网络加速器,其特征在于图像地址生成器,包括读地址生成模块、写地址生成模块、读写地址选通模块;

写地址生成模块,包括计数器,计数器的计数值作为图像写地址输出至读写地址选通模块,当地址复位信号“有效”时,计数器的计数值清零;当地址保持信号有效时,计数器的计数值不变;当地址递增信号有效时,计数器的计数值加1。

读地址生成模块,包括R个读地址生成子模块,所述R为层数。每个读地址生成子模块用来控制产生一次层运算中的所有块运算所需要的地址,根据层序号选通相应层的读地址生成子模块,对于某一层的处理,输入为三维图像数据,首先沿图像通道方向递增地址,当图像通道方向数据读取完成,按图像二维平面换列方向递增地址后,继续沿图像通道方向递增地址,当图像二维平面换列方向和图像通道方向数据均读取完成,按图像二维平面换行方向递增地址,继续沿图像通道方向递增地址,直到整块数据处理完成。

6.根据权利要求1所述的一种基于SOC的数据复用卷积神经网络加速器,其特征在于所述图像数据包括X*Y*N块,X表示在行方向的块数,X表示在列方向的块数,N表示在通道方向的块数;每次从外部读取一块三维图像数据存入M个子缓冲区内,每个子缓冲区对应存入三维数据块中的一个元素,提取数据块的顺序如下:

(1)、初始化数据块的行序号i为1,列序号j为1,通道序号k为1;

(2)、依次读取行序号为i,列序号j,通道序号为k的数据块;

(3)、将k加1更新k,重复执行步骤(2)~(3),直到k大于等于N,进入步骤(4);

(4)、将j加1更新j,令k等于1,重复执行步骤(2)~(4),直到j大于等于Y,k大于等于N进入步骤(5);

(5)、将i加1更新i,k=1,j=1,重复执行步骤(2)~(5),直到i大于等于X,j大于等于Y,k大于等于N,结束。

7.根据权利要求1所述的一种基于SOC的数据复用卷积神经网络加速器,其特征在于卷积运算时,移位逻辑根据卷积层序号,由此确定卷积运算时二维平面方向两个维度的大小,根据这两个维度的大小变更图像数据组成的序列顺序,并根据控制单元发出的移位控制信号确定图像数据序列移位的多少,使得进入至计算单元阵列的每次块运算的图像数据与权重数据对齐,在池化或者全连接处理时,移位逻辑直接将缓冲区中的图像数据输出到计算单元阵列。

8.根据权利要求1所述的一种基于SOC的数据复用卷积神经网络加速器,其特征在于所述计算单元阵列包括乘法器阵列、加法器树、累加器、非线性单元和选通输出单元,其中:

乘法器阵列,将图像数据与权重相乘;

加法器树,将乘法器阵列的所有乘积项相加,结果输出到累加器;

累加器,块运算结束时清零,对加法器树输出的结果进行累加,并将累加结果作为卷积结果输出至非线性单元

非线性单元,对卷积结果进行池化处理,并输出,例如:比较累加结果与0,取较大值输出;

选通输出单元,接收控制单元发送的输出选通信号,选通卷积结果或者池化结果输出。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京时代民芯科技有限公司;北京微电子技术研究所,未经北京时代民芯科技有限公司;北京微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201711207259.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top