[发明专利]一种基于快速滤波算法的卷积神经网络加速器电路有效
申请号: | 201910003898.0 | 申请日: | 2019-01-03 |
公开(公告)号: | CN109948784B | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 王巍;周凯利;王伊昌;王广;赵汝法;袁军 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 重庆启恒腾元专利代理事务所(普通合伙) 50232 | 代理人: | 黎志红 |
地址: | 400065*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 快速 滤波 算法 卷积 神经网络 加速器 电路 | ||
本发明请求保护一种基于快速滤波算法的卷积神经网络加速器电路。为了减少卷积神经网络算法(CNN)的计算量,本发明利用快速滤波算法消除了二维卷积运算中卷积窗口之间重叠区域计算的冗余,使得算法强度缩减,提高了卷积计算效率。接着,本发明设计了4并行快速滤波算法的卷积计算加速单元,该单元采用若干小滤波器组成的复杂度较低的并行滤波结构来实现。这对于可编程的FPGA设计来说,不仅可以降低硬件资源的消耗,还可以提升运行速度。同时本文还对激活函数进行了优化设计,利用查找表和多项式结合的分段拟合方法设计了激活函数(sigmoid)的硬件电路,以保证近似的激活函数的硬件电路不会使精度下降。
技术领域
本发明属于数字信号处理及数字集成电路设计领域,更具体涉及一种基于快速滤波算法的卷积神经网络加速器电路,其主要应用领域包括图像识别、图像滤波和图像压缩等。
背景技术
卷积神经网络(CNN)是起源于人工神经网络的深度学习算法,它在对图像的处理中具有较强的抗位移和形变干扰的能力。同时由于CNN在解决高级抽象认知问题上有着显著的成果,使得其在图像分类、模式识别、人脸检测等领域得到越来越广泛的应用。其中,图像中手写字符的识别经常会用到卷积神经网络算法。在卷积神经网络算法中,用于特征提取的卷积运算可以看成是一个二维的滤波器。但是,CNN涉及的计算常常需要大量的时间和计算资源。因此,为了促进高速识别,研究者们提出了多种基于FPGA平台的CNN加速器,其中有文献表示卷积层的计算占整个神经网络计算的90%以上。更重要的是,当前用于图像识别的CNN网络结构是以采用小型滤波器的更深层拓扑为趋势的。这时如果还对小型滤波器使用传统的卷积算法,即利用直接卷积结构计算输出特征图中的每个元素,则会降低硬件效率。比如有文献在采用直接卷积结构的基础上提出了增加足够的计算资源来并行执行卷积计算从而产生输出特征图的一行值,这种方法虽然提高了计算性能(GOPS),但是这种计算模式会降低计算单元的利用率,同时消耗大量硬件资源。所以,当算法本身可以更高效时,便能实现更高的硬件效率。如今,很多研究开始尝试各种方法来降低网络的算法复杂度,比如采用量化或以FFT和卷积定理方式来近似卷积层。快速Winograd 算法也可以用于推导复杂度低的有效算法,使其在具有小型滤波器的CNN中发挥作用。
在本发明中,我们展示了一种适用于卷积神经网络二维矩阵卷积的快速滤波算法。与直接卷积相比,该算法可以将卷积层的乘法复杂度从N2减小到9N2/16。同时,根据二维的快速滤波算法,本发明生成了复杂度降低的并行滤波结构,从而提高CNN在FPGA上的性能。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种减少了卷积神经网络加速器的计算量,消除了二维卷积滤波器卷积窗口块之间重叠区域计算的冗余,使得算法强度缩减的基于快速滤波算法的卷积神经网络加速器电路。本发明的技术方案如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910003898.0/2.html,转载请声明来源钻瓜专利网。