一种目标检测卷积神经网络加速器制造技术

技术编号:28422391 阅读:20 留言:0更新日期:2021-05-11 18:30
本发明专利技术提出一种目标检测卷积神经网络加速器,包括控制器,片上存储器,多个算术计算单元,多个基于可变电阻式随机存储器的核心计算单元以及比较筛选单元。本发明专利技术在基于可变电阻式随机存储器的目标检测卷积神经网络加速器中引入比较筛选单元,通过对目标检测卷积神经网络计算任务进行合理地划分,让比较排序操作和卷积计算能在比较筛选单元和基于可变电阻式随机存储器的核心计算单元上执行,且用比较筛选操作替代比较排序操作得到前N最大的数据,结合4级流水线进一步提升处理效率,无需对数据进行排序,提升计算任务运行效率,使得基于可变电阻式随机存储器的目标检测卷积神经网络加速器更为高效。

【技术实现步骤摘要】
一种目标检测卷积神经网络加速器
本专利技术涉及目标检测卷积神经网络算法领域,尤其涉及一种目标检测卷积神经网络加速器。
技术介绍
卷积神经网络被广泛地应用于各个领域,为人们的生活带来了便利。卷积神经网络经过多年的发展,从最初较为简单的手写字符识别应用,逐渐扩展到一些更加复杂的领域,如:行人检测、行为识别、人体姿势识别等。大家逐渐发现,深度网络自主提取的特征要比传统的手工方式提取的特征更加丰富,于是开始尝试在检测任务中使用深度网络来提取特征,例如R-CNN(RegionswithCNNfeature)。基于深度学习的目标检测算法都是针对通用目标提出的,比如性能更好的两阶段Faster-RCNN系列,速度更快的单阶段YOLO,SSD系列。这些目标检测网络都有一个特点,即是在经典卷积神经网络结构基础上衍生发展的,例如VGG和GoogLeNet。当这些基于卷积神经网络的目标检测算法被应用于实时性更高,计算任务量更大的场景时,不仅需要高性能低能耗的处理器,而且还需要在较小尺寸的计算硬件上实现,例如无人机和自动驾驶。传统计算芯片(例如CPU,GPU)无法很好地适应卷积神经网络的计算算法和网络结构,导致运算效率不高,内存吞吐量瓶颈等诸多问题。为了减轻或避免当前计算技术中冯·诺依曼体系结构的“瓶颈”,研究者们提出设计基于内存计算的加速器体系结构。新兴非易失性存储器件,包括铁电存储器、磁隧道结存储器、相变存储器和阻变存储器等,可用于构建待机功耗极低的存储器阵列。由于其自身的物理特性,这些新兴非易失性存储器既能实现数据存储功能又能参与数据计算,并且一般都以交叉阵列的形态实现,其输入/输出信号穿过构成行列的节点。交叉阵列能非常自然地执行卷积计算操作,这对于各种基于卷积神经网络的目标检测算法具有重要的意义。由于目标检测卷积神经网络内包含卷积计算和比较排序操作,而已有的基于内存计算的深度神经网络加速器的处理模块并不能有效地在片上完成比较排序操作,存在着大量的片外数据通信量,会影响到目标检测卷积神经网络计算任务的处理效率。
技术实现思路
本专利技术的目的在于针对已有工作的不足,提出一种目标检测卷积神经网络加速器,是一种低片外数据通信量的基于可变电阻式随机存储器的目标检测卷积神经网络加速器结构,以解决上述问题。本专利技术提供了一种目标检测卷积神经网络加速器,包括控制器,片上存储器,多个算术计算单元,多个基于可变电阻式随机存储器的核心计算单元以及比较筛选单元,所述控制器,用于控制程序进程,数据的读取写回操作,并划分目标检测卷积神经网络计算任务为若干个子任务;所述片上存储器,用于存储片外的输入数据以及目标检测卷积神经网络计算任务运行过程中的中间计算数据,待比较排序的数据和已完成比较筛选操作的数据;所述算术计算单元,用于计算输出计算,即非卷积计算的算术运算;所述基于可变电阻式随机存储器的核心计算单元,用于从片上存储器中读取待进行卷积计算的输入数据和权值矩阵,把权值矩阵存储到基于可变电阻式随机存储器的交叉阵列上,执行目标检测卷积神经网络中的卷积计算并将输出结果存储到片上存储器中;所述比较筛选单元,用于从所述片上存储器读入待比较排序的数据,用比较筛选操作得到所需的前N最大的数,并把比较筛选的结果写回片上存储器,包括地址寄存器,数据寄存器和数据比较器。根据本专利技术的基于可变电阻式随机存储器的目标检测卷积神经网络加速器,所述比较筛选单元包括地址寄存器,数据寄存器和数据比较器,比较筛选单元用于执行比较排序任务,通过比较筛选操作替代比较排序操作取出待排序数据中前N个最大的数据。所述数据寄存器,用于从所述片上存储器中读取存储当前待比较数据。所述数据比较器,用于从所述数据寄存器内读取带比较数据,比较待比较数据和所述筛选存储器中最小的数据的大小,若待比较数据较大,则从所述地址寄存器内读取所述筛选存储器中最小数据的地址,将待比较数据存入该地址,并重新寻找所述筛选存储器内最小数据的地址存储到地址寄存器中,若所述筛选存储器中最小数据较大,则从数据寄存器中读取下一个待比较数据,包括待比较数据锁存器,比较电路和最小锁存器;所述筛选存储器,用于存储当前已比较数据中前N个最大的数据的具体数值,其最小数据的存储地址将被存储到地址寄存器。所述地址寄存器,用于存储所述筛选存储器内最小数值在所述筛选存储器内的地址。根据本专利技术的基于可变电阻式随机存储器的目标检测卷积神经网络加速器,所述控制器根据目标检测卷积神经网络的具体结构,把卷积层与非卷积层进行划分,使一个完整的目标检测卷积神经网络计算任务被划分为卷积计算任务和比较排序操作任务,所述控制器向所述基于可变电阻式随机存储器的核心计算单元和所述比较筛选单元发送指令,指定卷积计算任务在所述基于可变电阻式随机存储器的核心计算单元内执行,比较排序操作任务在所述比较筛选单元内执行。根据本专利技术的基于可变电阻式随机存储器的目标检测卷积神经网络加速器,所述片内存储器为增强动态随机存储器。根据本专利技术的基于可变电阻式随机存储器的目标检测卷积神经网络加速器,所述基于可变电阻式随机存储器的核心计算单元负责执行一个卷积层内的所有卷积计算和激活操作,多个所述基于可变电阻式随机存储器的核心计算单元存储目标检测卷积神经网络中卷积计算的所有权值,完成所有的卷积计算,所述卷积计算包括全连接运算。根据本专利技术的基于可变电阻式随机存储器的目标检测卷积神经网络加速器,所述基于可变电阻式随机存储器的目标检测卷积神经网络加速器的4级流水线,包含4个流水段:第一段流水段是卷积计算流水段,由所述基于可变电阻式随机存储器的核心计算单元完成卷积层,激活层和池化层运算,并把输出结果传输至所述片上存储器;第二段流水段是比较排序流水段,由比较筛选单元对所述片上存储器内待比较排序的数据进行比较排序操作,并把输出排序结果传输至所述片上存储器;第三段流水段是全连接计算流水段,由所述基于可变电阻式随机存储器的核心计算单元从所述片上存储器读取第二段流水段的结果进行全连接运算,并把输出目标区域概率和坐标偏移量结果传输至所述片上存储器;第四段流水线是输出计算流水段,由所述算术计算单元从所述片上存储器读取坐标偏移量,计算输出目标区域的坐标得到最终的目标检测结果并传输至所述片上存储器。附图说明图1是本专利技术一种基于可变电阻式随机存储器的目标检测卷积神经网络加速器结构框图;图2是本专利技术一种比较筛选单元结构框图;图3是本专利技术一种实施例的目标检测卷积神经网络计算任务划分示意图;图4是本专利技术一种实施例的基于可变电阻式随机存储器的目标检测卷积神经网络加速器处理流程图;图5是本专利技术一种基于可变电阻式随机存储器的目标检测卷积神经网络加速器的4级流水线示意图;图6是本专利技术一种实施例的基于可变电阻式随机存储器的核心计算单元结构框图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体本文档来自技高网
...

