[發(fā)明專利]一種應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的可重構(gòu)硬件加速器在審
| 申請?zhí)枺?/td> | 202110874007.6 | 申請日: | 2021-07-30 |
| 公開(公告)號: | CN115700605A | 公開(公告)日: | 2023-02-07 |
| 發(fā)明(設(shè)計)人: | 王中風(fēng);邵海闊;林軍 | 申請(專利權(quán))人: | 南京大學(xué) |
| 主分類號: | G06N3/082 | 分類號: | G06N3/082;G06N3/0464;G06N3/063 |
| 代理公司: | 北京弘權(quán)知識產(chǎn)權(quán)代理有限公司 11363 | 代理人: | 逯長明;許偉群 |
| 地址: | 210023 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 應(yīng)用于 卷積 神經(jīng)網(wǎng)絡(luò) 訓(xùn)練 可重構(gòu) 硬件 加速器 | ||
本申請?zhí)峁┮环N應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的可重構(gòu)硬件加速器。該可重構(gòu)硬件加速器包括:緩存架構(gòu)、運算處理陣列、功能模塊和主控制器,緩存架構(gòu)包括輸入緩存架構(gòu)和輸出緩存架構(gòu),運算處理陣列包括多個以二維數(shù)組方式排列的運算處理模塊,在使用時利用輸入緩存架構(gòu)按預(yù)設(shè)數(shù)據(jù)分組方式對待運算數(shù)據(jù)進(jìn)行重新排列和分組后,發(fā)送給運算處理模塊進(jìn)行處理,并通過在不同的訓(xùn)練階段動態(tài)調(diào)整運算處理陣列中的每個運算處理模塊的內(nèi)部數(shù)據(jù)連接方式,以使運算處理模塊按移動步長進(jìn)行與候選訓(xùn)練階段相對應(yīng)的卷積運算處理。整個裝置的計算方式較為靈活,可并行處理多通道運算,而且僅采用硬件架構(gòu)即可滿足不同訓(xùn)練階段的計算需求,因而具有較高的模型訓(xùn)練效率。
技術(shù)領(lǐng)域
本申請涉及計算機及電子信息技術(shù)領(lǐng)域,特別涉及一種應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的可重構(gòu)硬件加速器。
背景技術(shù)
近些年來,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)模型廣泛應(yīng)用在計算機視覺、語音識別和自然語言處理等諸多領(lǐng)域,隨著識別準(zhǔn)確率的要求逐漸提高,CNN模型的結(jié)構(gòu)越來越龐大,其中包含的參數(shù)也越來越多,進(jìn)而導(dǎo)致CNN模型的訓(xùn)練也變得愈加復(fù)雜和耗時,并且因為在線學(xué)習(xí)和數(shù)據(jù)隱私方面的考慮,在資源有限的邊緣計算平臺訓(xùn)練CNN模型具有廣泛需求,因此,需要對CNN模型的訓(xùn)練進(jìn)行加速。
CNN模型的訓(xùn)練階段主要包括前向傳播(forward propagation,F(xiàn)P)階段、反向傳播(backward propagation,BP)階段和權(quán)重梯度(weight gradient,WG)計算階段,在FP階段,按照從前往后的順序,將CNN模型中每層的輸入激活值(即前一層的輸出激活值)與該層對應(yīng)的卷積核權(quán)重進(jìn)行卷積計算,并通過激活函數(shù)得到該層的輸出激活值,如此逐層向后計算,最終利用損失函數(shù)評估輸出的預(yù)測標(biāo)簽與真實標(biāo)簽之間的偏差并計算損失;在BP階段,利用FP階段計算出的損失,按照從后往前的順序,將每層的輸入誤差值(即后一層的誤差值)與該層對應(yīng)的卷積核權(quán)重進(jìn)行卷積計算,得到該層的誤差值,如此逐層向前計算,最終得到CNN模型中每一層的誤差值;最后在WG階段,根據(jù)鏈?zhǔn)椒▌t,將前一層的輸出激活值與當(dāng)前層的誤差值進(jìn)行卷積運算,最終得到當(dāng)前層的權(quán)重梯度,如此逐層計算,最終得到整個CNN模型中每層的更新卷積核權(quán)重,進(jìn)而完成整個CNN模型的訓(xùn)練。
目前通常可以采用基于FPGA(Field Programmable GateArray,現(xiàn)場可編程邏輯門陣列)開發(fā)的硬件加速器對CNN模型進(jìn)行訓(xùn)練,但是該硬件加速器僅具有結(jié)構(gòu)單一的處理單元,不僅硬件結(jié)構(gòu)較為簡單,而且實現(xiàn)的計算功能也較為單一,在訓(xùn)練時通常還需要對計算過程進(jìn)行額外的拆解重組,并且需要重復(fù)讀取數(shù)據(jù),因而訓(xùn)練效率較低,無法滿足CNN模型高效的訓(xùn)練需求。
發(fā)明內(nèi)容
本申請?zhí)峁┝艘环N應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的可重構(gòu)硬件加速器,可用于解決現(xiàn)有的硬件架構(gòu)訓(xùn)練效率較低的技術(shù)問題。
為了解決上述技術(shù)問題,本申請實施例公開了如下技術(shù)方案:
一種應(yīng)用于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的可重構(gòu)硬件加速器,包括緩存架構(gòu)、運算處理陣列、功能模塊和主控制器,其中:
所述緩存架構(gòu)包括輸入緩存架構(gòu)和輸出緩存架構(gòu);所述輸入緩存架構(gòu)用于存儲待訓(xùn)練網(wǎng)絡(luò)層在候選訓(xùn)練階段的待運算數(shù)據(jù),以及將所述待運算數(shù)據(jù)按預(yù)設(shè)數(shù)據(jù)分組方式進(jìn)行重新排列和分組后,輸入到所述運算處理陣列中,所述候選訓(xùn)練階段為所有訓(xùn)練階段中任一訓(xùn)練階段;
所述運算處理陣列包括多個以二維數(shù)組方式排列的運算處理模塊,以及與每行運算處理模塊連接的縮放舍入模塊;所述運算處理模塊用于接收所述輸入緩存架構(gòu)輸入的數(shù)據(jù),并根據(jù)所述主控制器的指令,按預(yù)設(shè)移動步長進(jìn)行與所述候選訓(xùn)練階段相對應(yīng)的卷積運算處理后,將卷積運算結(jié)果輸入到對應(yīng)的縮放舍入模塊;所述縮放舍入模塊用于對所述卷積運算結(jié)果進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換后,發(fā)送給所述輸出緩存架構(gòu)進(jìn)行存儲;
所述功能模塊用于對所述輸出緩存架構(gòu)中的數(shù)據(jù)進(jìn)行激活操作或池化操作,以及在訓(xùn)練完成后,對所述待訓(xùn)練網(wǎng)絡(luò)層中的待訓(xùn)練卷積核的權(quán)重值進(jìn)行權(quán)值更新;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京大學(xué),未經(jīng)南京大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110874007.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 卷積運算處理方法及相關(guān)產(chǎn)品
- 一種卷積神經(jīng)網(wǎng)絡(luò)的計算方法及系統(tǒng)
- 卷積運算方法及系統(tǒng)
- 卷積運算方法、裝置及系統(tǒng)
- 深度神經(jīng)網(wǎng)絡(luò)裁剪方法、裝置及電子設(shè)備
- 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法和圖像處理裝置
- 卷積神經(jīng)網(wǎng)絡(luò)及基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法
- 一種圖像處理方法、裝置以及計算機存儲介質(zhì)
- 用于卷積神經(jīng)網(wǎng)絡(luò)的卷積運算裝置
- 基于FPGA實現(xiàn)圖像識別的方法、裝置、設(shè)備及存儲介質(zhì)
- 硬件神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法、計算裝置、軟硬件協(xié)作系統(tǒng)
- 生成較大神經(jīng)網(wǎng)絡(luò)
- 神經(jīng)網(wǎng)絡(luò)的生成方法、生成裝置和電子設(shè)備
- 一種舌診方法、裝置、計算設(shè)備及計算機存儲介質(zhì)
- 學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
- 脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法及相關(guān)轉(zhuǎn)換芯片
- 圖像處理方法、裝置、可讀存儲介質(zhì)和計算機設(shè)備
- 一種適應(yīng)目標(biāo)數(shù)據(jù)集的網(wǎng)絡(luò)模型微調(diào)方法、系統(tǒng)、終端和存儲介質(zhì)
- 用于重構(gòu)人工神經(jīng)網(wǎng)絡(luò)的處理器及其操作方法、電氣設(shè)備
- 一種圖像神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化方法及裝置





