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