CNN的發展歷程:
1962年,卷積神經網路的研究起源于Hubel和Wiesel研究毛腦皮層的發現區域互連網路可以有效降低反饋神經網路的復雜性,
1980年,CNN的第一個實作網路:Fukushima為解決模式識別問題基于神經元間的區域連通性和影像的層次組織轉而提出的新識別機,
1998年,第一個多層人工神經網路——LeNet5,也是第一個正式的CNN模型(LeCun,用于手寫數字分類),共7層:2個卷積層,2個池化層,3個全連接層,利用BP演算法訓練引數,
(之后十年停滯,一因BP演算法訓練計算量極大,硬體計算能力不足,二因淺層機器學習演算法(如SVM)開始發展,)
2012年,AlexNet在ImageNet大賽上奪冠,掀起CNN學習熱潮,AlexNet整體架構與LeNet-5相似,但是更深,在卷積層使用ReLU函式作為非線性激活函式,在全連接層使用Dropout機制來減少過擬合,
2014年,GooleNet在ImageNet奪冠,達到22層,主要創新在于Inception(核心結構),是一種網中網的結構,即原來的節點也是一個網路,
2015年,ResNet將網路做到152層,引入殘差,解決了網路層比較深時無法訓練的問題,
2016年,商湯做到了1207層的CNNM,是截止目前在ImageNet上最深的深度學習網路,
CNN與普通網路的區別:
CNN可以避免前期對影像復雜的預處理,可以直接輸入原始影像,因此在模式分類領域得到了廣泛的應用,
CNN包含了一個由卷積層(Convolution Layer)和池化層(Pooling Layer)構成的特征提取器,在普通的神經網路中,一個神經元一般與全部鄰接神經元連接,稱之為全連接神經網路,而CNN的卷積層,一個神經元只與部分鄰接神經元連接,在CNN的一個卷積層中,通常包含若干個特征圖(feature map),每個特征圖由一些矩形排列的神經元組成,同一特征圖的神經元共享權值,即卷積核(Covolutional Kernel),卷積核一般以隨機小數矩陣的形式初始化,在網路的訓練程序中它進行學習并得到合理的權值,共享權值帶來的直接好處是減少了網路各層之間的連接,同時又降低了過擬合的風險,池化可以看做是一個特殊的卷積程序,卷積核池化大大降低了模型的復雜度,減少了模型的引數,
CNN主要用于識別位移、縮放及其他形式扭曲不變的二維影像,一方面,CNN的特征檢測層通過訓練資料進行學習,這樣避免了顯式的特征抽取,而是隱式的從訓練資料中學習,另一方面,同一特征圖上的神經元權值相同,網路可以并行學習,這是卷積網路相比全連接層的優勢,
CNN結構:
CNN基本結構通常包含三層:卷積層+池化層+全連接層,為防止過擬合,有的網路添加了Dropout層,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2056.html
標籤:其他
