[發(fā)明專利]一種針對CNN卷積層運算的加速陣列設(shè)計方法在審
| 申請?zhí)枺?/td> | 201810385183.1 | 申請日: | 2018-04-26 |
| 公開(公告)號: | CN108537334A | 公開(公告)日: | 2018-09-14 |
| 發(fā)明(設(shè)計)人: | 周玉山;姜凱;于治樓 | 申請(專利權(quán))人: | 濟(jì)南浪潮高新科技投資發(fā)展有限公司 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063;G06T1/20 |
| 代理公司: | 濟(jì)南信達(dá)專利事務(wù)所有限公司 37100 | 代理人: | 闞恭勇 |
| 地址: | 250100 山東省濟(jì)南市*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 卷積 運算 卷積神經(jīng)網(wǎng)絡(luò) 卷積運算 陣列設(shè)計 計算單元陣列 處理器架構(gòu) 加速技術(shù) 控制數(shù)據(jù) 卷積核 脈動 | ||
本發(fā)明提供一種針對CNN卷積層運算的加速陣列設(shè)計方法,屬于涉及卷積神經(jīng)網(wǎng)絡(luò)的FPGA/ASIC加速技術(shù)領(lǐng)域,本發(fā)明針對卷積神經(jīng)網(wǎng)絡(luò)中主要的卷積層運算特點而設(shè)計的處理器架構(gòu),針對卷積運算中常見的33和55的卷積核而設(shè)計的計算單元陣列,控制數(shù)據(jù)和參數(shù)的輸入脈動,實現(xiàn)卷積運算的加速。
技術(shù)領(lǐng)域
本發(fā)明涉及卷積神經(jīng)網(wǎng)絡(luò)的FPGA/ASIC加速技術(shù),尤其涉及一種針對CNN卷積層運算的加速陣列設(shè)計方法。
背景技術(shù)
深度學(xué)習(xí)模型是構(gòu)建在海量的數(shù)據(jù)和強(qiáng)有力超算能力基礎(chǔ)之上的,傳統(tǒng)計算架構(gòu)已經(jīng)無法支撐深度學(xué)習(xí)大規(guī)模并行計算需求,因此,通過底層應(yīng)用加速計算過程結(jié)合深度學(xué)習(xí)算法上的優(yōu)化,是推動人工智能整個產(chǎn)業(yè)鏈發(fā)展的重要環(huán)節(jié)。
目前針對深度學(xué)習(xí)的分布式加速主要有三種方式:GPU、FPGA和NPU。GPU是最先被引入深度學(xué)習(xí)領(lǐng)域的,我們熟知的阿爾法狗就是由1920個CPU+280個GPU搭建的超算平臺,作為最早看好深度學(xué)習(xí)應(yīng)用加速的公司,英偉達(dá)是該領(lǐng)域當(dāng)仁不讓的領(lǐng)導(dǎo)者,通過打造CUDA平臺,GPU在SIMD單指令多數(shù)據(jù)流架構(gòu)中的優(yōu)勢被全面激發(fā),結(jié)合高并行計算和高計算吞吐的特點,GPU可以大規(guī)模適用于具備計算密集、高并行、SIMD應(yīng)用等特點的深度學(xué)習(xí)訓(xùn)練模型領(lǐng)域。
FPGA由于其硬件可編程的特性,可以在目前深度學(xué)習(xí)算法尚不成熟的情況下,作為硬件加速的過度階段適用的處理器,并為設(shè)計專用處理器做前期驗證。NPU則是深度學(xué)習(xí)專用處理器架構(gòu),目前在世界范圍內(nèi)已經(jīng)推出了多種AI芯片,都屬于專用處理器架構(gòu) 。
卷積神經(jīng)網(wǎng)絡(luò)一般用于圖像分類等應(yīng)用中,卷積層的輸入一般是輸入圖片或者是特征圖,輸入通道數(shù)根據(jù)卷積神經(jīng)網(wǎng)絡(luò)的具體結(jié)構(gòu)而定,例如輸入圖片一般分為RGB三層,神經(jīng)網(wǎng)絡(luò)中的卷積運算是輸入圖片的各層與卷積核的各層分別做完卷積后再累加,所以各層之間具有一定的獨立性。
以其中一層的卷積運算來說,運算過程需要準(zhǔn)備輸入的數(shù)據(jù)和kernel的參數(shù),如附圖1所示,是一個33的卷積運算。為了維持輸出特征圖的尺寸,一般需要在輸入圖片的周邊補零(pad=1)。卷積層的運算過程就是一個卷積核依次掃完整個的輸入圖片,輸出新的特征圖。
發(fā)明內(nèi)容
針對以上內(nèi)容,本發(fā)明提出了一種針對CNN卷積層運算的加速陣列設(shè)計方法。可以應(yīng)用于FPGA/ASIC加速設(shè)計中,作為AI加速處理器的計算部分。
本發(fā)明通過設(shè)計一種用于FPGA/ASIC加速器中的加速單元陣列來實現(xiàn)卷積運算的加速過程,可以靈活地在33和55兩種卷積核運算中切換。
本發(fā)明由計算單元PE組成3×5的陣列,支持3×3和5×5的卷積核運算模式,通過控制數(shù)據(jù)和參數(shù)的脈動輸入和在計算單元中的流動傳遞,完成乘法、累加運算后在每列(3×3)或每行(5×5)輸出卷積運算結(jié)果,進(jìn)而完成卷積運算過程。
每個PE可以完成相乘、累加和多路選擇的功能,其中多路選擇的功能包括選擇計算的數(shù)據(jù)和輸出結(jié)果的流向。
當(dāng)運算模式為3×3時,輸入圖片以行為單位從左側(cè)輸入,傳輸方向為從左下到右上,左上角的輸入是輸入數(shù)據(jù)的第一行,向下依次為第二行、第三行,底部從左向右,依次為第四行到第七行。
當(dāng)運算模式為5×5時,輸入數(shù)據(jù)的順序與3×3時相反,但是數(shù)據(jù)傳遞的方向不變。
運算模式為3×3時,權(quán)重數(shù)據(jù)以行為單位從左側(cè)進(jìn)入,傳遞方向為從左向右;運算模式為5×5時,權(quán)重數(shù)據(jù)以行為單位從下側(cè)進(jìn)入,向上傳遞。
本發(fā)明的有益效果是
可以充分復(fù)用從內(nèi)存中讀取的數(shù)據(jù),在計算單元中多次流動,有效地降低了數(shù)據(jù)在內(nèi)存中的搬運帶來的延遲。
附圖說明
附圖1 卷積運算示意圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于濟(jì)南浪潮高新科技投資發(fā)展有限公司,未經(jīng)濟(jì)南浪潮高新科技投資發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810385183.1/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ò)的圖像處理方法
- 一種圖像處理方法、裝置以及計算機(jī)存儲介質(zhì)
- 用于卷積神經(jīng)網(wǎng)絡(luò)的卷積運算裝置
- 基于FPGA實現(xiàn)圖像識別的方法、裝置、設(shè)備及存儲介質(zhì)
- 終端卷積神經(jīng)網(wǎng)絡(luò)的處理方法、裝置、存儲介質(zhì)及處理器
- 一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像深度估計方法
- 卷積神經(jīng)網(wǎng)絡(luò)的生成方法及裝置
- 一種卷積神經(jīng)網(wǎng)絡(luò)硬件模塊部署方法
- 卷積神經(jīng)網(wǎng)絡(luò)的處理方法、裝置、設(shè)備及存儲介質(zhì)
- 一種卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法及裝置
- 一種基于通道數(shù)搜索卷積神經(jīng)網(wǎng)絡(luò)的方法
- 卷積神經(jīng)網(wǎng)絡(luò)處理方法、裝置和電子系統(tǒng)
- 一種基于空洞卷積循環(huán)神經(jīng)網(wǎng)絡(luò)的聲音事件檢測方法
- 基于稀疏卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測方法及檢測裝置





