[發(fā)明專利]卷積神經(jīng)網(wǎng)絡(luò)的快速計(jì)算在審
| 申請?zhí)枺?/td> | 201880017855.1 | 申請日: | 2018-10-24 |
| 公開(公告)號: | CN110537193A | 公開(公告)日: | 2019-12-03 |
| 發(fā)明(設(shè)計(jì))人: | 劉永超;黃啟印;潘國振;李思仲;徐建國;章海濤;王琳 | 申請(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類號: | G06N3/063 | 分類號: | G06N3/063;G06N3/04;G06N3/08 |
| 代理公司: | 11415 北京博思佳知識產(chǎn)權(quán)代理有限公司 | 代理人: | 艾佳<國際申請>=PCT/CN2018/ |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 卷積 卷積神經(jīng)網(wǎng)絡(luò) 濾波器參數(shù) 預(yù)先計(jì)算 可重用 濾波器 計(jì)算機(jī)實(shí)現(xiàn) 輸出數(shù)據(jù) 輸出 運(yùn)算符 網(wǎng)絡(luò) | ||
一種計(jì)算機(jī)實(shí)現(xiàn)的方法包括:獲得包括一個或多個卷積層的經(jīng)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò),所述一個或多個卷積層各自包括具有已知濾波器參數(shù)的多個濾波器;基于經(jīng)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)的已知濾波器參數(shù),預(yù)先計(jì)算一個或多個卷積層各自的可重用因子;接收經(jīng)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù);基于預(yù)先計(jì)算的可重用因子和輸入數(shù)據(jù),使用Winograd卷積運(yùn)算符來計(jì)算一個或多個卷積層各自的輸出;以及基于一個或多個卷積層各自的輸出來確定經(jīng)訓(xùn)練的卷積網(wǎng)絡(luò)的輸出數(shù)據(jù)。
背景技術(shù)
卷積神經(jīng)網(wǎng)絡(luò)(CNN或ConvNet)是機(jī)器學(xué)習(xí)中的一種人工神經(jīng)網(wǎng)絡(luò)。它通常被用于分析視覺圖像,例如,圖像識別和分類。例如,在機(jī)器學(xué)習(xí)過程的訓(xùn)練階段,CNN可以基于訓(xùn)練數(shù)據(jù)來訓(xùn)練或?qū)W習(xí)。然后,在機(jī)器學(xué)習(xí)過程的預(yù)測階段,經(jīng)訓(xùn)練的CNN用作接收輸入數(shù)據(jù)并基于對輸入數(shù)據(jù)進(jìn)行處理和分析而輸出預(yù)測或決定的模型。
發(fā)明內(nèi)容
本公開描述了卷積神經(jīng)網(wǎng)絡(luò)(CNN)的快速計(jì)算。
在一種實(shí)施方式中,一種計(jì)算機(jī)實(shí)現(xiàn)的方法包括:獲得包括一個或多個卷積層的經(jīng)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò),一個或多個卷積層各自包括具有已知濾波器參數(shù)的多個濾波器;基于經(jīng)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)的已知濾波器參數(shù),預(yù)先計(jì)算一個或多個卷積層各自的可重用因子;接收經(jīng)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù);基于預(yù)先計(jì)算的可重用因子和輸入數(shù)據(jù),使用Winograd卷積運(yùn)算符來計(jì)算一個或多個卷積層各自的輸出;以及基于一個或多個卷積層各自的輸出確定經(jīng)訓(xùn)練的卷積網(wǎng)絡(luò)的輸出數(shù)據(jù)。
先前描述的實(shí)施方式可使用以下實(shí)現(xiàn):計(jì)算機(jī)實(shí)現(xiàn)的方法;存儲計(jì)算機(jī)可讀指令以執(zhí)行計(jì)算機(jī)實(shí)現(xiàn)的方法的非暫時性計(jì)算機(jī)可讀介質(zhì);以及計(jì)算機(jī)實(shí)現(xiàn)的系統(tǒng),包括與硬件處理器互操作地耦接的計(jì)算機(jī)存儲器,該硬件處理器被配置為執(zhí)行計(jì)算機(jī)實(shí)現(xiàn)的方法/存儲在非暫時性計(jì)算機(jī)可讀介質(zhì)上的指令。
本文中描述的主題可以在特定實(shí)施方式中實(shí)現(xiàn),以便實(shí)現(xiàn)以下優(yōu)點(diǎn)中的一個或多個。第一,所描述的主題通過對計(jì)算圖執(zhí)行等效變換或轉(zhuǎn)換以簡化CNN的網(wǎng)絡(luò)結(jié)構(gòu),從而允許以設(shè)備無關(guān)和設(shè)備相關(guān)的方式優(yōu)化CNN的實(shí)現(xiàn),來提升CNN模型。示例性設(shè)備無關(guān)的優(yōu)化可以包括:冗余運(yùn)算移除(例如,在深度學(xué)習(xí)框架中移除識別運(yùn)算符,其僅執(zhí)行從輸入張量到輸出張量的數(shù)據(jù)傳輸而不改變數(shù)據(jù)內(nèi)容);以及層/運(yùn)算合并以減少計(jì)算復(fù)雜性(例如,將卷積層與批量歸一化層合并)。示例性設(shè)備相關(guān)的優(yōu)化可以包括:通過合并運(yùn)算(例如,將卷積層與緊接在前者之后的偏置添加運(yùn)算合并)來提高硬件效率,以更好地利用硬件計(jì)算能力和對不同底層架構(gòu)的靈活部署運(yùn)算以最大化CNN吞吐量。第二,所描述的主題基于經(jīng)訓(xùn)練的CNN減少了數(shù)據(jù)預(yù)測的計(jì)算量并且提高了預(yù)測速度,從而減少了網(wǎng)絡(luò)等待時間并提高了CNN吞吐量。第三,所描述的主題需要較少的計(jì)算能力。第四,所描述的主題可以將多個運(yùn)算符組合成新運(yùn)算符以利用底層硬件加速器(諸如GPU、FPGA或ASIC芯片)。例如,在CNN中,卷積層之后通常是偏置添加運(yùn)算或批量歸一化層。在偏置添加運(yùn)算的情況下,如果將卷積和偏置添加視為兩個單獨(dú)的運(yùn)算,則卷積可以在GPU上計(jì)算,然后偏置值可以被添加到GPU上的先前卷積的結(jié)果。以這種方式,GPU的計(jì)算能力因偏置添加運(yùn)算中的少量計(jì)算而未被充分利用。相反,在所描述的主題中,在一些實(shí)施方式中,卷積和偏置添加運(yùn)算可以組合成單個運(yùn)算。在此單個運(yùn)算中,相應(yīng)的偏置值可以在相同的GPU核啟動中直接被添加到卷積的結(jié)果,從而導(dǎo)致更優(yōu)的速度。類似地,在批量歸一化的情況下,卷積層和批量歸一化的組合可以被等效地離線轉(zhuǎn)換為卷積層和偏置添加組合,然后上述設(shè)備相關(guān)的優(yōu)化可以應(yīng)用于卷積層和偏置添加運(yùn)算以進(jìn)一步利用GPU能力以提高計(jì)算速度。這些示例也可應(yīng)用于GPU之外的其他處理器和加速器。其他優(yōu)點(diǎn)對于本領(lǐng)域的普通技術(shù)人員將是顯而易見的。
本文的主題的一個或多個實(shí)施方式的細(xì)節(jié)在具體實(shí)施方式、權(quán)利要求書、附圖和權(quán)利要求書中闡述。通過具體實(shí)施方式、權(quán)利要求書和附圖,該主題的其他特征、方面和優(yōu)點(diǎn)將變得顯而易見。
附圖說明
圖1是示出根據(jù)本公開的實(shí)施方式的卷積神經(jīng)網(wǎng)絡(luò)(CNN)的兩個計(jì)算圖的示例性等效變換的框圖。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880017855.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 卷積運(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ī)存儲介質(zhì)
- 用于卷積神經(jīng)網(wǎng)絡(luò)的卷積運(yùn)算裝置
- 基于FPGA實(shí)現(xiàn)圖像識別的方法、裝置、設(shè)備及存儲介質(zhì)
- 終端卷積神經(jīng)網(wǎng)絡(luò)的處理方法、裝置、存儲介質(zhì)及處理器
- 一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像深度估計(jì)方法
- 卷積神經(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)檢測方法及檢測裝置





