日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

2.3 残差网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授

發(fā)布時間:2025/4/5 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.3 残差网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

←上一篇↓↑下一篇→
2.2 經(jīng)典網(wǎng)絡(luò)回到目錄2.4 殘差網(wǎng)絡(luò)為什么有用?

殘差網(wǎng)絡(luò) (Residual Networks (ResNets))

非常非常深的神經(jīng)網(wǎng)絡(luò)是很難訓練的,因為存在梯度消失和梯度爆炸問題。這節(jié)課我們學習跳躍連接(Skip connection),它可以從某一層網(wǎng)絡(luò)層獲取激活,然后迅速反饋給另外一層,甚至是神經(jīng)網(wǎng)絡(luò)的更深層。我們可以利用跳躍連接構(gòu)建能夠訓練深度網(wǎng)絡(luò)的ResNets,有時深度能夠超過100層,讓我們開始吧。

ResNets是由殘差塊(Residual block)構(gòu)建的,首先我解釋一下什么是殘差塊。

這是一個兩層神經(jīng)網(wǎng)絡(luò),在 LLL 層進行激活,得到 a[l+1]a^{[l+1]}a[l+1] ,再次進行激活,兩層之后得到 a[l+2]a^{[l+2]}a[l+2] 。計算過程是從 a[l]a^{[l]}a[l] 開始,首先進行線性激活,根據(jù)這個公式: z[l+1]=W[l+1]a[l]+b[l+1]z^{[l+1]}=W^{[l+1]}a^{[l]}+b^{[l+1]}z[l+1]=W[l+1]a[l]+b[l+1] ,通過 a[l]a^{[l]}a[l] 算出 z[l+1]z^{[l+1]}z[l+1] ,即 a[l]a^{[l]}a[l] 乘以權(quán)重矩陣,再加上偏差因子。然后通過ReLU非線性激活函數(shù)得到 a[l+1]a^{[l+1]}a[l+1]a[l+1]=g(z[l+1])a^{[l+1]}=g(z^{[l+1]})a[l+1]=g(z[l+1]) 計算得出。接著再次進行線性激活,依據(jù)等式 z[l+2]=W[l+2]a[l+1]+b[l+2]z^{[l+2]}=W^{[l+2]}a^{[l+1]}+b^{[l+2]}z[l+2]=W[l+2]a[l+1]+b[l+2] ,最后根據(jù)這個等式再次進行ReLu非線性激活,即 a[l+2]=g(z[l+2])a^{[l+2]}=g(z^{[l+2]})a[l+2]=g(z[l+2]) ,這里的 ggg 是指ReLU非線性函數(shù),得到的結(jié)果就是 a[l+2]a^{[l+2]}a[l+2] 。換句話說,信息流從 a[l]a^{[l]}a[l]a[l+2]a^{[l+2]}a[l+2] 需要經(jīng)過以上所有步驟,即這組網(wǎng)絡(luò)層的主路徑。

在殘差網(wǎng)絡(luò)中有一點變化,我們將 a[l]a^{[l]}a[l] 直接向后,拷貝到神經(jīng)網(wǎng)絡(luò)的深層,在ReLU非線性激活函數(shù)前加上 a[l]a^{[l]}a[l] ,這是一條捷徑。 a[l]a^{[l]}a[l] 的信息直接到達神經(jīng)網(wǎng)絡(luò)的深層,不再沿著主路徑傳遞,這就意味著最后這個等式( a[l+2]=g(z[l+2])a^{[l+2]}=g(z^{[l+2]})a[l+2]=g(z[l+2]) )去掉了,取而代之的是另一個ReLU非線性函數(shù),仍然對 z[l+2]z^{[l+2]}z[l+2] 進行 ggg 函數(shù)處理,但這次要加上 a[l]a^{[l]}a[l] ,即: a[l+2]=g(z[l+2]+a[l])a^{[l+2]}=g(z^{[l+2]}+a^{[l]})a[l+2]=g(z[l+2]+a[l]) ,也就是加上的這個 a[l]a^{[l]}a[l] 產(chǎn)生了一個殘差塊。