【技术保护点】
1.一种目标检测卷积神经网络加速器,其特征在于,包括控制器,片上存储器,多个算术计算单元,多个基于可变电阻式随机存储器的核心计算单元以及比较筛选单元,/n所述控制器,用于控制程序进程,数据的读取写回操作,并划分目标检测卷积神经网络计算任务为4类子任务:卷积计算,比较排序,全连接计算,输出计算;/n所述片上存储器,用于存储片外的输入数据以及目标检测卷积神经网络计算任务运行过程中的中间计算数据,待比较排序的数据和已完成比较筛选操作的数据;/n所述算术计算单元,用于计算输出计算,即非卷积计算的算术运算;/n所述基于可变电阻式随机存储器的核心计算单元,用于从片上存储器中读取待进行卷积计算的输入数据和权值矩阵,把权值矩阵存储到基于可变电阻式随机存储器的交叉阵列上,执行目标检测卷积神经网络中的卷积计算并将输出结果存储到片上存储器中;/n所述比较筛选单元,用于从所述片上存储器读入待比较排序的数据,用比较筛选操作得到所需的前N个最大的数,并把比较筛选的结果写回片上存储器,包括数据寄存器,数据比较器,筛选存储器和地址寄存器;/n所述数据寄存器,用于从所述片上存储器中读取存储当前待比较数据;/n所述数据比较器,用于从所述数据寄存器内读取带比较数据,比较待比较数据和所述筛选存储器中最小的数据的大小,若待比较数据较大,则从所述地址寄存器内读取所述筛选存储器中最小数据的地址,将待比较数据存入该地址,并重新寻找所述筛选存储器内最小数据的地址存储到地址寄存器中,若所述筛选存储器中最小数据较大,则从数据寄存器中读取下一个待比较数据,包括待比较数据锁存器,比较电路和最小锁存器;/n所述筛选存储器,用于存储当前已比较数据中前N个最大的数据的具体数值,所述筛选存储器内的最小数据的存储地址将被存储到地址寄存器;/n所述地址寄存器,用于存储所述筛选存储器内最小数值在所述筛选存储器内的地址;/n所述基于可变电阻式随机存储器的目标检测卷积神经网络加速器的4级流水线,用于提升目标检测卷积神经网络内卷积计算和比较排序操作之间的处理效率。/n...

