[發明專利]神經網絡運算模塊及方法在審
| 申請號: | 201910235038.X | 申請日: | 2019-03-26 |
| 公開(公告)號: | CN111753970A | 公開(公告)日: | 2020-10-09 |
| 發明(設計)人: | 不公告發明人 | 申請(專利權)人: | 上海寒武紀信息科技有限公司 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063;G06N3/04 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 郝傳鑫;熊永強 |
| 地址: | 201306 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 神經網絡 運算 模塊 方法 | ||
一種神經網絡運算模塊,包括存儲單元存儲多層神經網絡的輸出神經元、權重精度和輸出神經元梯度精度;控制器單元,用于獲取定點化前輸出神經元的絕對值的平均值Y1和定點化后輸出神經元的絕對值的平均值Y2;若Y1/Y2預設閾值K,則獲取多層神經網絡的相鄰兩層輸出神經元梯度精度時,根據相鄰兩層輸出神經元梯度精度和權重精度獲取誤差傳遞精度預估值An;當An大于預設精度Ar時,增大相鄰兩層輸出神經元梯度精度及權重精度;運算單元根據增大后精度表示相鄰兩層輸出神經元梯度及權重,并進行后續運算。采用本發明實施例可以在滿足運算需求的同時,減小了運算結果的誤差和運算開銷,節省了運算資源。
技術領域
本發明涉及神經網絡領域,特別涉及一種神經網絡運算模塊及方法。
背景技術
定點數是一種可以指定小數點位置的數據格式,我們通常用位寬來表示一個定點數的數據長度。例如,16位定點數的位寬就是16。對于給定位寬的定點數,可表示數據的精度和可表示的數字范圍是此消彼長的,如果可以表示的精度越大,則可表示的數字范圍就越小。對于位寬為bitnum的定點數,且該定點數為有符號數,則第一位為符號位,若最大定點精度為2s。該定點表示法可以表示的范圍為[neg,pos],其中pos=(2bitnum-1-1)*2s,neg=-(2bitnum-1)*2s。
在神經網絡運算中,數據可以用定點數進行表示、運算。例如,在正向運算過程中,第L層的數據包括輸入神經元X(1)、輸出神經元Y(1)、權重W(1)。在反向運算過程中,第L層的數據包括輸入神經元梯度輸出神經元梯度權重梯度可以將上面的數據均用定點數進行表示,也可以用定點數進行運算。
在神經網絡的訓練過程通常包括正向運算和反向運算兩個步驟,在反向運算時,輸入神經元梯度、權重梯度和輸出神經元梯度所需要的精度可能會出現變化,可能隨著訓練的過程增大,如果定點數的精度不夠,會導致運算結果出現較大誤差,甚至會導致訓練失敗。
發明內容
本發明實施例所要解決的技術問題在于神經網絡運算過程中,輸入神經元精度、權重精度或者輸出神經元梯度精度不夠,導致出現運算或訓練的結果存在誤差,本發明實施例提供一種神經網絡運算模塊及方法,動態調整輸入神經元精度,權重精度和輸出神經元梯度精度,降低了運算結果或訓練結果的誤差。
第一方面,本發明提供了一種神經網絡運算模塊,該神經網絡運算模塊用于執行多層神經網絡的運算,包括:
存儲單元,用于存儲所述多層神經網絡的權重精度和輸出神經元梯度精度;
控制器單元,從所述存儲單元獲取所述多層神經網絡相鄰兩層輸出神經元梯度精度和權重精度Sw;根據所述相鄰兩層輸出神經元梯度精度和權重精度Sw確定目標誤差傳遞精度預估值An;當所述目標誤差傳輸精度預估值An大于所述預設精度Ar時,增大所述相鄰兩層輸出神經元梯度精度和所述權重精度Sw;
運算單元,用于根據增大后的相鄰兩層輸出神經元梯度精度來表示所述相鄰兩層輸出神經元梯度,用于增大后的權重精度Sw來表示所述多層神經網絡的權重,并進行后續運算。
在一種可行的實施例中,所述相鄰兩層輸出神經元梯度精度包括第L-1層輸出神經元梯度精度和第L層輸出神經元梯度精度在根據所述相鄰兩層輸出神經元梯度精度和權重精度確定目標誤差傳遞精度預估值的方面,所述控制器單元具體用于:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海寒武紀信息科技有限公司,未經上海寒武紀信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910235038.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種環保型液態抗菌硅藻涂料的制備方法
- 下一篇:邊皮籽晶及其制備方法和應用





