日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CNN总结

發(fā)布時間:2025/3/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CNN总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
      • 一、 CNN結(jié)構(gòu)演化歷史的圖
      • 二、 AlexNet網(wǎng)絡(luò)
          • 2.1 ReLU 非線性激活函數(shù)
            • 多GPU訓(xùn)練(Training on Multiple GPUs)
            • 局部響應(yīng)歸一化(Local Response Normalization)
            • 重疊池化(Overlapping Pooling)
          • 2.2 降低過擬合( Reducing Overfitting)
            • 數(shù)據(jù)增強(Data Augmentation)
            • Dropout
      • 三、VGG網(wǎng)絡(luò)
          • VGG 網(wǎng)絡(luò) 卷積層組合 詳解
      • 四、GoogleLeNet網(wǎng)絡(luò)
          • Inception V1網(wǎng)絡(luò)(NIN結(jié)構(gòu))
          • Inception V2、V3、V4
      • 五、ResNet 網(wǎng)絡(luò)

?


原文地址:https://blog.csdn.net/wsp_1138886114/article/details/81386422#%E4%B8%89vgg%E7%BD%91%E7%BB%9C


一、 CNN結(jié)構(gòu)演化歷史的圖

二、 AlexNet網(wǎng)絡(luò)

Deep Learning模型大名鼎鼎的AlexNet模型

  • 大量數(shù)據(jù),Deep Learning領(lǐng)域應(yīng)該感謝李飛飛團隊搞出來如此大的標(biāo)注數(shù)據(jù)集合ImageNet;
  • GPU,這種高度并行的計算神器確實助了洪荒之力,沒有神器在手,Alex估計不敢搞太復(fù)雜的模型;
  • 算法的改進,包括網(wǎng)絡(luò)變深、數(shù)據(jù)增強、ReLU、Dropout等
  • 使用梯度下降法的多層網(wǎng)絡(luò)可以從大量的數(shù)據(jù)中學(xué)習(xí)復(fù)雜的,高緯,非線性的映射,這使得他們成為圖像識別任務(wù)的首選。 全連接的多層網(wǎng)絡(luò)可以作為分類器。

    首先,圖像是非常大的,由很多像素組成。具有100個隱藏單元的全連接網(wǎng)絡(luò)包含成千上萬的權(quán)重。為了解決系統(tǒng)的消耗和內(nèi)存占用問題,在下面描述的卷積神經(jīng)網(wǎng)絡(luò)中,位移不變性(shift invariance)可以通過權(quán)值共享實現(xiàn)。

    全連接的網(wǎng)絡(luò)的另一個缺點就是完全忽略了輸入的拓?fù)浣Y(jié)構(gòu)。在不影響訓(xùn)練的結(jié)果的情況下,輸入圖像可以是任意的順序。CNN通過將隱藏結(jié)點的感受野限制在局部來提取特征。

    CNN通過局部感受野(local receptive fields),權(quán)值共享(shared weights),下采樣(sub-sampling)實現(xiàn)位移,縮放,和形變的不變性(shift,scale,distortion invariance)。

    卷積層的核就是特征圖中所有單元使用的一組連接權(quán)重。卷積層的一個重要特性是如果輸入圖像發(fā)生了位移,特征圖會發(fā)生相應(yīng)的位移,否則特征圖保持不變。這個特性是CNN對位移和形變保持魯棒的基礎(chǔ)。?
    一旦計算出feature map,那么精確的位置就變得不重要了,相對于其他特征的大概位置是才是相關(guān)的。

    在特征圖中降低特征位置的精度的方式是降低特征圖的空間分辨率,這個可以通過下采樣層達(dá)到,下采樣層通過求局部平均降低特征圖的分辨率,并且降低了輸出對平移和形變的敏感度。

    2.1 ReLU 非線性激活函數(shù)


    通常這種標(biāo)準(zhǔn)函數(shù)是?。在梯度下降訓(xùn)練時間上,這些飽和的非線性函數(shù)比不飽和非線性函數(shù)f(x)=max(0,x)更慢。下圖這種非線性特征的神經(jīng)元稱為修正線性單元(ReLUs: Rectified Linear Units)。使用ReLUs的深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度比同樣情況下使用tanh單元的速度快好幾倍。?
    ReLUs主要是對訓(xùn)練集的擬合進行加速。快速學(xué)習(xí)對由大規(guī)模數(shù)據(jù)集上訓(xùn)練出大模型的性能有相當(dāng)大的影響。

    用ReLU代替了傳統(tǒng)的Tanh或者Logistic: ReLU本質(zhì)上是分段線性模型,前向計算非常簡單,無需指數(shù)之類操作;ReLU的偏導(dǎo)也很簡單,反向傳播梯度,無需指數(shù)或者除法之類操作;ReLU不容易發(fā)生梯度發(fā)散問題,Tanh和Logistic激活函數(shù)在兩端的時候?qū)?shù)容易趨近于零,多級連乘后梯度更加約等于0;ReLU關(guān)閉了右邊,從而會使得很多的隱層輸出為0,即網(wǎng)絡(luò)變得稀疏,起到了類似L1的正則化作用,可以在一定程度上緩解過擬合。
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    多GPU訓(xùn)練(Training on Multiple GPUs)

    • 本文中的網(wǎng)絡(luò)使用兩個GPU。當(dāng)前的GPU都能很方便地進行交叉GPU并行,因為它們可以直接相互讀寫內(nèi)存,而不用經(jīng)過主機內(nèi)存。
    • 技巧:設(shè)定只有某些層才能進行GPU之間的通信。這就意味著,例如第三層的輸入為第二層的所有特征圖。但是,第四層的輸入僅僅是第三層在同一GPU上的特征圖。在交叉驗證時,連接模式的選擇是一個問題,而這個也恰好允許我們精確地調(diào)整通信的數(shù)量,直到他占計算數(shù)量的一個合理比例。

    局部響應(yīng)歸一化(Local Response Normalization)

    • ReLUs具有符合本文要求的一個性質(zhì):它不需要對輸入進行歸一化來防止飽和。?
      只要一些訓(xùn)練樣本產(chǎn)生一個正輸入給一個ReLU,那么在那個神經(jīng)元中學(xué)習(xí)就會開始。?
      但是,我們還是發(fā)現(xiàn)如下的局部標(biāo)準(zhǔn)化方案有助于增加泛化性能。

    重疊池化(Overlapping Pooling)

    • CNNs中的池化層歸納了同一個核特征圖中的相鄰神經(jīng)元組的輸出。通常,由鄰接池化單元歸納的鄰域并不重疊。更確切地說,一個池化層可以被看作是包含了每間隔S個像素的池化單元的柵格組成,每一個都?xì)w納了以池化單元為中心大小為Z x Z的鄰域。
    • 如果令S=Z,將會得到CNNs通常采用的局部池化。若令S<Z,則得到重疊池。

    第一層卷積層使用96個大小為11x11x3的卷積核對224x224x3的輸入圖像以4個像素為步長(這是核特征圖中相鄰神經(jīng)元感受域中心之間的距離)進行濾波。?
    第二層卷積層將第一層卷積層的輸出(經(jīng)過響應(yīng)歸一化和池化)作為輸入,并使用256個大小為5x5x48的核對它進行濾波。?
    第三層、第四層和第五層的卷積層在沒有任何池化或者歸一化層介于其中的情況下相互連接。?
    第三層卷積層有384個大小為3x3x256的核與第二層卷積層的輸出(已歸一化和池化)相連。?
    第四層卷積層有384個大小為3x3x192的核,第五層卷積層有256個大小為 的核。每個全連接層有4096個神經(jīng)元。?
    ?
    圖2 本文CNN的結(jié)構(gòu)圖示,明確地描述了兩個GPU之間的職責(zé)。一個GPU運行圖上方的層,另一個運行圖下方的層。兩個GPU只在特定的層通信。網(wǎng)絡(luò)的輸入是150,528維的,網(wǎng)絡(luò)剩余層中的神經(jīng)元數(shù)目分別是253440,186624,64896,64896,43264,4096,4096,1000

    2.2 降低過擬合( Reducing Overfitting)

    數(shù)據(jù)增強(Data Augmentation)

    • 方法1:生成平移圖像和水平翻轉(zhuǎn)圖像。做法就是從256x256的圖像中提取隨機的224x224大小的塊(以及它們的水平翻轉(zhuǎn)),然后基于這些提取的塊訓(xùn)練網(wǎng)絡(luò)。softmax層對這十個塊做出的預(yù)測取均值。

    • 方法2:改變訓(xùn)練圖像的RGB通道的強度。特別的,本文對整個ImageNet訓(xùn)練集的RGB像素值進行了PCA。對每一幅訓(xùn)練圖像,本文加上多倍的主成分,倍數(shù)的值為相應(yīng)的特征值乘以一個均值為0標(biāo)準(zhǔn)差為0.1的高斯函數(shù)產(chǎn)生的隨機變量。

    Dropout

    • 它將每一個隱藏神經(jīng)元的輸出以50%的概率設(shè)為0。這些以這種方式被“踢出”的神經(jīng)元不會參加前向傳遞,也不會加入反向傳播。因此每次有輸入時,神經(jīng)網(wǎng)絡(luò)采樣一個不同的結(jié)構(gòu),但是所有這些結(jié)構(gòu)都共享權(quán)值。這個技術(shù)降低了神經(jīng)元之間復(fù)雜的聯(lián)合適應(yīng)性。 Dropout方法和數(shù)據(jù)增強一樣,都是防止過擬合的。Dropout應(yīng)該算是AlexNet中一個很大的創(chuàng)新

    三、VGG網(wǎng)絡(luò)

    VGG 網(wǎng)絡(luò)是由conv、pool、fc、softmax層組成。VGG網(wǎng)絡(luò)的卷積層,沒有縮小圖片,每層pad都是有值的,圖片縮小都是由pool來實現(xiàn)的。

  • 網(wǎng)絡(luò)包含了16個卷積/全連接層。網(wǎng)絡(luò)的結(jié)構(gòu)非常一致,從頭到尾全部使用的是3x3的卷積和2x2的匯聚。
  • 他們的預(yù)訓(xùn)練模型是可以在網(wǎng)絡(luò)上獲得并在Caffe中使用的。
  • VGGNet不好的一點是它耗費更多計算資源,并且使用了更多的參數(shù),導(dǎo)致更多的內(nèi)存占用(140M)。?
    其中絕大多數(shù)的參數(shù)都是來自于第一個全連接層。?

  • VGG 網(wǎng)絡(luò) 卷積層組合 詳解

    • 首先,多個卷積層與非線性的激活層交替的結(jié)構(gòu),比單一卷積層的結(jié)構(gòu)更能提取出深層的更好的特征。
    • 其次,假設(shè)所有的數(shù)據(jù)有C個通道,那么單獨的7x7卷積層將會包含7*7*C=49C2個參數(shù); 而3個3x3的卷積層的組合僅有個3*(3*3*C)=27C2個參數(shù)。?
      小濾波器的卷積層組合,可以表達(dá)出輸入數(shù)據(jù)中更多個強力特征,使用的參數(shù)也更少?。
    • 唯一的不足是,在進行反向傳播時,中間的卷積層可能會導(dǎo)致占用更多的內(nèi)存。

    四、GoogleLeNet網(wǎng)絡(luò)

    1 . GoogLeNet采用了模塊化的結(jié)構(gòu),方便增添和修改; 2 . 網(wǎng)絡(luò)最后采用了average pooling來代替全連接層,想法來自NIN,事實證明可以將TOP1 accuracy提高0.6%。 3 . 雖然移除了全連接,但是網(wǎng)絡(luò)中依然使用了Dropout ; 4 . 為了避免梯度消失,網(wǎng)絡(luò)額外增加了2個輔助的softmax用于向前傳導(dǎo)梯度。 文章中說這兩個輔助的分類器的loss應(yīng)該加一個衰減系數(shù),但看caffe中的model也沒有加任何衰減。 此外,實際測試的時候,這兩個額外的softmax會被去掉。
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    Inception V1網(wǎng)絡(luò)(NIN結(jié)構(gòu))

    核心組件是Inception Architecture(稀疏連接結(jié)構(gòu))

    Split-Merge —> 有1X1卷積,3x3卷積,5X5卷積和3X3池化。?
    增加網(wǎng)絡(luò)對多尺度的適應(yīng)性:輸出通道多尺寸(感受野)化。增加網(wǎng)絡(luò)寬度。?
    Bottleneck Layer 使用NIN的1X1卷積進行特征降維,大幅降低參數(shù)量和計算量。?
    減少近10倍的計算量(NiN理念),進而保證網(wǎng)絡(luò)能夠更深

    取消了全連接:

    本質(zhì)上是一個全尺寸的卷積層?
    全連接層參數(shù)量大,為了減負(fù)取消,全連接主要用于推斷用?
    由全局平均池化替換(Global average pooling)?
    從V1開始之后都取消了全連接層?
    輔助分類器:解決前幾層的梯度消失問題?
    最后一層為全尺寸的卷積層?
    4種操作并行進行,各自提取對應(yīng)特征

    Inception V2、V3、V4

    inception V2

    其實在網(wǎng)絡(luò)上沒有什么改動,只是在輸入的時候增加了batch_normal,訓(xùn)練起來收斂更快,學(xué)習(xí)起來自然更高效,可以減少dropout的使用。?
    進行了歸一化:保證出現(xiàn)過的最大值為1,最小值為0,所有輸出保證在0~1之間。

    inception V3

    把googlenet里一些7*7的卷積變成了1*7和7*1的兩層串聯(lián),3*3的也一樣,變成了1*3和3*1,這樣加速了計算,還增加了網(wǎng)絡(luò)的非線性,減小過擬合的概率。另外,網(wǎng)絡(luò)的輸入從224改成了299.

    inception v4

    實際上是把原來的inception加上了resnet的方法,從一個節(jié)點能夠跳過一些節(jié)點直接連入之后的一些節(jié)點,并且殘差也跟著過去一個。用來提高速度的。?
    另外就是V4把一個先1*1再3*3那步換成了先3*3再1*1.

    五、ResNet 網(wǎng)絡(luò)

    借鑒了Highway Network思想的網(wǎng)絡(luò) (殘差網(wǎng)絡(luò)) 在2015名聲大噪,而且影響了2016年DL在學(xué)術(shù)界和工業(yè)界的發(fā)展方向。?
    該相當(dāng)于旁邊專門開個通道使得輸入可以直達(dá)輸出,而優(yōu)化的目標(biāo)由原來的擬合輸出H(x)變成輸出和輸入的差H(x)-x,其中H(X)是某一層原始的的期望映射輸出,x是輸入。?

    ?

    它對每層的輸入做一個reference, 學(xué)習(xí)形成殘差函數(shù), 而不是學(xué)習(xí)一些沒有reference的函數(shù)。這種殘差函數(shù)更容易優(yōu)化,能使網(wǎng)絡(luò)層數(shù)大大加深。

    ResNet學(xué)習(xí)的是殘差函數(shù)F(x) = H(x) - x, 這里如果F(x) = 0, 那么就是上面提到的恒等映射。?
    事實上,resnet是“shortcut connections”的在connections是在恒等映射下的特殊情況,它沒有引入額外的參數(shù)和計算復(fù)雜度。?
    假如優(yōu)化目標(biāo)函數(shù)是逼近一個恒等映射, 而不是0映射, 那么學(xué)習(xí)找到對恒等映射的擾動會比重新學(xué)習(xí)一個映射函數(shù)要容易。?
    從圖可以看出,殘差函數(shù)一般會有較小的響應(yīng)波動,表明恒等映射是一個合理的預(yù)處理。?

    實驗證明,這個殘差塊往往需要兩層以上,單單一層的殘差塊(y=W1x+x)并不能起到提升作用。?
    考慮計算的成本,對殘差塊做了計算優(yōu)化,即將兩個3x3的卷積層替換為1x1 + 3x3 + 1x1, 如下圖。?
    新結(jié)構(gòu)中的中間3x3的卷積層首先在一個降維1x1卷積層下減少了計算,然后在另一個1x1的卷積層下做了還原,既保持了精度又減少了計算量。?

    模型名AlexNetVGGGoogLeNet(V1)ResNet
    初入江湖2012201420142015
    層數(shù)81922152
    Top-5錯誤16.4%7.3%6.7%3.57%
    Data Augmentation++++
    Inception(NIN)+
    卷積層數(shù)51621151
    卷積核大小11,5,337,1,3,57,1,3,5
    全連接層數(shù)3311
    全連接層大小4096,4096,10004096,4096,100010001000
    Dropout++++
    Local Response Normalization++
    Batch Normalization+

    ?


    https://blog.csdn.net/mao_feng/article/details/52734438?
    https://www.cnblogs.com/52machinelearning/p/5821591.html?
    文獻:?
    Gradient-Based Learning Applied to Document?
    Recognition?
    ImageNet Classification with Deep Convolutional?
    Neural Networks

    總結(jié)

    以上是生活随笔為你收集整理的CNN总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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