圖像識別:卷積神經網絡
? 本文轉載自微信公眾號「活在信息時代」,作者活在信息時代。轉載本文請聯系活在信息時代公眾號。
卷積神經網絡層(Convolutional Neural Network,CNN)是一種特殊的深層前饋網絡,一般包括數據輸入層、卷積層、激活層、下采樣層和全連接層。

卷積層是卷積神經網絡中重要的單元,它的構成是一系列對數據進行濾波的卷積核,其本質就是圖像的局部區域與卷積核的權值加權求和的線性疊加過程。圖像I作為輸入,使用二維的卷積核K進行卷積,則卷積過程可表示為:

其中,I(i,j)為圖像在(i,j)位置的值,S(i,j)為卷積運算后得到的特征圖。
激活卷積操作是線性的,只能進行線性的映射,表達能力有限。因此針對非線性映射問題的處理是,需要引入非線性激活函數。對于處理不同的非線性問題,引入的激活函數也不同,常用的主要有sigmoid、tanh、relu等。
Sigmoid函數表達式為:

Tanh函數表達式為:

Relu函數的表達式為:

下采樣層又叫池化層,一般會放在幾個卷積層之后,來減小特征圖像的大小。池化函數使用某一位置的相鄰輸出的總體統計特征來代替網絡在該位置的輸出。一般池化層有三個功能:一是降低特征維度,池化操作相當于又進行了一次特征提取過程,可以去除冗余信息,減小下一層的數據處理量。二是為了防止過擬合,池化操作獲得更為抽象的信息,提高泛化性。三是保持特征不變性,池化操作保留最重要的特征。
全連接層通常放在卷積神經網絡的尾部,層與層之間所有的神經元都有權值連接。目的是將網絡中學習到的特征全部映射到樣本的標記空間,從而進行類別判斷。Softmax函數通常用在神經網絡的最后一層,作為分類器的輸出,softmax函數輸出的每個值的范圍都在(0,1)之間。
有一些經典高效的CNN模型,例如:VGGNet、ResNet、AlexNet等,都已廣泛應用于圖像識別領域。

































