ResNet之Deeper Bottleneck Architectures

去年的時(shí)候,微軟一幫子人搞了個(gè)152層的神經(jīng)網(wǎng)絡(luò)!WTF!詳情見論文

論文太長(zhǎng)了,今天只分析一下ResNet的核心內(nèi)容之一,即“Deeper Bottleneck Architectures”(以下簡(jiǎn)稱DBA),論文里的原圖是這樣的:

Deeper Bottleneck Architectures

說實(shí)話,畫的不怎么樣,右邊的網(wǎng)絡(luò)結(jié)構(gòu)就是DBA啦!關(guān)于這張圖,論文的作者是這么說的

Because of concerns on the training time that we can afford, we modify the building block as a bottleneck design.

就是說,作者考慮到自己GPU的計(jì)算能力有限,所以才采用了bottleneck design!說到底還是沒錢上1080唄!不過2015年的時(shí)候1080還沒出來,那他為什么不上TITAN,還是沒錢唄!
言歸正傳,換成bottleneck design以后,網(wǎng)絡(luò)的參數(shù)減少了很多,訓(xùn)練也就相對(duì)容易一些。然后我們?cè)倏匆幌略髦械腞esNet全貌!

ResNet Architecture

來看50-layer那一欄,在進(jìn)入到DBA層之前的網(wǎng)絡(luò)比較簡(jiǎn)單,分別是:①卷積層"7×7, 64, stride 2"、②BN層、③ReLU層、④池化層"3×3 max pool, stride 2",最終的輸出結(jié)果是一個(gè)大小為 [batch_size, height, width, kernels] 矩陣,很簡(jiǎn)單,不再贅述,關(guān)于BN可以參考這里
我們深入一下,再看第一個(gè)DBA內(nèi)部,如下圖

Inside a DBA

很顯然,總共3×3=9層,可是原作畢竟篇幅有限,網(wǎng)絡(luò)實(shí)現(xiàn)的細(xì)節(jié)不是很清楚,于是我就參考了Ryan Dahl的tensorflow-resnet程序源碼,按照Ryan Dahl實(shí)現(xiàn)的ResNet,畫出了DBA內(nèi)部網(wǎng)絡(luò)的具體實(shí)現(xiàn),這個(gè)DBA是全網(wǎng)絡(luò)中第一個(gè)DBA的前三層,輸入的image大小為[batch_size,56,56,64],輸出大小為[batch_size,56,56,256],如下圖

Ryan Dahl's DBA

圖已經(jīng)說的很清楚啦!之后的網(wǎng)路就是N個(gè)上圖的結(jié)構(gòu)疊加!我不太想做過多的說明了,一切盡在圖中?。?/p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容