[发明专利]一种基于FPGA的深度卷积神经网络的加速器有效
申请号: | 202110249630.2 | 申请日: | 2021-03-08 |
公开(公告)号: | CN112949845B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 黄威;孙锴;李锦;段昊东 | 申请(专利权)人: | 内蒙古大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04;G06V10/94;G06V10/82 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 陈琳琳;王蔚 |
地址: | 010021 内蒙古自*** | 国省代码: | 内蒙古;15 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 深度 卷积 神经网络 加速器 | ||
1.一种基于FPGA的深度卷积神经网络的加速器,其特征在于,所述加速器包括:快速卷积运算模块和二维卷积内存交互模块;
所述快速卷积运算模块,用于将轻量的快速乘法和Winograd算法结合,实现深度卷积神经网络的快速卷积运算;
所述二维卷积内存交互模块,用于在快速卷积运算过程中,将中间计算结果和权重采用梯形复用的内存交互优化策略进行片外和片内之间的数据传输,使片内外的数据交互达到最小;
所述二维卷积内存交互模块的具体实现过程包括:
深度卷积神经网络的输入特征图和权重被划分成梯形数据块;卷积窗口滑动梯形数据时,需要对梯形数据进行正常转换,即根据窗口对应规则将梯形数据上的滑动窗口转换回正常卷积窗口;
梯形复用的计算顺序是依次从左至右取每个梯形数据块,梯形数据计算完后,保存右侧相邻数据块的重叠数据;对于每个梯形数据块的计算,窗口滑动方式是先从上到下,然后从左至右;
将梯形数据分为三个部分:前部、拐角处和后部;梯形的三列用三个向量表示:x、y和z,设滑动窗口总数为n,滑动窗口的位置为p,0≤p≤n-1,且p为整数;当滑动窗口总数为n大于等于5时,根据p的不同,窗口内的值有以下三种情况,这三种情况分别对应梯形数据的前部、拐角处和后部;
(1)当时,滑动窗口在梯形前部;
(2)当时,滑动窗口在梯形拐角处,有和这三个窗口;
(3)当时,滑动窗口在梯形后部。
2.根据权利要求1所述的基于FPGA的深度卷积神经网络的加速器,其特征在于,所述快速卷积运算模块的具体实现过程包括:
对于二维卷积,设输出的尺寸为m×m,卷积核的尺寸为r×r,二维卷积可以用F(m×m,r×r)表示;二维Winograd卷积计算公式如下:
Y=AT[(GgGT)⊙(BTdB)]A
其中,G,B和A分别表示卷积核转换矩阵、输入转换矩阵和输出转换矩阵,当m和r确定后,转换矩阵G、B和A能够提前计算出来;d表示输入,g表示卷积核;BT表示B的转置,AT表示A的转置,GT表示G的转置;
采用快速乘法对Winograd进行了改进,改进后的计算公式如下:
Y=ATfm[(GgGT),(BTdB)]A
其中,fm(X,Y)表示对两个乘法矩阵X和Y进行快速乘法,X和Y相同位置的元素用快速乘法相乘。
3.根据权利要求1所述的基于FPGA的深度卷积神经网络的加速器,其特征在于,对梯形数据进行正常转换,具体为:将数据宽度调整为二维卷积F(m×m,r×r)的输入长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于内蒙古大学,未经内蒙古大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110249630.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:热风刀
- 下一篇:一种具有防爆消防灭火功能的侦察机器人