[發明專利]稀疏神經網絡架構及其實現方法有效
| 申請號: | 201710761177.7 | 申請日: | 2017-08-30 |
| 公開(公告)號: | CN107609641B | 公開(公告)日: | 2020-07-03 |
| 發明(設計)人: | 尹首一;李寧;歐陽鵬;劉雷波;魏少軍 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063 |
| 代理公司: | 北京三友知識產權代理有限公司 11127 | 代理人: | 王濤;賈磊 |
| 地址: | 10008*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 稀疏 神經網絡 架構 及其 實現 方法 | ||
1.一種稀疏神經網絡架構,其特征在于,包括:外存控制器,權重緩存器,輸入緩存器,輸出緩存器,輸入緩存控制器及一計算陣列;所述外存控制器與所述權重緩存器,輸入緩存器及輸出緩存器分別連接;所述計算陣列與輸入緩存器,權重緩存器及輸出緩存器分別連接;
所述計算陣列包括多個可重構計算單元,所述計算陣列中的每行可重構計算單元共享所述輸入緩存器中的部分輸入,所述計算陣列中的每列可重構計算單元共享所述權重緩存器中的部分權重;
所述輸入緩存控制器用于對所述輸入緩存器的輸入進行稀疏運算,去除輸入中的零值;
所述外存控制器用于存儲所述計算陣列處理前及處理后的數據;
其中,所述輸入緩存控制器包括:多個子控制模塊,所述輸入緩存器的部分輸入經過其中的一子控制模塊進行去零值操作后進入一行可重構計算單元;所述子控制模塊包括:第一寄存器、選擇器、稀疏處理模塊及第二寄存器;所述第一寄存器連接所述輸入緩存器及所述選擇器,所述稀疏處理模塊連接所述選擇器及第二寄存器;
所述第一寄存器用于存儲所述輸入緩存器的部分輸入;
所述選擇器用于判斷輸入為零值或非零值;
所述稀疏處理模塊用于判斷所述零值及非零值的個數,并在可重構計算單元計算當前輸入隊列的最后一個輸入的時鐘周期內將下一隊列的輸入讀入所述第一寄存器;
所述第二寄存器存儲經過所述稀疏處理模塊進行稀疏判斷后的輸入,作為可重構計算單元計算的輸入隊列;
在可重構計算單元計算存儲在第二寄存器的輸入隊列中的最后一個輸入值的時鐘周期內將后四位的輸入讀進第一寄存器,然后經稀疏處理模塊進行稀疏度判斷后,將有效輸入填入第二寄存器隊列。
2.根據權利要求1所述的稀疏神經網絡架構,其特征在于,所述可重構計算單元包括:第三寄存器、乘法器及加法器;
所述乘法器及加法器用于對所述輸入進行卷積運算;
第三寄存器,用于存儲所述輸入對應的權重。
3.一種稀疏神經網絡架構實現方法,其特征在于,包括:
輸入緩存控制器接收輸入緩存器的輸入;
所述輸入緩存控制器對所述輸入進行稀疏運算,去除輸入中的零值;
計算陣列中的每行可重構計算單元接收稀疏運算后的部分輸入,每列可重構計算單元接收權重緩存器的部分權重,并分別對部分輸入及部分權重進行處理,生成處理結果;
所述計算陣列將所述處理結果輸出至輸出緩存器;
所述輸入緩存控制器包括:多個子控制模塊,所述子控制模塊包括:第一寄存器、選擇器、稀疏處理模塊及第二寄存器;所述輸入緩存控制器對所述輸入進行稀疏運算,去除輸入中的零值,包括:
所述第一寄存器接收所述輸入緩存器的部分輸入并存儲;
所述選擇器判斷輸入為零值或非零值;
所述稀疏處理模塊判斷所述零值及非零值的個數,并在可重構計算單元計算當前輸入隊列的最后一個輸入的時鐘周期內將下一隊列的輸入讀入所述第一寄存器;
所述第二寄存器存儲經過所述稀疏處理模塊進行稀疏判斷后的輸入,作為可重構計算單元計算的輸入隊列;
在可重構計算單元計算存儲在第二寄存器的輸入隊列中的最后一個輸入值的時鐘周期內將后四位的輸入讀進第一寄存器,然后經稀疏處理模塊進行稀疏度判斷后,將有效輸入填入第二寄存器隊列。
4.根據權利要求3所述的稀疏神經網絡架構實現方法,其特征在于,還包括:根據列可重構計算單元的每一可重構計算單元計算的不同的權重調整不同的輸入,以均衡列可重構計算單元中各可重構計算單元的計算量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710761177.7/1.html,轉載請聲明來源鉆瓜專利網。





