卷積神經網路概述

磐創AI發表於2018-10-24

卷積神經網路概述

       在 2012 年的 ILSVRC 比賽中 Hinton 的學生 Alex Krizhevsky 使用深度卷積神經網路模型 AlexNet 以顯著的優勢贏得了比賽,top-5 的錯誤率降低至了 16.4% ,相比第二名的成績 26.2% 錯誤率有了巨大的提升。

       AlexNet 再一次吸引了廣大研究人員對於卷積神經網路的興趣,激發了卷積神經網路在研究和工業中更為廣泛的應用。現在基於卷積神經網路計算機視覺還廣泛的應用於醫學影像處理,人臉識別,自動駕駛等領域。越來越多的人開始瞭解卷積神經網路相關的技術,並且希望學習和掌握相關技術。因為卷積神經網路需要大量的標記資料集,有一些經典的資料集可以用來學習,同時解決一些常見的計算機視覺問題。

  • 卷積神經網路的具體應用,經典資料集。

       比如最常用的 mnist 手寫數字資料集,這個資料集有 60000個訓練樣本,10000個測試樣本;cfair 10 資料集包含 60000 個 32×32 畫素 的彩色圖片,它們分別屬於 10 個類別,每一個類別有 6000 個圖片,其中 50000 個作為訓練集,10000個作為測試集。

  • 卷積神經網路在這些應用上取得的成果。

       針對 mnist 手寫數字資料集,現在已經達到了 99% 以上的識別率,在稍後的學習中,也會實現一個準確率達到 99% 以上的模型。

卷積神經網路簡介

卷積神經網路是什麼,以及卷積神經網路將如何解決計算機視覺的相關問題。

      影像資料集的特點,對於神經網路的設計提出了一些新的挑戰。維度比較高:

      因為影像的維度普遍比較高,例如 MNIST 資料集,每一個圖片是 28 * 28 的圖片。

      如果直接用神經網路,假設採用2個 1000個神經元的隱藏層加 1 個10個神經元的隱藏層,最後使用 softmax 分類層,輸出 10 個數字對應的機率。

      引數的數量有:786 * 1000 * 1000 * 10

       如果是更大一點的圖片,網路的規模還會進一步快速的增長。為了應對這種問題,Yann LeCun 在貝爾實驗室做研究員的時候提出了卷積網路技術,並展示如何使用它來大幅度提高手寫識別能力。接下來將介紹卷積和池化以及卷積神經網路。

卷積介紹:

       我們嘗試用一個簡單的神經網路,來探討如何解決這個問題。假設有4個輸入節點和4個隱藏層節點的神經網路,如圖所示:

卷積神經網路概述

 圖1 全連線神經網路


每一個輸入節點都要和隱藏層的 4 個節點連線,每一個連線需要一個權重引數 w:


卷積神經網路概述

圖2 一個輸入節點向下一層傳播


一共有 4 個輸入節點,,所以一共需要 4*4=16個引數。

相應的每一個隱藏層節點,都會接收所有輸入層節點:


卷積神經網路概述

       這是一個簡化版的模型,例如手寫資料集 MNIST 28 * 28 的圖片,輸入節點有 784 個,假如也只要一個隱藏層有 784 個節點,那麼引數的個數都會是:784 * 784=614656,很明顯引數的個數隨著輸入維度指數級增長。

       因為神經網路中的引數過多,會造成訓練中的困難,所以降低神經網路中引數的規模,是影像處理問題中的一個重要問題。

      有兩個思路可以進行嘗試:

     1.隱藏層的節點並不需要連線所有輸入層節點,而只需要連線部分輸入層。

如圖所示:


卷積神經網路概述

      每個隱藏層節點,只接受兩個輸入層節點的輸入,那麼,這個網路只需要 3 * 2 =6個連線。使用區域性連線之後,單個輸出層節點雖然沒有連線到所有的隱藏層節點,但是隱藏層彙總之後所有的輸出節點的值都對網路有影響。

       2.區域性連線的權重引數,如果可以共享,那麼網路中引數規模又會明顯的下降。如果把區域性連線的權重引數當做是一個特徵提取器的話,可以嘗試將這個特徵提取器用在其他的地方。

      那麼這個網路最後只需要 2 個引數,就可以完成輸入層節點和隱藏層節點的連線。

      這兩個思路就是卷積神經網路中的稀疏互動和權值共享,以後的文章將會詳細講解以及使用 TensorFlow 實現。

卷積神經網路概述

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31555081/viewspace-2217353/,如需轉載,請註明出處,否則將追究法律責任。

相關文章