胡韜


摘 要
卷積神經網絡是深度學習算法中一個重要組成部分,在深度學習圖像識別技術的應用中起到了關鍵作用,本文先闡述了卷積神經網絡的基本概念和結構,然后介紹和對比了幾種經典的卷積神經網絡,并論述了發展方向。
關鍵詞
卷積神經網絡;輸入層;卷積層;全連接層;輸出層;AlexNet
中圖分類號: TP183 ? ? ? ? ? ? ? ? 文獻標識碼: A
DOI:10.19694/j.cnki.issn2095-2457.2020.09.058
1 卷積神經網絡的基本概念
卷積神經網絡基于傳統的人工神經網絡,它類似于傳統的全連接神經網絡,但也有自己的不同之處,卷積神經網絡把圖片轉換成二維矩陣格式的數據,輸入數據,網絡的各層都以二維矩陣的方式處理數據,這樣的數據處理方式適用于二維矩陣格式的數字圖像,相較于傳統的人工神經網絡,它能更快更好地把特征值從圖像數據中提取出來。
2 卷積神經網絡的基本結構
卷積神經網絡的基本結構由以下幾個部分組成:輸入層(input),卷積層(convolution),池化層(pooling),全連接層(full-connection)和輸出層(output),如圖1所示。
2.1 輸入層
在輸入層中,主要進行輸入數據處理,有兩種常用的方法:去均值:把數據的各個維度均中心化為0。歸一化:調整輸入數據到相同的范圍之間,以避免數據之間的差距過大而造成的干擾。
2.2 卷積層
卷積層中對數據進行卷積運算,卷積運算的主要目的是增強原數據的特征信息,并減少噪音。卷積運算一共有三個步驟:
(1)求點積:如圖2,將5x5輸入矩陣中3x3深藍色區域中每個元素分別與其對應位置的權值(紅色數字)相乘,然后再相加,所得到的值作為3x3輸出矩陣(綠色的)的第一個元素。
(2)滑動窗口:如圖3,將3x3權值矩陣向右移動一個格(即步長為1)。
(3)重復操作:同樣地,將此時深色區域內每個元素分別與對應的權值相乘然后再相加,所得到的值作為輸出矩陣的第二個元素;重復上述“求點積-滑動窗口”操作,直至得到輸出矩陣所有值。卷積核在2維輸入數據上“滑動”,對當前輸入部分的元素進行矩陣乘法,然后將結果匯為單個輸出像素值,重復這個過程直到遍歷整張圖像,這個過程就叫作卷積,這個權值矩陣即卷積核,卷積操作后的圖像稱為特征圖。
2.3 池化層
在卷積層之后常常緊接著一個降采樣層,主要目的是減小矩陣的長和寬以及減少輸入矩陣的參數。計算圖像一個區域上的某個特定特征的平均值或最大值,這種聚合操作就叫作池化。常用的池化方法有兩種:
(1)均值池化:對池化區域內的像素點取均值,這種方法常用于獲取背景信息,因為得到的特征數據對背景信息更敏感。
(2)最大池化: 如圖4,對池化區域內所有像素點取最大值,這種方法常用于獲取紋理特征信息,因為得到的特征數據對紋理特征信息更加敏感。卷積層的作用是獲取上一層的局部特征,而池化的作用是合并相似的特征,目的是降維。
2.4 全連接層
類似于傳統的神經網絡,全連接層的作用是連接所有的神經元,向下一層神經元傳遞數據,上一層的每個神經元和下一層的神經元都相互連接,因為用到了所有局部特征,所以叫全連接層。全連接層一般跟在所有的卷積層和池化層之后,在輸出層之前,對數據進行分類。
2.5 輸出層
輸出層一般在全連接層之后,輸出層通過全連接層的激活函數輸出各個圖像類別的概率。
2.6 激活函數
激活函數的作用是選擇性地對神經元節點進行特征增強或減弱,增強激活有用的目標特征,減弱無用的特征,從而可以解決非線性問題。常見的激活函數有Sigmoid函數、Tanh函數、ReLu函數和Softmax函數等。Sigmoid函數在傳統的全連接神經網絡中用得較多,ReLu函數和Softmax函數在卷積神經網絡中常用。Sigmoid函數的數學模型如下:
3 經典卷積神經網絡模型
在卷積神經網絡發展的歷程中,有不少經典卷積神經網絡模型有著突出的表現,有的在卷積神經網絡的發展歷程中有重要意義。
AlexNet是一個經典的卷積神經網絡模型,它采用了兩種方法了避免過擬合,第一種方法是Dropout,即以一定的概率(比如0.6)將神經元的輸出設置為0,每一個樣本嘗試了一種新的神經網絡結構,每種神經網絡的權重共享,降低了神經元復雜相互依賴的關系。但AlexNet也有缺點,其收斂所需要的迭代次數增加了一倍左右。第二種方法是數據增強,即對樣本圖像進行縮放、隨機裁剪、水平翻轉、上下翻轉改變對比度和白化處理等。
在AlexNet之后,隨后又出現了多種卷積神經網絡模型,其中有VGGNet,GoogleNet模型等。VGGNet是加深版本的AlexNet,VGGNet有VGG16和VGG19兩種,分別是16層和19層的卷積神經網絡模型。而GoogleNet的深度比VGGNet更深,達到了22層,同時在網絡不同深度增加了損失函數來避免反向傳播梯度消失,GoogLeNet的一大重要的特點就是使用了Inception模塊,在Inception 出現之前,大部分流行卷積神經網絡僅僅是不斷增加卷積層和池化層,使網絡越來越深,以此希望能夠得到更好的性能,而Inception模塊在3x3卷積層和5x5卷積層之外還增加了1x1卷積層,1x1卷積層起到了降維的作用,同時使得網絡的寬度和深度都擴大了。這些模型呈現的趨勢是網絡的深度和寬度不斷擴大,并且模型準確率也越來越高,收斂所需要的時間也越來越短。
4 結語
本文從三個不同方面綜述了卷積神經網絡,分別為:卷積神經網絡的基本概念、卷積神經網絡的基本結構和經典的卷積神經網絡。卷積神經網絡的基本結構主要包含以下幾個部分:輸入層、卷積層、池化層、全連接層、輸出層和激活函數,本文詳細闡述了每個部分的原理和功能。最后介紹了一些經典的卷積神經網絡,對比了它們之間的優缺點并闡述了每種網絡的特點以及重要意義。
參考文獻
[1]田啟川,王滿麗.深度學習算法研究進展[J].計算機工程與應用.2016.4.
[2]張亞倩.卷積神經網絡研究綜述[J].信息通信.2018.11.
[3]黃友文,萬超倫.基于深度學習的人體行為識別算法[J].人工智能.2018.10.
[4]俞頌華.卷積神經網絡的發展和應用綜述[J].信息通信.2019.2.
[5]Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[J].arXiv preprint arXiv:1409.1556,2014.
[6]Zhang Pengfei,Lan Cuiling,Xing Junliang.View Adaptive Neural Networks for High Performance Skeleton-Based Human Action Recognition[C].IEEE.2019.