[发明专利]一种基于FPGA的通用定点数神经网络卷积加速器硬件结构在审
申请号: | 201710810528.9 | 申请日: | 2017-09-11 |
公开(公告)号: | CN107392309A | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 陆生礼;韩志;庞伟;李硕;周世豪;沈志源 | 申请(专利权)人: | 东南大学—无锡集成电路技术研究所;东南大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06F5/06 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙)32249 | 代理人: | 贾郡 |
地址: | 214135 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 通用 点数 神经网络 卷积 加速器 硬件 结构 | ||
技术领域
本发明涉及电子信息以及深度学习技术领域,尤其涉及一种基于FPGA(Field-Programmable Gate Array,现场可编程门阵列)的通用定点数神经网络卷积加速器硬件结构。
背景技术
随着Hinton等人于2006年提出深度学习以来,基于卷积神经网络(Convolutional Neural Network,简称CNN)的人工智能解决方案越来越丰富,一些移动平台如无人机、机器人等应用卷积神经网络构建例如语音识别、人脸识别、图像识别等各种应用。由于卷积神经网络的计算量非常巨大,需要GPU(Graphic Processing Unit,图形处理器)、FPGA、ASIC(Application Specific Integrated Circuit,专用集成电路)等硬件的计算支持,例如以英伟达公司为代表,围绕GPU布局的硬件加速芯片,能够满足高性能的卷积计算,但其需要复杂的外围设备支持,移动平台难以支撑GPU这类处理器,另外ASIC虽然具有高性能低功耗的优点,但是其需根据具体的应用而进行专用设计,设计灵活性低。
现场可编程门阵列(FPGA)中有大量的硬件逻辑资源,是一块全部由开放式门组成的计算机芯片,它具有动态可重构的特点,可以进行灵活的编程,可添加各种新功能满足各种协议标准和规范。将FPGA应用于移动工作平台来实现卷积神经网络的卷积计算是有效的解决方案。
在以往的研究中使用FPGA做卷积神经网络加速器的通常会将特征图数据和权重、偏置数据直接在片上存储,由于参数数量巨大,会导致硬件开销会很大,需要高性能的FPGA,同时存储空间会占用更多的读写功耗。另外从通用性来讲,由于卷积层各层数据收发逻辑不同,需要对每一层做相应的处理,给开发带来了许多不便。
为了提高卷积器的通用性,并减少大容量存储空间的使用,设计通用的卷积加速器是更好的选择。与将整个神经网络移植到FPGA不同,卷积加速器只做网络中的卷积计算,不进行特征图、卷积核、偏置这些多维数据的处理,因而大量的数据可存储在外部存储器,通过DMA(Direct Memory Access,直接内存存取)完成外部存储器和卷积器之间的数据交互,这种将类似于CPU+FPGA的结构主要解决以下两个方面的问题。
一是降低了FPGA端运算逻辑的复杂度以及数据的读写功耗。仅有FPGA端逻辑来控制大量数据的读写,会对存储器进行大量的访问,读写控制逻辑极其复杂,且功耗提高不可避免,同时这些逻辑不具有复用性,即对于网络中各层,均需专门设计控制逻辑,给FPGA设计到来很多困难。而CPU去处理读写仅需对内存进行操作,给设计复杂度带来明显的降低。
二是以通用的加速器的形式对CPU计算数据完成加速。该通用性应该可以应对不同网络的卷积运算,具有高度可配置的能力。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于FPGA的通用定点数神经网络卷积加速器硬件结构,能够提高运算速度和降低能耗。
为实现上述目的,本发明实施例提出了一种基于FPGA的通用定点数神经网络卷积加速器硬件结构,包括:AXI4总线接口,所述AIX4总线接口为通用总线结构,可将所述加速器挂载至任意使用该协议的总线设备上工作;高并行卷积核与特征图数据缓存区,所述高并行卷积核与特征图数据缓存区用于缓存来自总线上的待计算数据,包括卷积神经网络的卷积核、偏置参数和相对应的特征图数据用于卷积,所述高并行卷积核与特征图数据缓存区为通用缓存区,可缓存神经网络中各个层次对应的待计算数据,所述高并行卷积核与特征图数据缓存区由多个子缓存区共同构成,可以进行高速的并行数据访问。分段式卷积结果缓存区,所述分段式卷积结果缓存区用于存放卷积计算的结果数据,采用分段式的方式进行缓存。卷积计算器,所述卷积计算器用于完成缓存区数据的卷积计算并返回计算的结果给分段式卷积结果缓存区。缓存区控制器,所述缓存区控制器用于控制来自总线的数据存放逻辑、由缓存区向卷积计算单元发送数据的控制逻辑以及计算结果的分段式缓冲逻辑。状态控制器,所述状态控制器用于控制卷积器工作流程,包括接收、缓存、计算、再缓存、发送和等待接收。直接存取控制器,所述直接存取控制器用于完成外部存储器和处理器与各类缓存区的数据传输。
另外,根据本发明上述实施例的基于FPGA的通用定点数神经网络卷积加速器硬件结构还可以具有如下附加的技术特征:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学—无锡集成电路技术研究所;东南大学,未经东南大学—无锡集成电路技术研究所;东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710810528.9/2.html,转载请声明来源钻瓜专利网。