3.2 卷積神經網絡進階-Vggnet-Resnet

4.2.2 卷積神經網絡進階(Vggnet-Resnet)

  • VGGNet

    • 調參經驗網絡

      • 更深層次的神經網絡
      • 多使用3*3的卷積核
        • 2個3x3的卷積層能夠看作一層5x5的卷積層
        • 3個3x3的卷積層能夠看作一層7x7的卷積層
      • 1x1的卷積層能夠看作是非線性變換
      • 每通過一個pooling層,通道數目翻倍
    • 視野域:2個3*3 = 1個5*5,由於,他們能夠看到的視野區域是同樣的ide

      image.png

      • 好處:
        • 2層比1層更多一次的非線性變換
        • 參數下降28%((5*5-2*3*3)/5*5
    • 多使用1*1的卷積核學習

      1*1的卷積核至關於一次非線性變換。(當卷積核是1*1的時候,至關因而在作全鏈接,只不過這個全鏈接是縱向的,是在通道上的)優化

      咱們能夠經過這種方式對通道進行降維的操做,即便得輸出通道的數目小於輸入通道的數目code

      1*1的卷積核能夠在加多個這種操做的狀況下也不損失信息cdn

      image.png

    • 從11層遞增至19層的過程blog

      每個版本都是在每一層的後面加一些卷積層,這是由於開始輸入的圖像比較大,計算比較耗時,不過通過兩個maxpooling以後,圖像就變的比較小了,這個時候多加幾個卷積層以後所耗的損失也沒有那麼大it

      image.png

      LRN 歸一化,已經快過期了io

      基於VGGVet,咱們能夠配置出各類各樣的網絡機構,整體參數樣本也能夠保持不變class

    • 訓練技巧

      • 先訓練淺層網絡如A ,再去訓練深層網絡
      • 多尺度輸入
        • 不一樣的尺度訓練多個分類器,而後作ensemble
        • 隨機使用不一樣的尺度縮放而後輸入進分類器進行訓練
  • ResNet

    VGGNet是將網絡層次加深,可是加深到必定程度之後,再加深效果也不能提高效果了。ResNet就是解決了這樣一個問題,可讓網絡不停的加深,最多能夠加深到1000多層

    image.png

    • 加深層次的問題

      • 模型深度達到某個程度後繼續加深會致使訓練集準確率降低

        image.png

        image.png

    • 加深層次的問題解決

      • 假設:深層網絡更難優化而不是學不到東西,ResNet基於這種假設解決了這個加深層次的問題
        • 深層網絡至少能夠和淺層網絡持平
        • y=x,雖然增長了深度,但偏差不會增長
    • 模型結構

      • Identity部分是恆等變化

        這樣若是F(x)=0,也就是說F(x)沒有學到東西,那麼咱們能夠把他忽略掉,而保留恆等變換X,這樣至少可讓他和淺層的神經網絡持平

        可是他的層次會更深,這樣一旦Fx確實學到了一些東西,那麼他就能夠繼續加強這個效果

        image.png

      • F(x)是殘差學習,ResNet叫作殘差網絡,這是ResNet的一個基本原理

      • ResNet-34與ResNet-101使用的子結構(34,101表明層次)

        image.png

        下面是更多的層次結構的說明

        方括號裏的是殘差子結構。通過卷積層以後沒有全鏈接層,由於沒有了全鏈接層,咱們就能夠將全鏈接層的參數分攤到卷積層,在這裏參數數目能夠必定程度上反映模型的容量,參數數目越多,就能夠學到更多的東西。

        可是參數數目多會致使過擬合,爲了使得模型容量是必定的,咱們在這裏就弱化了全鏈接層,強化了卷積層

        image.png

        • 先用一個普通的卷積層, stride=2
        • 再通過一個3*3的max_ _pooling
        • 再通過殘差結構
        • 沒有中間的全鏈接層,直接到輸出
      • 殘差結構使得網絡須要學習的知識變少,容易學習

      • 殘差結構使得每一層的數據分佈接近,容易學習

相關文章
相關標籤/搜索