學習筆記TF027:卷積神經網路

卷積神經網路(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

推薦閱讀:

2.2 RNN入門
拔了智齒,疼滴想屎。
如何使用TensorFlow中的高級API:Estimator、Experiment和Dataset
Fully-Convolutional Siamese Networksfor Object Tracking 翻譯筆記

TAG:TensorFlow | 机器学习 | 深度学习DeepLearning |