CNN卷积神经网络介绍
CNN卷積神經網絡介紹
- 1、ANN/CNN/RNN是什么?
- 2、CNN(卷積神經網絡)簡介
- 2.1輸入層
- 2.2隱含層
- 2.2.1卷積層
- 2.2.2 激活層(ReLU)
- 2.2.3池化層 (Pooling)
- 2.2.4全連接層
- 2.2.5參數減少與權值共享
- 3、卷積神經網絡的優點
在神經網絡中,卷積神經網絡(ConvNets或CNNs)是進行圖像識別、圖像分類的主要類別之一。物體探測、人臉識別等是CNNs應用最廣泛的領域之一。
CNN圖像分類采用一個輸入圖像,對其進行處理,并將其分類到特定的類別中,其包含了一個由卷積層和子采樣層(池化層)構成的特征抽取器。計算機將輸入圖像視為像素陣列,它取決于圖像的分辨率,可以看到h*w *d(h =高度,w =寬度,d =尺寸)。
例如,一幅6x6x3矩陣陣列的RGB圖像(3指RGB值)和一幅4x4x1矩陣陣列的灰度圖像。
深度學習CNN模型進行訓練和測試,每個輸入圖像都將通過一系列帶有過濾器(Kernals)、池化、全連接層(FC)的卷積層,并應用Softmax函數對概率值在0到1之間的對象進行分類。下圖是CNN處理輸入圖像的完整流程,并根據值對對象進行分類。
1、ANN/CNN/RNN是什么?
1)多層感知器Multi-Layer Perceptron (MLP) /人工神經網絡Artificial Neural Networks (ANN)
(1)隨著圖像尺寸的增大,可訓練參數的數量會急劇增加
(2)MLP會丟失圖像的空間特征。
2)卷積神經網絡Convolution Neural Networks (CNN)
卷積神經網絡(CNN)目前在深度學習領域非常熱門。這些CNN模型被應用于不同的應用和領域,在圖像和視頻處理項目中尤其普遍。
3)循環神經網絡Recurrent Neural Networks (RNN)
RNN在隱藏狀態上有一個循環連接,此循環約束能夠確保在輸入數據中捕捉到順序信息。
優勢:RNN能夠捕捉數據中出現的順序信息,例如,預測時文本中單詞之間的依賴關系
(它們構成了深度學習中大多數預訓練模型的基礎:事實上,不論是哪種網絡,他們在實際應用中常常都混合著使用,比如CNN和RNN在上層輸出之前往往會接上全連接層,很難說某個網絡到底屬于哪個類別。)
2、CNN(卷積神經網絡)簡介
CNN由輸入和輸出層以及多個隱藏層組成,隱藏層可分為卷積層,池化層、RELU層和全連通層。
卷積網絡的核心思想是將:局部感受野、權值共享以及時間或空間亞采樣這三種結構思想結合起來獲得了某種程度的位移、尺度、形變不變性。。
這里主要討論CNN相比與傳統的神經網絡的不同之處,CNN主要有三大特色,分別是局部感知、權重共享和多卷積核
卷積網絡在本質上是一種輸入到輸出的映射,它能夠學習大量的輸入與輸出之間的映射關系,而不需要任何輸入和輸出之間的精確的數學表達式,只要用已知的模式對卷積網絡加以訓練,網絡就具有輸入輸出對之間的映射能力。卷積網絡執行的是有導師訓練,所以其樣本集是由形如:(輸入向量,理想輸出向量)的向量對構成的。所有這些向量對,都應該是來源于網絡即將模擬的系統的實際“運行”結果。它們可以是從實際運行系統中采集來的。在開始訓練前,所有的權都應該用一些不同的小隨機數進行初始化。“小隨機數”用來保證網絡不會因權值過大而進入飽和狀態,從而導致訓練失敗;“不同”用來保證網絡可以正常地學習。實際上,如果用相同的數去初始化權矩陣,則網絡無能力學習
2.1輸入層
一個標量(一個數字)有0維,一個向量有1維,一個矩陣有2維,一個張量有3維或更多。但是,為了簡單起見,我們通常也稱向量和矩陣為張量。CNN的輸入一般是二維向量,可以有高度,比如,RGB圖像;
在深度學習中,張量無處不在。嗯,谷歌的框架被稱為TensorFlow是有原因的,那到底什么是張量?
張量
張量(tensor)是多維數組,目的是把向量、矩陣推向更高的維度。
2.2隱含層
2.2.1卷積層
卷積是從輸入圖像中提取特征的第一層。它是一個數學運算,需要兩個輸入,如圖像矩陣和一個濾波器(或核)。這個過程我們可以理解為我們使用一個過濾器(卷積核)來過濾圖像的各個小區域,得到這些小區域的特征值,從而保持像素之間的關系。
卷積層是CNN的核心,層的參數由一組可學習的濾波器(filter)或內核(kernels)組成,它們具有小的感受野,延伸到輸入容積的整個深度。 在前饋期間,每個濾波器對輸入進行卷積,計算濾波器和輸入之間的點積,并產生該濾波器的二維激活圖(輸入一般二維向量,但可能有高度(即RGB))。 簡單來說,卷積層是用來對輸入層進行卷積,提取更高層次的特征。
2.2.2 激活層(ReLU)
把卷積層輸出結果做非線性映射。
CNN采用的激勵函數一般為ReLU(The Rectified Linear Unit/修正線性單元),它的特點是收斂快,求梯度簡單,但較脆弱,圖像如下。
這個RELU我們之前講過,全名將修正線性單元,是神經元的激活函數,對輸入值x的作用是max(0,x),當然RELU只是一種選擇,還有選Leak-Relu等等,一般都是用Relu!
2.2.3池化層 (Pooling)
當圖像太大時,池化圖層部分會減少參數的數量。空間匯聚也稱為次采樣或下采樣,它降低了圖像的維度,但保留了重要的信息。Pooling可以有不同的類型:
Max Pooling
Average Pooling
Sum Pooling Max pooling顧名思義就是從校正后的feature map中取最大的元素。Average Pooling 取的是平均值,而Sum Pooling取的是總和;
最常見的池化層是規模為2*2, 步幅為2,對輸入的每個深度切片進行下采樣。每個MAX操作對四個數進行,如下圖所示:
池化操作將保存深度大小不變。如果池化層的輸入單元大小不是二的整數倍,一般采取邊緣補零(zero-padding)的方式補成2的倍數,然后再池化。
之所以這么做的原因,是因為即使做完了卷積,圖像仍然很大(因為卷積核比較小),所以為了降低數據維度,就進行下采樣。
1)池化層相比卷積層可以更有效的降低數據維度,縮小圖像的規模,提升計算速度。
2)這些統計特征能夠有更低的維度,減少計算量;這么做不但可以大大減少運算量,不容易過擬合,當參數過多的時候很容易造成過度擬合。
2.2.4全連接層
對于任意一個卷積層,要把它變成全連接層只需要把權重變成一個巨大的矩陣,其中大部分都是0 除了一些特定區塊(因為局部感知),而且好多區塊的權值還相同(由于權重共享)。我們稱這一層為FC層,我們將矩陣平鋪成向量,并將其作為一個完全連接的層,就像一個神經網絡。
這個層就是一個常規的神經網絡,它的作用是對經過多次卷積層和多次池化層所得出來的高級特征進行全連接(全連接就是常規神經網絡的性質),算出最后的預測值。
全連接層和卷積層可以相互轉換:
2.2.5參數減少與權值共享
盡管局部感知使計算量減少了幾個數量級,但權重參數數量依然很多。能不能再進一步減少呢?方法就是權值共享。
權值共享:不同的圖像或者同一張圖像共用一個卷積核,減少重復的卷積核。同一張圖像當中可能會出現相同的特征,共享卷積核能夠進一步減少權值參數。
卷積神經網絡以其局部權值共享的特殊結構在語音識別和圖像處理方面有著獨特的優越性,其布局更接近于實際的生物神經網絡,權值共享降低了網絡的復雜性,特別是多維輸入向量的圖像可以直接輸入網絡這一特點避免了特征提取和分類過程中數據重建的復雜度。
3、卷積神經網絡的優點
在這里介紹一下深度學習入門課程,也是小編學習的一種,吳恩達老師的深度學習課程神經網絡和深度學習
卷積神經網絡CNN主要用來識別位移、縮放及其他形式扭曲不變性的二維圖形。由于CNN的特征檢測層通過訓練數據進行學習,所以在使用CNN時,避免了顯式的特征抽取,而隱式地從訓練數據中進行學習;再者由于同一特征映射面上的神經元權值相同,所以網絡可以并行學習,這也是卷積網絡相對于神經元彼此相連網絡的一大優勢。
流的分類方式幾乎都是基于統計特征的,這就意味著在進行分辨前必須提取某些特征。然而,顯式的特征提取并不容易,在一些應用問題中也并非總是可靠的。卷積神經網絡,它避免了顯式的特征取樣,隱式地從訓練數據中進行學習。這使得卷積神經網絡明顯有別于其他基于神經網絡的分類器,通過結構重組和減少權值將特征提取功能融合進多層感知器。它可以直接處理灰度圖片,能夠直接用于處理基于圖像的分類。
卷積網絡較一般神經網絡在圖像處理方面有如下優點: a)輸入圖像和網絡的拓撲結構能很好的吻合;b)特征提取和模式分類同時進行,并同時在訓練中產生;c)權重共享可以減少網絡的訓練參數,使神經網絡結構變得更簡單,適應性更強。
卷積神經網絡之訓練算法
1. 同一般機器學習算法,先定義Loss function,衡量和實際結果之間差距。
2. 找到最小化損失函數的W和b, CNN中用的算法是SGD(隨機梯度下降)。
卷積神經網絡之優缺點
優點
? 共享卷積核,對高維數據處理無壓力
? 無需手動選取特征,訓練好權重,即得特征分類效果好
缺點
? 需要調參,需要大樣本量,訓練最好要GPU
? 物理含義不明確(也就說,我們并不知道沒個卷積層到底提取到的是什么特征,而且神經網絡本身就是一種難以解釋的“黑箱模型”)
引用文章鏈接:
http://yann.lecun.com/exdb/lenet/weirdos.html
https://www.cnblogs.com/duanhx/p/9655223.html
總結
以上是生活随笔為你收集整理的CNN卷积神经网络介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EEG脑地形图绘制程序
- 下一篇: 聚焦和增强卷积神经网络