《白話深度學(xué)習(xí)與Tensorflow》學(xué)習(xí)筆記(4)Deep Residual Networks

深度殘差網(wǎng)絡(luò):主要應(yīng)用于計(jì)算機(jī)視覺——圖像分類、語義分割(semantic segmentation)、目標(biāo)檢測(object detection),其主要是使用CNN進(jìn)行改造。何愷明老師有一篇文獻(xiàn)《Deep Residual Networks——Deep learning Gets Way Deeper》。

普通CNN網(wǎng)絡(luò)的問題(plain network):一層的網(wǎng)絡(luò)數(shù)據(jù)只能來源于前一層,網(wǎng)絡(luò)越深,學(xué)習(xí)到的東西就越多,收斂速度越慢,時(shí)間越長,但是由于網(wǎng)絡(luò)深度

加深而產(chǎn)生學(xué)習(xí)率變低,準(zhǔn)確率無法提升(出現(xiàn)了網(wǎng)絡(luò)退化)。

其本質(zhì)是由于信息丟失而產(chǎn)生了過擬合的問題。對于CNN而言,每層經(jīng)過卷積,都會產(chǎn)生有損壓縮的情況(降采樣 down sampling),就是在向量通過網(wǎng)絡(luò)的過程中經(jīng)過濾波處理,產(chǎn)生的效果是讓輸入向量輸出后具有更小的尺寸,卷積和池化都可以作為降采樣的工具。

在深度殘差網(wǎng)絡(luò)中,引入了短路設(shè)計(jì),將前若干層的數(shù)據(jù)輸出直接跳過多層(一般為2層)而引入到后面的數(shù)據(jù)層的輸入部分。就是前面層的較為清晰的向量數(shù)據(jù)會和后面有損壓縮過的數(shù)據(jù)共同作為后面數(shù)據(jù)的輸入。示意圖如下:

;

殘差網(wǎng)絡(luò)結(jié)構(gòu)元

這樣就引入了更豐富的參考信息或者豐富的特征維度。

Residual network是一種力求簡潔的設(shè)計(jì)方式,單純加深網(wǎng)絡(luò),而且絕不在隱藏層中設(shè)計(jì)全連接層,也不使用Dropout機(jī)制。

ImageNet Classification 達(dá)到152層。

正向傳遞:

短路層引入后產(chǎn)生平滑的正向傳遞過程:



也就是后面任何一層XL向量的內(nèi)容會有一部分由前面的某一層xl線性貢獻(xiàn)。

殘差反向傳遞:

定義殘差E(Loss):


用鏈?zhǔn)角髮?dǎo)對殘差過程進(jìn)行求解:



這一項(xiàng):


使得:



的過程是一個(gè)線性疊加的過程,而非連乘,可以減少梯度消失的現(xiàn)象。

拓?fù)浣忉專?/p>

短接項(xiàng)相當(dāng)于把所有的一個(gè)一個(gè)網(wǎng)絡(luò)短接了過去,這些短接過去的部分其實(shí)又形成了新的拓?fù)浣Y(jié)構(gòu)。如下圖所示:



相當(dāng)于多個(gè)不同的網(wǎng)絡(luò)模型做了并聯(lián)融合。

Keras這種框架包含了不同的shortcut,一種帶有卷積項(xiàng),一種不帶。

網(wǎng)絡(luò)發(fā)生類似并聯(lián)的情況是會提高網(wǎng)絡(luò)本身學(xué)習(xí)的容納能力!

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

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

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