[發明專利]一種適用于二值卷積神經網絡計算的存內計算裝置有效
| 申請號: | 201911067669.1 | 申請日: | 2019-11-05 |
| 公開(公告)號: | CN111126579B | 公開(公告)日: | 2023-06-27 |
| 發明(設計)人: | 劉詩瑋;陳遲曉;張怡云;史傳進 | 申請(專利權)人: | 復旦大學 |
| 主分類號: | G06N3/06 | 分類號: | G06N3/06;G06F1/3234 |
| 代理公司: | 上海正旦專利代理有限公司 31200 | 代理人: | 陸飛;陸尤 |
| 地址: | 200433 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 適用于 卷積 神經網絡 計算 裝置 | ||
本發明屬于集成電路技術領域,具體為一種適用于二值卷積神經網絡計算的存內計算裝置。本裝置包括:基于靜態隨機存儲器的存內計算陣列,用于實現向量間異或運算;一個多輸入加法樹,用于對不同輸入通道內的異或結果進行累加;一個暫存中間結果的存儲單元;一個更新中間結果的累加器組;一個后處理量化單元,用于將高精度的累加結果量化為1位輸出特征值;一個控制單元,用于控制計算流程和數據流向。本發明發明能在存儲輸入數據同時完成二值神經網絡中的異或運算,避免了存儲單元與計算單元之間頻繁的數據交換,從而提高了計算速度,減少了芯片功耗。
技術領域
本發明屬于集成電路技術領域,具體涉及一種適用于二值卷積神經網絡計算的存內計算裝置。
背景技術
當今,得益于深度卷積神經網絡的不斷發展,其被廣泛應用于圖像分類、自動駕駛、目標識別與跟蹤、語音識別等各個領域中。為了追求更高的精度,深度卷積網絡層數、寬度不斷增加,與之增大的計算量與數據存儲量使其不適合與計算資源、電源容量有限的終端計算設備上。
為上述深度卷積神經網絡算法與硬件實現的沖突,各種量化方法應運而生。低精度、甚至二值卷積神經網絡在各個領域應用中可以達到接近于高精度卷積神經網絡的性能。
在二值卷積神經網絡中,權重以及輸入、輸出特征值均被量化為1位,用-1或1表示兩種不同的狀態。如此,復雜的乘法運算便被簡單的異或運算替代。
傳統的硬件計算平臺,如CPU/GPU仍采用計算單元與存儲單元分立的馮諾依曼結構。存儲單元與計算單元之間需要頻繁的、大量的數據交互。如此,不僅降低了計算速度,更使功耗浪費在了數據搬運的過程中。
為了解決存算分立帶來的問題,本發明將異或計算電路整合到靜態隨機存儲器中,實現了存儲與計算一體的適用于二值卷積神經網絡的存內計算裝置。與CPU/GPU相比,該裝置可以得到更高的能效。
發明內容
為克服上述現有技術的缺點,本發明提供了一種適合二值卷積神經網絡計算的存內計算裝置。
本發明提供的適用于二值卷積神經網絡計算的存內計算裝置,包括:
一個存內計算陣列,用于計算二值卷積神經網絡中權重與輸入特征值之間的異或運算;
一個多輸入加法樹,用于求和不同輸入通道內的異或結果;
一個累加器組與中間結果存儲單元,用于累加并更新同一卷積核內的中間結果;
一個后處理量化單元,用于將高位寬的累加結果量化為一位輸出特征值;
一個控制單元,用于控制計算流程和數據流向。
所述存內計算陣列,是有多個輸入特征值存儲計算向量與多個權重存儲計算向量組成的二維陣列;所述控制單元用于控制存內計算陣列任意兩行實現異或運算,計算的結果經過累加、量化后得到一個輸出通道的輸出特征值。
本發明中,所述存內計算陣列中,由一個權重存儲單元、一個特征值存儲單元和一個異或計算電路構成一個異或存儲計算單元;多個異或存儲計算單元連接至同一權重字線、特征字線、異或字線以及異或位線上構成存內計算陣列中的一個存儲計算行。
權重根據輸入通道、輸出通道索引存儲于不同存儲計算行。
特征值根據輸入通道索引存儲于不同的存儲計算行。
控制單元可以根據輸入的權重地址、輸入特征值地址,按照靜態隨機存儲器的讀寫時序完成存內計算陣列中任意兩行的異或運算。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于復旦大學,未經復旦大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911067669.1/2.html,轉載請聲明來源鉆瓜專利網。





