捲積神經網路(Convolutional Neural Network,CNN),可以解決圖像識別、時間序列信息問題。深度學習之前,藉助SIFT、HoG等演算法提取特征,集合SVM等機器學習演算法識別圖像。 SIFT,縮放、平移、旋轉、視角轉變、亮度調整畸變的一定程度內,具有不變性。有局限性,Image ...
捲積神經網路(Convolutional Neural Network,CNN),可以解決圖像識別、時間序列信息問題。深度學習之前,藉助SIFT、HoG等演算法提取特征,集合SVM等機器學習演算法識別圖像。
SIFT,縮放、平移、旋轉、視角轉變、亮度調整畸變的一定程度內,具有不變性。有局限性,ImageNet ILSVRC比賽最好結果錯誤率在26%以上,常年難以突破。
捲積神經網路提取特征效果更好,分類訓練時自動提取最有效特征。捲積神經網路CNN,降低圖像數據預處理要求,避免複雜特征工程。CNN使用圖像原始像素輸入,對縮放、平移、旋轉畸變具有不變性,強泛化性。CNN捲積權值共用結構,大幅減少神經網路參數量,防止過擬合,降低神經網路模型複雜度。延時神經網路TDNN,時間權值共用,降低學習時間序列信號複雜度。
感受野(Receptive Field),每個視覺神經元只會處理一小塊區域視覺圖像。神經認知機(Neocognitron),兩類神經元,抽取特征S-cells對應主流捲積神經網路捲積核濾波操作,抗形變C-cells對應激活函數、最大池化(Max-Pooling)操作。LeCun LeNet CNN首個成功多層訓練網路結構。捲積神經網路利用空間結構關係減少學習參數量,提高反向傳播演算法訓練效率。
第一個捲積層,接受圖像像素級輸入,每個捲積操作只處理一小塊圖像。捲積變化後傳到後面網路。每一層捲積(濾波器),提取數據最有效特征。提取圖像最基礎特征,組合抽像更高階特征。
一般捲積神經網路多個捲積層構成。每個捲積層,圖像多個不同捲積核濾波,加偏置(bias),提取局部特征,每個捲積核映射一個新2D圖像,捲積核濾波輸出結果,非線性激活函數處理(ReLU),激活函數結果池化操作(降採樣),最大池化,保留最顯著特征,提升模型畸變容忍能力。可以加LRN(Local Response Normalization 局部響應歸一化層),Batch Normalizations。
捲積核權值共用,捲積層多個不同捲積核,捲積核對應濾波後映射新圖像,同一新圖像每個像素來自完全相同捲積核。降低模型複雜度,減輕過擬合,降低計算量。
圖像空間有組織結構,每個像素點與空間周圍像素點有緊密聯繫,與太遙遠像素點少聯繫,即感受野。每個感受野只接受一小塊區域信號。小塊區域內像素互相關聯,每個神經元不需要接收全部像素點信息,只接收局部像素點輸入,再將所有神經元收到局部信息綜合起來得到全局信息。將全連接模型改為局部連接,從隱含層每個隱含節點和全部像素相連,改為每個隱含節點連接局部像素節點。
局部連接方式捲積操作,預設每個隱含節點參數完全一樣。不再擔心隱含節點數量和圖片大小,參數量只跟捲積核大小有關。權值共用。一個捲積核只能提取一種捲積核濾波結果,只能提取一種圖片特征。每個捲積核濾波圖像是一類特征映射,一個Feature Map。一般,第一個捲積層100個捲積核已經充足。
捲積,不管圖片尺寸,訓練權值只與捲積核大小、數量有關,可以用非常少參數量處理任意大小圖片。每個捲積層提取特征,在後面層抽象組合更高階特征,多層抽象捲積網路表達能力強,效率高。隱含節點數量沒有下降,隱含節點數量只跟捲積步長有關。隱含節點數量=輸入像素數量/(步長X步長)。
捲積神經網路,局部連接(Local Connection)、權值共用(Weight Sharing)、池化層(Pooling)降採樣(Down-Sampling)。局部連接、權值共用降低參數量,訓練複雜度下降,減輕過擬合。權值共用,捲積網路平移容忍性。池化層降低輸出參數量,模型輕度形變容忍性,提高泛化能力。訓練中自動完成特征提取抽象,同時模式分類,降低圖像識別難度。
LeNet5 始於1994年,深層捲積神經網路。Yann LeCun。可訓練參數捲積層,用少量參數在圖像多個位置提取相似特征。如果圖像獨立像素直接作輸入,利用不到圖像很強的空間相關性。每個捲積層包含捲積、池化、非線性激活函數。捲積提取空間特征。降採樣(Subsample)平均池化層(Average Pooling)。雙曲正切(Tanh)或S型(Sigmoid)激活函數。MLP最後分類器。層間稀疏連接減少計算複雜度。
State-of-the-art。LeNet5奠定現代捲積神經網路基石。LeNet5,輸入圖像,三個捲積層,一個全連接層,一個高斯連接層。第一個捲積層C1有6個捲積核,捲積核尺寸為5x5,共(5x5+1)x6=156個參數。1個bias。2x2平均池化層S2降採樣。Sigmoid激活函數非線性處理。第二個捲積層C3,捲積核尺寸5x5,16個捲積核,16個Feature Map。第二個池化層S4,2x2降採樣。第三個捲積層C5,120個捲積核,捲積大小5x5,輸入5x5,構成全連接,可以算全連接層。F6全連接層,84個隱含節點,激活函數Sigmoid。最後一層,歐式徑向基函數(Euclidean Radial Basis Function)單元組成,輸出最後分類結果。
參考資料:
《TensorFlow實踐》
歡迎付費咨詢(150元每小時),我的微信:qingxingfengzi