[發明專利]一種卷積神經網絡的壓縮方法及其實現電路在審
| 申請號: | 202010624916.X | 申請日: | 2020-06-30 |
| 公開(公告)號: | CN111832705A | 公開(公告)日: | 2020-10-27 |
| 發明(設計)人: | 劉偉強;袁田;王成華 | 申請(專利權)人: | 南京航空航天大學 |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/063;G06N3/08 |
| 代理公司: | 南京瑞弘專利商標事務所(普通合伙) 32249 | 代理人: | 彭雄 |
| 地址: | 211106 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 卷積 神經網絡 壓縮 方法 及其 實現 電路 | ||
1.一種卷積神經網絡的壓縮方法,其特征在于,包括依次執行的步驟(1)至(5):
(1)將卷積神經網絡分為非剪枝層和剪枝層;
(2)對整個卷積神經網絡進行剪枝,然后重新訓練,得到一個高精度的稀疏網絡;
(3)移除非剪枝層的權重掩膜;
(4)對剪枝層進行漸進量化,具體步驟為:
1)隨機選取剪枝層中的一組權重進行量化;
2)重新訓練卷積神經網絡,更新剪枝層中其他組的權重和非剪枝層的權重,重復訓練過程,直至卷積神經網絡的精度滿足預設要求;
3)隨機選取剪枝層中的下一組權重進行量化,然后返回步驟3);
4)重復執行步驟2)至3),直至整個剪枝層量化完成;
(5)保持剪枝層權重不變,對非剪枝層進行線性量化,得到壓縮后的卷積神經網絡。
2.根據權利要求1所述的一種卷積神經網絡的壓縮方法,其特征在于,所述步驟(2)中得到一個高精度的稀疏網絡的具體步驟為:
設置剪枝閾值,將卷積神經網絡中小于剪枝閾值的權重進行剪枝,然后重訓練卷積神經網絡,更新沒有被剪切的權重,重復訓練一剪枝過程,直至卷積神經網絡中所有權重都小于剪枝閾值,至此,得到一個高精度的稀疏網絡。
3.一種卷積神經網絡的實現電路,用于實現基于權利要求1至2任意一項所述的壓縮方法壓縮后的卷積神經網絡,其特征在于,所述電路通過FPGA實現,包括:分布式非剪枝層硬件處理電路和基于移位累加器的剪枝層硬件處理電路,分布式非剪枝層硬件處理電路用于實現所述卷積神經網絡的非剪枝層功能,剪枝層硬件處理電路用于實現所述卷積神經網絡的剪枝層功能;分布式非剪枝層硬件處理電路和剪枝層硬件處理電路以流水線的方式共同實現卷積神經網絡:分布式非剪枝層硬件處理電路處理當前輸入數據的同時,剪枝層硬件處理電路處理上一次非剪枝層輸出的數據。
4.根據權利要求3所述的一種卷積神經網絡的實現電路,其特征在于,所述分布式非剪枝層硬件處理電路包括:特征圖緩存模塊、N個特征圖存儲模塊、M個復合卷積處理單元、M個權重存儲模塊、數據轉換模塊;
特征圖緩存模塊用于緩存輸入的特征圖,并將特征圖送入特征圖存儲模塊;
每個特征圖存儲模塊包括一個特征圖存儲單元和一個特征圖緩存單元;每個特征圖存儲模塊對應地存儲特征圖中的一個q行的數據塊,并按照行順序輸出給對應的特征圖緩存單元,特征圖緩存單將數據按行存儲并按列輸出;在每個時鐘,N個特征圖存儲模塊向M個復合卷積處理單元分別輸出N路特征圖數據;
M個權重存儲模塊一一對應地連接M個復合卷積處理單元,即每個復合卷積處理單元由一個獨立的權重存儲模塊提供權重;每個權重存儲模塊包括一個權重存儲單元和一個權重緩存單元;每個權重存儲單元用于存儲相應的復合卷積處理單元的權重,并在上一層計算時,將權重輸入到相應的權重緩存單元,權重緩存單元在本層計算開始前,將權重送入相應復合卷積處理單元;
每個復合卷積處理單元根據相應權重存儲模塊提供的權重,以N個不同的卷積核分別處理N個特征圖存儲模塊輸出的N路特征圖數據;對卷積后的特征圖數據累加后緩存,并與下一個時鐘的N路特征圖數據卷積結果相加,直至本次對特征圖的處理結束;累加后的數據通過激活函數處理后,將處理結果的最后一列數據置零,若數據還需要池化,則進行池化后輸出,若不需要池化,則直接輸出數據。
5.根據權利要求4所述的一種卷積神經網絡的實現電路,其特征在于,所述基于移位累加器的剪枝層硬件處理電路包括解碼器和若干移位累加器,每個移位累加器還配置有一個激活數據緩存模塊、一個判斷器、一個權重目錄緩存模塊、一個權重緩存模塊,每個移位累加器負載一個權重核;
解碼器將壓縮后的剪枝層權重解碼為±2n形式的權重和權重目錄,并輸入到對應的移位累加器對應的權重緩存模塊和權重目錄緩存模塊,權重目錄即為權重在權重核中的位置;
當所有移位累加器所需負載的權重被解碼完,激活數據按順序被同時輸入到每個判斷器中,每個判斷器根據其對應的權重目錄判斷該激活數據是否被該移位累加器需要;如果需要,則將激活數據存儲于對應激活數據緩存模塊中,等待參與計算;
每輸入指定數據的激活數據后,激活數據被送入移位累加器參與計算,同時后面的數據被輸入激活數據緩存模塊,以構成流水線的處理模式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京航空航天大學,未經南京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010624916.X/1.html,轉載請聲明來源鉆瓜專利網。





