[發明專利]一種神經網絡全量化方法及系統在審
| 申請號: | 202011043841.2 | 申請日: | 2020-09-28 |
| 公開(公告)號: | CN112183726A | 公開(公告)日: | 2021-01-05 |
| 發明(設計)人: | 崔鑫 | 申請(專利權)人: | 云知聲智能科技股份有限公司;廈門云知芯智能科技有限公司 |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04;G06N3/08 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100096 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 神經網絡 量化 方法 系統 | ||
本發明涉及一種神經網絡全量化方法及系統,該方法包括:響應于經過訓練的神經網絡完成對數據集的處理,統計分析所述神經網絡中每路數據的分布,確定所述每路數據的縮放因子;根據所述每路數據的縮放因子,確定所述神經網絡中每一層的量化參數。通過該量化方案,使得神經網絡中卷積模塊輸出結果為整形數據,從而使得除卷積之外其它模塊帶寬需求降低,提升網絡運行速度。
技術領域
本發明涉及神經網絡算法領域,具體涉及一種神經網絡全量化方法及系統。
背景技術
現有的神經網絡中,卷積模塊輸出結果為浮點型數據,對網絡中其它模塊要求的帶寬高。卷積計算時定浮點轉換的時間開銷,浮點計算相對定點計算的時間開銷大,內存開銷以及浮點運算單元的硬件開銷都比全量化方案的開銷大。對于通用處理器或者專用處理器這些開銷都存在,只是比例不同,最終直接影響成本和用戶體驗。
發明內容
針對上述技術問題,本發明提供一種神經網絡全量化方法及系統。
本發明解決上述技術問題的技術方案如下:
一種神經網絡全量化方法,包括:
響應于經過訓練的神經網絡完成對數據集的處理,統計分析所述神經網絡中每路數據的分布,確定所述每路數據的縮放因子;
根據所述每路數據的縮放因子,確定所述神經網絡中每一層的量化參數。
在上述技術方案的基礎上,本發明還可以做如下改進。
進一步,所述統計分析所述神經網絡中每路數據的分布,確定所述每路數據的縮放因子,具體包括:
對于所述神經網絡中每一個卷積層中的一個神經元,將輸入該神經元的每路數據中絕對值最大的一路數據對應的縮放因子作為輸入該神經元的每路數據的縮放因子。
進一步,所述縮放因子包括用于對輸入神經網絡的原始數據進行量化的預處理縮放因子;
對于第一層神經網絡,所述根據所述每路數據的縮放因子,確定所述神經網絡中每一層的量化參數,具體包括:
根據所述預處理縮放因子,確定用于替換所述預處理縮放因子的整型數據和相應的移位位數。
進一步,所述縮放因子包括用于對神經網絡的卷積層中的每個卷積模塊的輸入數據、權重、偏置和輸出數據進行量化的第一輸入縮放因子、權重縮放因子、偏置縮放因子和第一輸出縮放因子;
對于所述神經網絡中的卷積層,所述根據所述每路數據的縮放因子,確定所述神經網絡中每一層的量化參數,具體包括:
根據所述第一輸入縮放因子、權重縮放因子和第一輸出縮放因子,確定一個浮點型的卷積模塊縮放因子;
將所述浮點型的卷積模塊縮放因子替換為整型數據和相應的移位位數。
進一步,所述縮放因子包括用于對神經網絡的非卷積層的輸入數據和輸出數據進行量化的第二輸入縮放因子和第二輸出縮放因子;
對于所述神經網絡中的非卷積層,所述根據所述每路數據的縮放因子,確定所述神經網絡中每一層的量化參數,具體包括:
若所述非卷積模塊的輸入縮放因子和輸出縮放因子相同,則選取所述非卷積層中的非卷積模塊輸出到下級模塊中最近的卷積模塊的多路輸出中的最大的第二輸出縮放因子,作為所述非卷積模塊的輸出縮放因子;若所述非卷積模塊的下級模塊中沒有卷積模塊,則設置所述非卷積模塊的輸出縮放因子為1.0,即輸出數據為浮點型;
若所述非卷積模塊的輸入縮放因子和輸出縮放因子不同,則將所述非卷積模塊的輸入縮放因子轉換成所述輸出縮放因子。
為實現上述發明目的,本發明還提供一種神經網絡全量化系統,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于云知聲智能科技股份有限公司;廈門云知芯智能科技有限公司,未經云知聲智能科技股份有限公司;廈門云知芯智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011043841.2/2.html,轉載請聲明來源鉆瓜專利網。