【技术特征摘要】
1.一种目标检测卷积神经网络加速器,其特征在于,包括控制器,片上存储器,多个算术计算单元,多个基于可变电阻式随机存储器的核心计算单元以及比较筛选单元,
所述控制器,用于控制程序进程,数据的读取写回操作,并划分目标检测卷积神经网络计算任务为4类子任务:卷积计算,比较排序,全连接计算,输出计算;
所述片上存储器,用于存储片外的输入数据以及目标检测卷积神经网络计算任务运行过程中的中间计算数据,待比较排序的数据和已完成比较筛选操作的数据;
所述算术计算单元,用于计算输出计算,即非卷积计算的算术运算;
所述基于可变电阻式随机存储器的核心计算单元,用于从片上存储器中读取待进行卷积计算的输入数据和权值矩阵,把权值矩阵存储到基于可变电阻式随机存储器的交叉阵列上,执行目标检测卷积神经网络中的卷积计算并将输出结果存储到片上存储器中;
所述比较筛选单元,用于从所述片上存储器读入待比较排序的数据,用比较筛选操作得到所需的前N个最大的数,并把比较筛选的结果写回片上存储器,包括数据寄存器,数据比较器,筛选存储器和地址寄存器;
所述数据寄存器,用于从所述片上存储器中读取存储当前待比较数据;
所述数据比较器,用于从所述数据寄存器内读取带比较数据,比较待比较数据和所述筛选存储器中最小的数据的大小,若待比较数据较大,则从所述地址寄存器内读取所述筛选存储器中最小数据的地址,将待比较数据存入该地址,并重新寻找所述筛选存储器内最小数据的地址存储到地址寄存器中,若所述筛选存储器中最小数据较大,则从数据寄存器中读取下一个待比较数据,包括待比较数据锁存器,比较电路和最小锁存器;
所述筛选存储器,用于存储当前已比较数据中前N个最大的数据的具体数值,所述筛选存储器内的最小数据的存储地址将被存储到地址寄存器;
所述地址寄存器,用于存储所述筛选存储器内最小数值在所述筛选存储器内的地址;
所述基于可变电阻式随机存储器的目标检测卷积神经网络加速器的4级流水线,用于提升目标检测卷积神经网络内卷积计算和比较排序操作之...

【专利技术属性】
技术研发人员:傅颖勋刘恂马礼
申请(专利权)人:北方工业大学
类型:发明
国别省市:北京;11

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

1