在上面這個圖中,我們也可以畫一條捷徑,直達第二層。實際上這條捷徑是在進行ReLU非線性激活函數(shù)之前加上的,而這里的每一個節(jié)點都執(zhí)行了線性函數(shù)和ReLU激活函數(shù)。所以 a[l]a^{[l]}a[l] 插入的時機是在線性激活之后,ReLU激活之前。除了捷徑,你還會聽到另一個術(shù)語“跳躍連接”,就是指 a[l]a^{[l]}a[l] 跳過一層或者好幾層,從而將信息傳遞到神經(jīng)網(wǎng)絡(luò)的更深層。

ResNet的發(fā)明者是何凱明(Kaiming He)張翔宇(Xiangyu Zhang)任少卿(Shaoqing Ren)孫劍(Jiangxi Sun),他們發(fā)現(xiàn)使用殘差塊能夠訓練更深的神經(jīng)網(wǎng)絡(luò)。所以構(gòu)建一個ResNet網(wǎng)絡(luò)就是通過將很多這樣的殘差塊堆積在一起,形成一個很深神經(jīng)網(wǎng)絡(luò),我們來看看這個網(wǎng)絡(luò)。

這并不是一個殘差網(wǎng)絡(luò),而是一個普通網(wǎng)絡(luò)(Plain network),這個術(shù)語來自ResNet論文。

把它變成ResNet的方法是加上所有跳躍連接,正如前一張幻燈片中看到的,每兩層增加一個捷徑,構(gòu)成一個殘差塊。如圖所示,5個殘差塊連接在一起構(gòu)成一個殘差網(wǎng)絡(luò)。

如果我們使用標準優(yōu)化算法訓練一個普通網(wǎng)絡(luò),比如說梯度下降法,或者其它熱門的優(yōu)化算法。如果沒有殘差,沒有這些捷徑或者跳躍連接,憑經(jīng)驗?zāi)銜l(fā)現(xiàn)隨著網(wǎng)絡(luò)深度的加深,訓練錯誤會先減少,然后增多。而理論上,隨著網(wǎng)絡(luò)深度的加深,應(yīng)該訓練得越來越好才對。也就是說,理論上網(wǎng)絡(luò)深度越深越好。但實際上,如果沒有殘差網(wǎng)絡(luò),對于一個普通網(wǎng)絡(luò)來說,深度越深意味著用優(yōu)化算法越難訓練。實際上,隨著網(wǎng)絡(luò)深度的加深,訓練錯誤會越來越多。

但有了ResNets就不一樣了,即使網(wǎng)絡(luò)再深,訓練的表現(xiàn)卻不錯,比如說訓練誤差減少,就算是訓練深達100層的網(wǎng)絡(luò)也不例外。有人甚至在1000多層的神經(jīng)網(wǎng)絡(luò)中做過實驗,盡管目前我還沒有看到太多實際應(yīng)用。但是對 xxx 的激活,或者這些中間的激活能夠到達網(wǎng)絡(luò)的更深層。這種方式確實有助于解決梯度消失和梯度爆炸問題,讓我們在訓練更深網(wǎng)絡(luò)的同時,又能保證良好的性能。也許從另外一個角度來看,隨著網(wǎng)絡(luò)越來深,網(wǎng)絡(luò)連接會變得臃腫,但是ResNet確實在訓練深度網(wǎng)絡(luò)方面非常有效。

現(xiàn)在大家對ResNet已經(jīng)有了一個大致的了解,通過本周的編程練習,你可以嘗試親自實現(xiàn)一下這些想法。至于為什么ResNets能有如此好的表現(xiàn),接下來我會有更多更棒的內(nèi)容分享給大家,我們下個視頻見。

課程板書




←上一篇↓↑下一篇→
2.2 經(jīng)典網(wǎng)絡(luò)回到目錄2.4 殘差網(wǎng)絡(luò)為什么有用?

總結(jié)

以上是生活随笔為你收集整理的2.3 残差网络-深度学习第四课《卷积神经网络》-Stanford吴恩达教授的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。