[發明專利]一種用于執行卷積神經網絡訓練的裝置和方法有效
| 申請號: | 201610283838.5 | 申請日: | 2016-04-29 |
| 公開(公告)號: | CN107341547B | 公開(公告)日: | 2021-04-20 |
| 發明(設計)人: | 陳云霽;支天;劉少禮;郭崎;陳天石 | 申請(專利權)人: | 中科寒武紀科技股份有限公司 |
| 主分類號: | G06N3/08 | 分類號: | G06N3/08 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 周天宇 |
| 地址: | 100190 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 執行 卷積 神經網絡 訓練 裝置 方法 | ||
本公開提供了一種執行卷積神經網絡訓練的裝置和方法,其中裝置部分包括了互連模塊、主運算模塊、以及多個從運算模塊。對于每一層來說,首先對輸入神經元向量依據卷積窗口進行數據選擇,然后依據選擇得到的來自前一層的數據和來自后一層的數據梯度作為本裝置運算單元的輸入,計算并且更新卷積核,其次依據卷積核、數據的梯度以及激活函數的導函數,計算得到本裝置輸出的數據梯度,并且存入存儲器以輸出給前一層進行反向傳播計算。本公開將參與計算的數據和權重參數暫存在高速暫存存儲器上,使得可以更加靈活有效地支持卷積神經網絡反向運算,提升包含大量訪存應用的執行性能。
技術領域
本公開涉及一種用于執行卷積神經網絡訓練的裝置和方法,用于根據卷積神經網絡反向運算指令高效靈活地執行卷積神經網絡反向運算,能夠很好地解決當前計算機領域越來越多的算法包含大量卷積神經網絡反向運算的問題。
背景技術
卷積神經網絡是近年來廣泛應用于模式識別、圖像處理等領域的一種高效識別算法,它具有結構簡單、訓練參數少和適應性強、平移、旋轉、縮放等特點。由于CNN/DNN的特征檢測層通過訓練數據進行學習,所以在使用CNN/DNN時,避免了顯示的特征抽取,而隱式地從訓練數據中進行學習;再者由于同一特征映射面上的神經元權值相同,所以網絡可以并行學習,這也是卷積網絡相對于神經元彼此相連網絡的一大優勢。
本公開提供的卷積神經網絡訓練算法的流程圖,如圖1所示,其流程包括兩個階段:
第一階段,向前傳播階段:
a)從樣本集中取一個樣本(X,Yp),將X輸入網絡;
b)計算相應的實際輸出Op。
在此階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練后正常運行時執行的過程。在此過程中,網絡執行的是計算(實際上就是輸入與每層的權值矩陣相點乘,得到最后的輸出結果):
Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))
第二階段,向后傳播階段
a)算實際輸出Op與相應的理想輸出Yp的差;
b)按極小化誤差的方法反向傳播調整權矩陣。
在已有的計算機領域應用中,與卷積運算相關的應用十分普遍。本公開專注于卷積神經網絡,目前可以執行此種運算的主流裝置如下:
在現有技術中,一種進行卷積神經網絡反向運算的已知方案是使用通用處理器,該方法通過通用寄存器堆和通用功能部件來執行通用指令,從而執行卷積神經網絡反向運算。然而,該方法的缺點之一是單個通用處理器多用于標量計算,在進行卷積神經網絡反向運算時運算性能較低。而使用多個通用處理器并行執行時,通用處理器之間的相互通訊又有可能成為性能瓶頸。
在另一種現有技術中,使用圖形處理器(GPU)來進行向量計算,其中,通過使用通用寄存器堆和通用流處理單元執行通用SIMD指令來進行卷積神經網絡反向運算。然而,上述方案中,GPU片上緩存太小,在進行大規模卷積神經網絡反向運算時需要不斷進行片外數據搬運,片外帶寬成為了主要性能瓶頸。
發明內容
(一)要解決的技術問題
本公開的目的在于,提供一種支持卷積神經網絡訓練的裝置,解決現有技術中存在的受限于片間通訊、片上緩存不夠等問題。
(二)技術方案
本發明的一個方面提供了一種用于執行卷積神經網絡反向訓練的裝置,包括指令存儲單元、控制器單元、數據訪問單元、互連模塊、主運算模塊、多個從運算模塊,其中:
指令存儲單元用于存儲指令;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中科寒武紀科技股份有限公司,未經中科寒武紀科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610283838.5/2.html,轉載請聲明來源鉆瓜專利網。





