[发明专利]一种卷积神经网络硬件加速方法有效
申请号: | 201510312090.2 | 申请日: | 2015-06-09 |
公开(公告)号: | CN104915322B | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 文梅;乔寓然;杨乾明;沈俊忠;肖涛;王自伟;张春元;苏华友;陈照云 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F15/16 | 分类号: | G06F15/16;G06F15/17;G06F9/50;G06F13/42 |
代理公司: | 湖南兆弘专利事务所(普通合伙)43008 | 代理人: | 赵洪,谭武艺 |
地址: | 410073 湖南省长沙市砚瓦池正*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 卷积 神经网络 硬件加速 方法 及其 axi 总线 ip | ||
技术领域
本发明涉及卷积神经网络的硬件加速技术,具体涉及一种卷积神经网络硬件加速方法。
背景技术
下一代智能设备处理器的核心挑战是要能够感知和理解人类的世界以提供增强用户体验和连接用户喜好的生态环境、能和用户进行类似于人类的交互。卷积神经网络(Convolution Neural Network,CNN)就是一种代表当前最先进发展水平的感知模型之一,该模型能够将原始输入的数据逐层解析为符号,提取出复杂的多层组合特征,在机器视觉和听觉系统方面取得了巨大的成功和广泛的应用,2013年MIT Technology Review杂志将以卷积神经网络为代表的深度学习评为十大突破性技术之首。卷积神经网络算法是受到人的视觉系统的启发,利用卷积操作来模拟真实神经元的感受野。深度神经网络的计算非常密集,在目标检测等应用中(正向分类检测,而非训练),可以轻松突破Gops,达到数十Gops-Tops的计算能力,因此利用深度神经网络进行实时分类检测都只能依靠高性能多核CPU和GPU来完成,对受限于功耗的智能设备(例如机器人,UAV,消费电子,智能汽车,智能监控系统等)而言,这些处理器能耗过于高昂而使得这些应用几乎是不可能任务。相比较使用通用器件,构建专用加速电路,是满足卷积神经网络应用(CNN应用)性能与功耗需求的一条可行之路。通常硬件加速器部件在性能与功耗上均优于通用处理器,约有100x以上的能效提升。
智能设备的核心多为片上系统,片上系统(SoC,System on Chip)是指:Host处理器、专用电路、外设控制器集成在一块芯片上所构成的异构系统,能够根据用户需求进行定制。随着微电子技术的发展,一块芯片内部可以集成很多器件,这种在一块可编程芯片上集成的系统称为SoC。由于SoC的规模非常庞大,涉及工作量很大,因此对已经设计好的模块进行重复使用十分必要,解决这个问题的一个方法是使用IP核(Intellectual Property Core)。IP核在集成电路领域指已经过验证的、可重复利用的并具有确定功能的集成电路模块。IP核的使用可以大大降低设计时间、成本,提高设计效率。现有百万门以上的芯片70%的模块是IP核的重复使用。通常,在普通智能设备中的SoC系统对计算量的要求并不高,主要依靠Host处理器,少量应用还会用到集成的通用加速器,如向量单元,MGPU等。但新兴应用对SoC的计算能力以及能耗要求日益增加,而通用微处理器的体系结构已经逐渐不适合这类应用了。
由于CNN应用对处理速度的要求较高,SoC中的通用微处理器并不能满足其能效要求,必须构建专用加速电路IP核。若采用集成专用硬件加速器IP核的SoC设计,目前通常采用如下两种方案:一是ASIC(专用集成电路,Application-Specific Integrated Circuit)投片;二是FPGA(现场可编程门阵列,Field Programmable Gate Array)。ASIC投片需要大量的资金和人力资源,且不可修改。而采用FPGA既能获得有关硬件实现的参数又具有灵活性,并且克服了ASIC设计周期长和投资大的缺点,是比较理想的选择。近年来FPGA业界龙头厂商Altera及Xilinx均推出了基于ARM处理器的FPGA SoC解决方案。AXI总线是目前基于ARM处理器的SoC总线标准。由于ARM处理器的广泛使用,目前采用AXI总线标准的IP核以其灵活易用性被广泛采用。因此,构建基于AXI总线的卷积神经网络加速器IP核对于新兴的嵌入式视觉应用有着较大的意义。
发明内容
本发明要解决的技术问题是:针对现有技术的上述问题,提供一种能够支持各种卷积神经网络结构、计算效率和性能高、对片上存储资源以及片外存储带宽需求较少、通信开销小、单元部件升级与改进方便、通用性好的卷积神经网络硬件加速方法。
为了解决上述技术问题,本发明采用的技术方案为:
本发明提供一种卷积神经网络硬件加速方法,步骤包括:
1)预先将卷积运算的输入特征图排列组成矩阵A,将卷积运算的输出特征图对应的卷积核排列组成矩阵B,将卷积神经网络卷积层的卷积运算转换为m行K列的矩阵A、K行n列的矩阵B的矩阵乘运算;
2)将矩阵乘运算的矩阵结果C分为m行n列个矩阵子块;
3)启动和主处理器相连的矩阵乘法器来对所有矩阵子块进行计算;在对矩阵子块进行计算时,所述矩阵乘法器以数据驱动的方式产生矩阵坐标(Bx,By)形式的数据请求,将矩阵坐标(Bx,By)映射为操作数在输入特征图中的真实主存地址read_addr,从主存中读回操作数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510312090.2/2.html,转载请声明来源钻瓜专利网。