[發(fā)明專利]基于Winograd算法的卷積神經(jīng)網(wǎng)絡(luò)硬件加速器及計(jì)算方法有效
| 申請(qǐng)?zhí)枺?/td> | 202110666106.5 | 申請(qǐng)日: | 2021-06-16 |
| 公開(kāi)(公告)號(hào): | CN113255898B | 公開(kāi)(公告)日: | 2022-08-02 |
| 發(fā)明(設(shè)計(jì))人: | 倪偉;袁子昂;冉敬楠;宋宇鯤;張多利 | 申請(qǐng)(專利權(quán))人: | 合肥工業(yè)大學(xué) |
| 主分類號(hào): | G06N3/04 | 分類號(hào): | G06N3/04;G06N3/063 |
| 代理公司: | 安徽省合肥新安專利代理有限責(zé)任公司 34101 | 代理人: | 陸麗莉;何梅生 |
| 地址: | 230009 安*** | 國(guó)省代碼: | 安徽;34 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 winograd 算法 卷積 神經(jīng)網(wǎng)絡(luò) 硬件 加速器 計(jì)算方法 | ||
1.一種基于Winograd算法的卷積神經(jīng)網(wǎng)絡(luò)硬件加速器,其特征包括:存儲(chǔ)層、計(jì)算層、控制層、數(shù)據(jù)分配器、輸入緩沖、輸出緩沖;
所述存儲(chǔ)層包括:片外的DDR存儲(chǔ)器和片上存儲(chǔ);
所述控制層包括:配置模塊和控制模塊;
所述計(jì)算層包括:多路PE陣列和后處理模塊;
所述后處理模塊包含:激活函數(shù)模塊和卷積通道累加模塊;
所述DDR存儲(chǔ)器接收外部發(fā)送的卷積核、輸入特征圖并完成存儲(chǔ)后,觸發(fā)所述控制模塊,使得所述配置模塊在所述控制模塊的控制下,從自身RAM中讀取計(jì)算指令,用于獲取計(jì)算任務(wù)并將其譯碼成配置信息;
所述數(shù)據(jù)分配器根據(jù)所述配置信息中的當(dāng)前計(jì)算模式,判斷當(dāng)前計(jì)算模式是否為卷積計(jì)算模式,若是,則從DDR存儲(chǔ)器中讀取所需的輸入特征圖、所需的卷積核并分配到輸入緩沖中;否則,將當(dāng)前計(jì)算模式所需的數(shù)據(jù)發(fā)送給輸入緩沖中;
在卷積計(jì)算模式下,多路PE陣列從輸入緩沖中獲取所述卷積核、輸入特征圖并對(duì)所述卷積核進(jìn)行變換計(jì)算,對(duì)所述輸入特征圖進(jìn)行變換計(jì)算、點(diǎn)乘計(jì)算和點(diǎn)乘結(jié)果的變換計(jì)算,得到輸出特征圖并傳遞給所述后處理模塊;
在其他計(jì)算模式下,多路PE陣列從輸入緩沖中獲取當(dāng)前計(jì)算模式所需的數(shù)據(jù)并進(jìn)行計(jì)算,得到當(dāng)前計(jì)算結(jié)果并傳遞給所述后處理模塊;
在卷積計(jì)算模式下,所述卷積通道累加模塊對(duì)所述輸出特征圖進(jìn)行多通道累加處理后,再利用激活函數(shù)模塊進(jìn)行計(jì)算,得到當(dāng)前卷積塊并傳遞給所述輸出緩沖;
在其他計(jì)算模式下,所述卷積通道累加模塊根據(jù)配置信息,選擇是否對(duì)所述當(dāng)前計(jì)算結(jié)果進(jìn)行通道累加計(jì)算,以及是否利用激活函數(shù)模塊對(duì)所述當(dāng)前計(jì)算結(jié)果進(jìn)行計(jì)算,從而得到當(dāng)前處理結(jié)果并傳輸?shù)剿鲚敵鼍彌_中;
若所述輸出緩沖接收到當(dāng)前卷積塊,則按照地址映射的方式對(duì)當(dāng)前卷積塊進(jìn)行順序整合,并得到當(dāng)前卷積陣列后傳遞給所述數(shù)據(jù)分配器;
若所述輸出緩沖接收到當(dāng)前處理結(jié)果,則對(duì)所述當(dāng)前處理結(jié)果進(jìn)行通道對(duì)應(yīng)拆分和數(shù)據(jù)緩沖后,發(fā)送給所述數(shù)據(jù)分配器;
當(dāng)所述數(shù)據(jù)分配器接收到的當(dāng)前卷積陣列或者拆分后的處理結(jié)果達(dá)到一定的數(shù)量后一起寫(xiě)回所述片上存儲(chǔ)中,直到當(dāng)前計(jì)算模式完成計(jì)算為止。
2.根據(jù)權(quán)利要求1所述的卷積神經(jīng)網(wǎng)絡(luò)硬件加速器,其特征是,多路PE陣列中的每路PE陣列均包括:PE_G1模塊、PE_G2模塊、PE_G3模塊、PE_G4模塊、PE_G5模塊和RC模塊;且所述PE_G1模塊和PE_G2模塊中包含4個(gè)可重構(gòu)的PE計(jì)算單元;所述PE_G3模塊中包含M個(gè)乘法計(jì)算單元,其中,每路PE陣列是按如下過(guò)程計(jì)算得到輸出特征圖:
所述輸入緩沖將卷積核按列廣播到每路PE陣列的PE_G1模塊,使得所述PE_G1模塊根據(jù)所述配置信息中的參數(shù)矩陣G,對(duì)一個(gè)卷積核進(jìn)行變換,包括:
所述PE_G1模塊中的每個(gè)PE計(jì)算單元根據(jù)參數(shù)矩陣G選擇卷積核的列數(shù)據(jù)中相應(yīng)的數(shù)據(jù),并利用自身PE計(jì)算單元內(nèi)的運(yùn)算器進(jìn)行變換計(jì)算,其中,所述PE_G1模塊中的第一個(gè)PE計(jì)算單元和第四個(gè)PE計(jì)算單元協(xié)助第二個(gè)PE計(jì)算單元和第三個(gè)PE計(jì)算單元完成一次加法運(yùn)算,并將加法結(jié)果重定向到第二個(gè)PE計(jì)算單元和第三個(gè)PE計(jì)算單元中完成剩余的加法計(jì)算和乘法計(jì)算,得到初步卷積計(jì)算結(jié)果;所述RC模塊對(duì)初步卷積計(jì)算結(jié)果進(jìn)行數(shù)據(jù)重整后,發(fā)送到所述PE_G2模塊;
所述PE_G2模塊根據(jù)配置信息中的參數(shù)矩陣GT,對(duì)重整后的初步卷積計(jì)算結(jié)果進(jìn)行變換,從而完成一個(gè)卷積核的變換;
當(dāng)一定數(shù)量的卷積核完成變換后,所述輸入緩沖將輸入特征圖按列廣播到每路PE陣列的PE_G1模塊,使得所述PE_G1模塊根據(jù)所述配置信息中的參數(shù)矩陣BT,對(duì)一個(gè)輸入特征圖進(jìn)行變換,得到初步特征圖計(jì)算結(jié)果;
所述RC模塊對(duì)PE_G1模塊的初步特征圖計(jì)算結(jié)果進(jìn)行重整后,發(fā)送到PE_G2模塊;
所述PE_G2模塊根據(jù)配置信息中的參數(shù)矩陣B,對(duì)重整后的初步特征圖計(jì)算結(jié)果進(jìn)行變換,從而完成一個(gè)輸入特征圖的變換;
當(dāng)輸入特征圖完成變換后,所述PE_G2模塊將已變換的輸入特征圖發(fā)回所述PE_G1模塊、PE_G2模塊和PE_G3模塊;所述PE_G1模塊、PE_G2模塊中的PE計(jì)算單元將自身內(nèi)部的計(jì)算結(jié)構(gòu)進(jìn)行重構(gòu)后接收已變換的輸入特征圖;所述PE_G1模塊、PE_G2模塊、PE_G3模塊對(duì)已變換的輸入特征圖和自身存儲(chǔ)的M/4+2個(gè)輸出通道的已變換的卷積核進(jìn)行點(diǎn)乘計(jì)算,得到M/4+2個(gè)輸出通道的點(diǎn)乘結(jié)果;
所述PE_G1模塊、PE_G2模塊、PE_G3模塊將M/4+2個(gè)輸出通道的點(diǎn)乘結(jié)果發(fā)送到RC模塊進(jìn)行數(shù)據(jù)重整,得到M/4+2個(gè)輸出通道的重整后的初步點(diǎn)乘結(jié)果并發(fā)送到PE_G4模塊;所述PE_G4模塊中的M/2+4個(gè)PE計(jì)算單元以每?jī)蓚€(gè)單元為一組,并根據(jù)配置信息中的矩陣AT分別對(duì)M/4+2個(gè)輸出通道的重整后的初步點(diǎn)乘結(jié)果進(jìn)行變換;所述PE_G4模塊將變換后的初步點(diǎn)乘結(jié)果發(fā)送RC模塊進(jìn)行數(shù)據(jù)重整,得到重整后的點(diǎn)乘結(jié)果并發(fā)送到PE_G5模塊;所述PE_G5模塊中的M/4+2個(gè)PE計(jì)算單元以每?jī)蓚€(gè)單元為一組,并根據(jù)配置信息中的參數(shù)矩陣A分別對(duì)M/4+2個(gè)輸出通道的重整后的點(diǎn)乘結(jié)果進(jìn)行變換,得到當(dāng)前計(jì)算模式下的輸出特征圖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于合肥工業(yè)大學(xué),未經(jīng)合肥工業(yè)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110666106.5/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 3780點(diǎn)離散傅立葉變換處理器
- 一種基于Winograd算法的3D CNN加速方法及系統(tǒng)
- 神經(jīng)網(wǎng)絡(luò)卷積運(yùn)算裝置及方法
- 一種用于經(jīng)優(yōu)化的Winograd卷積加速器的系統(tǒng)和方法
- 一種程序檢測(cè)方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基于Winograd算法的神經(jīng)網(wǎng)絡(luò)卷積方法及裝置
- 一種面向卷積神經(jīng)網(wǎng)絡(luò)加速器的Winograd卷積拆分方法
- 運(yùn)行神經(jīng)網(wǎng)絡(luò)模型的方法、裝置和計(jì)算機(jī)設(shè)備
- 用于神經(jīng)網(wǎng)絡(luò)的Winograd變換卷積操作的裝置和方法
- 一種基于winograd動(dòng)態(tài)卷積塊的圖像處理方法
- 卷積運(yùn)算處理方法及相關(guān)產(chǎn)品
- 一種卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算方法及系統(tǒng)
- 卷積運(yùn)算方法及系統(tǒng)
- 卷積運(yùn)算方法、裝置及系統(tǒng)
- 深度神經(jīng)網(wǎng)絡(luò)裁剪方法、裝置及電子設(shè)備
- 基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法和圖像處理裝置
- 卷積神經(jīng)網(wǎng)絡(luò)及基于卷積神經(jīng)網(wǎng)絡(luò)的圖像處理方法
- 一種圖像處理方法、裝置以及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于卷積神經(jīng)網(wǎng)絡(luò)的卷積運(yùn)算裝置
- 基于FPGA實(shí)現(xiàn)圖像識(shí)別的方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





