免費(fèi)完整版的網(wǎng)站模板做百度推廣代運(yùn)營(yíng)有用嗎
目錄
一、關(guān)于ResNet
1、什么是ResNet
2、傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)存在的問(wèn)題
????????1)梯度消失和梯度爆炸問(wèn)題
????????2)訓(xùn)練困難
? ? ? ? 3)特征表示能力受限
? ? ? ? 4)模型復(fù)雜度和計(jì)算負(fù)擔(dān)
3、如何解決
????????1)解決梯度問(wèn)題
????????????????BN層重要步驟:
? ? ? ? 2)解決深層網(wǎng)絡(luò)退化問(wèn)題
4、殘差結(jié)構(gòu)
? ? ? ? 1)隔層相加優(yōu)點(diǎn)
? ? ? ? 2)隔層相加數(shù)值增大問(wèn)題
5、18層結(jié)構(gòu)以外的結(jié)構(gòu)
二、BN層
1、關(guān)于BN層
2、主要作用
? ? ? ? 1)加速網(wǎng)絡(luò)收斂
? ? ? ? 2)減少梯度問(wèn)題
? ? ? ? 3)增強(qiáng)模型的泛化能力
? ? ? ? 4)正則化效果
3、過(guò)程
一、關(guān)于ResNet
1、什么是ResNet
????????ResNet(Residual Neural Network)是一種深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),由Kaiming He等人在2015年提出,斬獲當(dāng)年ImageNet競(jìng)賽中分類任務(wù)第一名,目標(biāo)檢測(cè)第一名。獲得COCO數(shù)據(jù)集中目標(biāo)檢測(cè)第一名,圖像分割第一名。
????????它通過(guò)使用殘差塊(Residual Block)來(lái)克服深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的梯度消失等問(wèn)題,使得網(wǎng)絡(luò)可以更深地進(jìn)行訓(xùn)練。
2、傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)存在的問(wèn)題
????????1)梯度消失和梯度爆炸問(wèn)題
????????????????當(dāng)網(wǎng)絡(luò)層數(shù)較深時(shí),梯度會(huì)逐漸變小或變大,導(dǎo)致訓(xùn)練過(guò)程變得困難。這是由于反向傳播中的鏈?zhǔn)椒▌t,使得梯度在每一層傳遞時(shí)逐漸衰減或放大。(可參考傳聲游戲)
????????????????? 梯度消失:指在神經(jīng)網(wǎng)絡(luò)的反向傳播過(guò)程中,梯度逐漸變小并趨近于零的現(xiàn)象。當(dāng)梯度接近于零時(shí),權(quán)重更新的幅度變得非常小,導(dǎo)致網(wǎng)絡(luò)參數(shù)更新緩慢甚至停止更新,從而影響網(wǎng)絡(luò)的訓(xùn)練效果。通常發(fā)生在使用一些特定的激活函數(shù)和深層神經(jīng)網(wǎng)絡(luò)中。當(dāng)深層網(wǎng)絡(luò)的激活函數(shù)是Sigmoid或Tanh等飽和函數(shù)時(shí),這些函數(shù)的導(dǎo)數(shù)在輸入較大或較小的情況下接近于零,導(dǎo)致梯度逐漸縮小。隨著反向傳播的進(jìn)行,梯度會(huì)傳遞到淺層網(wǎng)絡(luò),導(dǎo)致淺層網(wǎng)絡(luò)的參數(shù)更新緩慢,最終影響整個(gè)網(wǎng)絡(luò)的訓(xùn)練效果。
????????????????? 梯度爆炸:指在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程中,梯度增長(zhǎng)得非???/strong>,導(dǎo)致梯度值變得非常大甚至無(wú)限大的現(xiàn)象。當(dāng)梯度值變得非常大時(shí),權(quán)重的更新幅度也會(huì)變得非常大,導(dǎo)致網(wǎng)絡(luò)參數(shù)發(fā)生劇烈的變化,進(jìn)而影響網(wǎng)絡(luò)的穩(wěn)定性和訓(xùn)練效果。梯度爆炸通常發(fā)生在使用一些特定的激活函數(shù)和深層神經(jīng)網(wǎng)絡(luò)中。當(dāng)深層網(wǎng)絡(luò)的激活函數(shù)是非線性函數(shù)時(shí),特別是使用在深層堆疊的神經(jīng)網(wǎng)絡(luò)中時(shí),梯度可能會(huì)無(wú)限制地增大。這是因?yàn)樵诜聪騻鞑ミ^(guò)程中,梯度會(huì)在每個(gè)隱藏層傳遞并相乘,導(dǎo)致梯度指數(shù)級(jí)地增長(zhǎng)。
????????上圖表示即為當(dāng)網(wǎng)路是20層和56層時(shí)的錯(cuò)誤率,可以發(fā)現(xiàn)層數(shù)越多反而錯(cuò)誤率更高
????????2)訓(xùn)練困難
????????????????由于梯度消失和梯度爆炸問(wèn)題,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)在訓(xùn)練深層網(wǎng)絡(luò)時(shí)很難收斂。網(wǎng)絡(luò)的性能往往在一定層數(shù)后不再提升或甚至下降。
? ? ? ? 3)特征表示能力受限
????????????????傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的局部感受野限制了其對(duì)全局信息的捕捉能力。簡(jiǎn)單的卷積操作無(wú)法充分利用圖像中的上下文信息,導(dǎo)致特征表示能力受限。
? ? ? ? 4)模型復(fù)雜度和計(jì)算負(fù)擔(dān)
????????????????隨著網(wǎng)絡(luò)層數(shù)的增加,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)量和計(jì)算量也會(huì)增加。這不僅增加了模型的復(fù)雜度,還需要更多的計(jì)算資源。
3、如何解決
????????1)解決梯度問(wèn)題
????????????????使用批歸一化(BN層)處理,批歸一化通過(guò)對(duì)每個(gè)小批量數(shù)據(jù)進(jìn)行歸一化,使得每個(gè)特征維度的均值接近于0,方差接近于1。這樣可以使得輸入數(shù)據(jù)在激活函數(shù)前的分布更加穩(wěn)定,從而緩解了梯度問(wèn)題。
????????????????BN層重要步驟:
??????????????????????????均值和方差的計(jì)算:對(duì)于每個(gè)小批量數(shù)據(jù),計(jì)算其在每個(gè)特征維度上的均值和方差。
??????????????????????????歸一化和縮放:利用計(jì)算得到的均值和方差,對(duì)每個(gè)特征維度上的數(shù)據(jù)進(jìn)行歸一化,并進(jìn)行縮放和平移操作,使得每個(gè)特征維度的均值為0,方差為1。
? ? ? ? 2)解決深層網(wǎng)絡(luò)退化問(wèn)題
????????????????人為地讓神經(jīng)網(wǎng)絡(luò)某些層跳過(guò)下一層神經(jīng)元的連接,隔層相連,弱化每層之間的強(qiáng)聯(lián)系。這種神經(jīng)網(wǎng)絡(luò)被稱為殘差網(wǎng)絡(luò) (ResNets)。
????????此時(shí)可看到層數(shù)越多錯(cuò)誤率越低,實(shí)線代表測(cè)試數(shù)據(jù)集錯(cuò)誤率,虛線代表訓(xùn)練集錯(cuò)誤率
4、殘差結(jié)構(gòu)
????????下圖為18層的卷積神經(jīng)網(wǎng)絡(luò),現(xiàn)傳入圖片,圖片格式為3*244*244,首先傳入第一層卷積核,卷積核的大小為7*7,一共有64個(gè)小卷積核,移動(dòng)步長(zhǎng)為2,將圖片四周填充3層0值,將其處理完使圖片大小變?yōu)?12*112,一共有64張,然后將這么多的特征圖進(jìn)行最大池化,池化層大小為3*3,移動(dòng)步長(zhǎng)為2,填充1層,然后得到新的圖片格式為64*56*56,將這些特征圖再次傳入卷積神經(jīng)網(wǎng)絡(luò),不改變其大小,但是此時(shí)發(fā)生了改變,這64張大小為56*56的特征圖不僅傳入下列卷積層,同時(shí)又復(fù)制一份一樣的跳過(guò)下面的卷積層,然后再將經(jīng)過(guò)兩層卷積層處理過(guò)的特征圖與沒(méi)有處理的特征圖相加得到新的特征圖,此時(shí)相加的為特征圖中每個(gè)像素點(diǎn)對(duì)應(yīng)的數(shù)值,然后再一次進(jìn)行剩余同樣的操作.........最終對(duì)特征圖進(jìn)行全局平均池化,即將每一張圖求一個(gè)平均值并輸出單個(gè)值,將這個(gè)值當(dāng)做特征圖再次進(jìn)行全連接,這個(gè)全連接有1000個(gè)神經(jīng)元,即輸出1000個(gè)預(yù)測(cè)結(jié)果。
????????殘差結(jié)構(gòu)使用了一種shortcut的連接方式,也可理解為捷徑。讓特征矩陣隔層相加,注意F(X)和X形狀要相同,所謂相加是特征矩陣相同位置上的數(shù)字進(jìn)行相加。
? ? ? ? 1)隔層相加優(yōu)點(diǎn)
????????????????通過(guò)將特征圖的數(shù)值隔層相加,可以讓信息從一層直接傳遞到另一層,而不受梯度消失的影響。這樣可以使得網(wǎng)絡(luò)更容易進(jìn)行優(yōu)化和訓(xùn)練,減少了優(yōu)化問(wèn)題的復(fù)雜性。同時(shí),殘差結(jié)構(gòu)還能夠有效地學(xué)習(xí)到殘差的信息,即網(wǎng)絡(luò)輸出與輸入之間的差異,從而更好地捕捉到數(shù)據(jù)中的細(xì)微變化和特征。
????????????????通過(guò)隔層相加的方式,殘差結(jié)構(gòu)實(shí)現(xiàn)了"跳躍連接",使得信息可以直接從較淺的層次直達(dá)較深的層次,消除了信息的丟失和模糊化。這樣可以提高網(wǎng)絡(luò)的表達(dá)能力,更好地捕捉到輸入數(shù)據(jù)的變化特征,提高了網(wǎng)絡(luò)的性能和準(zhǔn)確率。
? ? ? ? 2)隔層相加數(shù)值增大問(wèn)題
????????????????在殘差結(jié)構(gòu)中,特征圖的數(shù)值隔層相加是在兩個(gè)或多個(gè)層的特征圖上進(jìn)行的。這些特征圖經(jīng)過(guò)卷積、激活函數(shù)等操作后,通常會(huì)引入縮放因子(scale factor)或者使用卷積核尺寸為1的卷積層進(jìn)行調(diào)整,以確保兩個(gè)特征圖的通道數(shù)相同。
????????????????此外,殘差結(jié)構(gòu)中也會(huì)使用批歸一化(Batch Normalization, BN)層來(lái)進(jìn)一步調(diào)整和穩(wěn)定特征圖的數(shù)值。BN層通過(guò)對(duì)每個(gè)特征圖的通道進(jìn)行歸一化,將其數(shù)值范圍限制在較小的范圍內(nèi),有助于避免數(shù)值的過(guò)大或過(guò)小。BN層還引入了可學(xué)習(xí)的參數(shù),可以根據(jù)數(shù)據(jù)的分布調(diào)整特征圖的均值和方差,從而進(jìn)一步提升網(wǎng)絡(luò)的性能和收斂速度。
5、18層結(jié)構(gòu)以外的結(jié)構(gòu)
????????除了上述的18層殘差網(wǎng)絡(luò)結(jié)構(gòu)以外,還有34層、50層、101層、152層,一共5種殘差網(wǎng)絡(luò)結(jié)構(gòu),每種結(jié)構(gòu)及其對(duì)應(yīng)的權(quán)重參數(shù)個(gè)數(shù)也在上圖表示為FLOPs
二、BN層
1、關(guān)于BN層
????????批歸一化(Batch Normalization, BN)層在深度學(xué)習(xí)中被廣泛應(yīng)用,其主要作用是對(duì)神經(jīng)網(wǎng)絡(luò)的輸入進(jìn)行歸一化,以加速網(wǎng)絡(luò)的訓(xùn)練并提高模型的魯棒性和泛化能力。
2、主要作用
? ? ? ? 1)加速網(wǎng)絡(luò)收斂
????????????????標(biāo)準(zhǔn)化輸入可以使得各個(gè)特征之間的尺度統(tǒng)一,避免不同特征的數(shù)值范圍差異過(guò)大,從而加速網(wǎng)絡(luò)的收斂。
? ? ? ? 2)減少梯度問(wèn)題
????????????????通過(guò)將輸入進(jìn)行標(biāo)準(zhǔn)化,可以減少梯度的變化范圍,從而緩解梯度消失和梯度爆炸問(wèn)題,有助于網(wǎng)絡(luò)的訓(xùn)練。
? ? ? ? 3)增強(qiáng)模型的泛化能力
????????????????BN層引入了可學(xué)習(xí)的參數(shù),可以在訓(xùn)練過(guò)程中自適應(yīng)地調(diào)整特征的均值和方差,使得模型具有更好的魯棒性和泛化能力。
? ? ? ? 4)正則化效果
????????????????BN層在一定程度上具有正則化的效果,可以減少模型的過(guò)擬合現(xiàn)象。
3、過(guò)程
????????如上圖所示,對(duì)每個(gè)傳入的圖片進(jìn)行歸一化后,將其傳入卷積神經(jīng)層進(jìn)行處理后得到特征圖,然后再對(duì)這個(gè)特征圖進(jìn)行歸一化處理,處理完再次進(jìn)入卷積層處理,輸出的特征圖再次進(jìn)行歸一化。
????????歸一化的目的是是所有的特征圖的值滿足均值為0,方差為1的分布規(guī)律,來(lái)提高模型效率和準(zhǔn)確性,同時(shí)也防止了模型的過(guò)擬合。