[發明專利]一種應用于卷積神經網絡訓練的可重構硬件加速器在審
| 申請號: | 202110874007.6 | 申請日: | 2021-07-30 |
| 公開(公告)號: | CN115700605A | 公開(公告)日: | 2023-02-07 |
| 發明(設計)人: | 王中風;邵海闊;林軍 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06N3/082 | 分類號: | G06N3/082;G06N3/0464;G06N3/063 |
| 代理公司: | 北京弘權知識產權代理有限公司 11363 | 代理人: | 逯長明;許偉群 |
| 地址: | 210023 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用于 卷積 神經網絡 訓練 可重構 硬件 加速器 | ||
1.一種應用于卷積神經網絡訓練的可重構硬件加速器,其特征在于,包括緩存架構、運算處理陣列、功能模塊和主控制器,其中:
所述緩存架構包括輸入緩存架構和輸出緩存架構;所述輸入緩存架構用于存儲待訓練網絡層在候選訓練階段的待運算數據,以及將所述待運算數據按預設數據分組方式進行重新排列和分組后,輸入到所述運算處理陣列中,所述候選訓練階段為所有訓練階段中任一訓練階段;
所述運算處理陣列包括多個以二維數組方式排列的運算處理模塊,以及與每行運算處理模塊連接的縮放舍入模塊;所述運算處理模塊用于接收所述輸入緩存架構輸入的數據,并根據所述主控制器的指令,按預設移動步長進行與所述候選訓練階段相對應的卷積運算處理后,將卷積運算結果輸入到對應的縮放舍入模塊;所述縮放舍入模塊用于對所述卷積運算結果進行數據格式轉換后,發送給所述輸出緩存架構進行存儲;
所述功能模塊用于對所述輸出緩存架構中的數據進行激活操作或池化操作,以及在訓練完成后,對所述待訓練網絡層中的待訓練卷積核的權重值進行權值更新;
所述主控制器用于根據所述待訓練卷積核的數量以及所述候選訓練階段下所述待訓練網絡層輸入通道的數量,確定所述數據分組方式;以及,根據所述候選訓練階段以及所述移動步長,調整所述運算處理模塊的內部數據連接方式,以使所述運算處理模塊執行與所述移動步長和所述候選訓練階段相對應的卷積運算處理。
2.根據權利要求1所述的可重構硬件加速器,其特征在于,所述輸入緩存架構包括第一輸入架構和第二輸入架構;
所述第一輸入架構包括第一輸入緩存模塊和第一輸入預取模塊,所述第一輸入緩存模塊用于存儲所述待運算數據中的第一輸入數據,所述第一輸入預取模塊與所述運算處理陣列中每個運算處理模塊連接,用于將所述第一輸入數據按所述數據分組方式進行重新排列和分組后,確定每組第一目標數據對應的所述運算處理陣列中的目標列,并將每組第一目標數據發送給對應目標列中的每個運算處理模塊;
所述第二輸入架構包括第二輸入緩存模塊和第二輸入預取模塊,所述第二輸入緩存模塊用于存儲所述待運算數據中的第二輸入數據,所述第二輸入預取模塊與所述運算處理陣列中每個運算處理模塊連接,用于將所述第二輸入數據按所述數據分組方式進行重新排列和分組后,確定每組第二目標數據對應的所述運算處理陣列中的目標行,并將每組第二目標數據發送給對應目標行中的每個運算處理模塊。
3.根據權利要求2所述的可重構硬件加速器,其特征在于,所述第二輸入預取模塊將所述第二目標數據發送給對應目標行中的所有運算處理模塊時,是按照預設的時鐘周期,將所述第二目標數據中每個數據依次發送給對應目標行中的所有運算處理模塊。
4.根據權利要求2所述的可重構硬件加速器,其特征在于,
如果所述候選訓練階段為FP階段,則所述第一輸入數據為所述待訓練網絡層中多個待訓練卷積核的權重值,所述第二輸入數據為所述待訓練網絡層的多通道輸入激活值;
如果所述候選訓練階段為BP階段,則所述第一輸入數據為所述待訓練網絡層中多個旋轉卷積核的權重值,所述第二輸入數據是根據所述待訓練網絡層的多通道輸入誤差值確定的,所述旋轉卷積核為將所述待訓練卷積核旋轉一百八十度后得到的矩陣;
如果所述候選訓練階段為WG階段,則所述第一輸入數據是根據所述待訓練網絡層的多通道誤差值確定的,所述第二輸入數據為所述待訓練網絡層的多通道輸入激活值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110874007.6/1.html,轉載請聲明來源鉆瓜專利網。





