[發(fā)明專利]一種基于FPGA的深度卷積神經(jīng)網(wǎng)絡的加速器有效
| 申請?zhí)枺?/td> | 202110249630.2 | 申請日: | 2021-03-08 |
| 公開(公告)號: | CN112949845B | 公開(公告)日: | 2022-08-09 |
| 發(fā)明(設計)人: | 黃威;孫鍇;李錦;段昊東 | 申請(專利權)人: | 內蒙古大學 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063;G06N3/04;G06V10/94;G06V10/82 |
| 代理公司: | 北京方安思達知識產(chǎn)權代理有限公司 11472 | 代理人: | 陳琳琳;王蔚 |
| 地址: | 010021 內蒙古自*** | 國省代碼: | 內蒙古;15 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 fpga 深度 卷積 神經(jīng)網(wǎng)絡 加速器 | ||
1.一種基于FPGA的深度卷積神經(jīng)網(wǎng)絡的加速器,其特征在于,所述加速器包括:快速卷積運算模塊和二維卷積內存交互模塊;
所述快速卷積運算模塊,用于將輕量的快速乘法和Winograd算法結合,實現(xiàn)深度卷積神經(jīng)網(wǎng)絡的快速卷積運算;
所述二維卷積內存交互模塊,用于在快速卷積運算過程中,將中間計算結果和權重采用梯形復用的內存交互優(yōu)化策略進行片外和片內之間的數(shù)據(jù)傳輸,使片內外的數(shù)據(jù)交互達到最小;
所述二維卷積內存交互模塊的具體實現(xiàn)過程包括:
深度卷積神經(jīng)網(wǎng)絡的輸入特征圖和權重被劃分成梯形數(shù)據(jù)塊;卷積窗口滑動梯形數(shù)據(jù)時,需要對梯形數(shù)據(jù)進行正常轉換,即根據(jù)窗口對應規(guī)則將梯形數(shù)據(jù)上的滑動窗口轉換回正常卷積窗口;
梯形復用的計算順序是依次從左至右取每個梯形數(shù)據(jù)塊,梯形數(shù)據(jù)計算完后,保存右側相鄰數(shù)據(jù)塊的重疊數(shù)據(jù);對于每個梯形數(shù)據(jù)塊的計算,窗口滑動方式是先從上到下,然后從左至右;
將梯形數(shù)據(jù)分為三個部分:前部、拐角處和后部;梯形的三列用三個向量表示:x、y和z,設滑動窗口總數(shù)為n,滑動窗口的位置為p,0≤p≤n-1,且p為整數(shù);當滑動窗口總數(shù)為n大于等于5時,根據(jù)p的不同,窗口內的值有以下三種情況,這三種情況分別對應梯形數(shù)據(jù)的前部、拐角處和后部;
(1)當時,滑動窗口在梯形前部;
(2)當時,滑動窗口在梯形拐角處,有和這三個窗口;
(3)當時,滑動窗口在梯形后部。
2.根據(jù)權利要求1所述的基于FPGA的深度卷積神經(jīng)網(wǎng)絡的加速器,其特征在于,所述快速卷積運算模塊的具體實現(xiàn)過程包括:
對于二維卷積,設輸出的尺寸為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.根據(jù)權利要求1所述的基于FPGA的深度卷積神經(jīng)網(wǎng)絡的加速器,其特征在于,對梯形數(shù)據(jù)進行正常轉換,具體為:將數(shù)據(jù)寬度調整為二維卷積F(m×m,r×r)的輸入長度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于內蒙古大學,未經(jīng)內蒙古大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110249630.2/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:熱風刀
- 下一篇:一種具有防爆消防滅火功能的偵察機器人





