官术网_书友最值得收藏!

1.2 卷積神經(jīng)網(wǎng)絡(luò)的形成和演變

卷積神經(jīng)網(wǎng)絡(luò)最初是受到視覺系統(tǒng)的神經(jīng)機(jī)制啟發(fā)、針對二維形狀的識(shí)別設(shè)計(jì)的一種生物物理模型,在平移情況下具有高度不變性,在縮放和傾斜情況下也具有一定的不變性。這種生物物理模型集成了“感受野”的思想,可以看作一種特殊的多層感知器或前饋神經(jīng)網(wǎng)絡(luò),具有局部連接、權(quán)值共享的特點(diǎn),其中大量神經(jīng)元按照一定方式組織起來對視野中的交疊區(qū)域產(chǎn)生反應(yīng)。1962年,Hubel和Wiesel通過對貓的視覺皮層細(xì)胞的研究,提出了感受野的概念[17-18]。1979年,日本學(xué)者Fukushima在感受野概念的基礎(chǔ)上,提出了神經(jīng)認(rèn)知機(jī)模型[14-16],該模型被認(rèn)為是實(shí)現(xiàn)的第一個(gè)卷積神經(jīng)網(wǎng)絡(luò)。1989年,LeCun等人首次使用了權(quán)值共享技術(shù)[45]。1998年,LeCun等人將卷積層和下采樣層相結(jié)合,設(shè)計(jì)卷積神經(jīng)網(wǎng)絡(luò)的主要結(jié)構(gòu),形成了現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)的雛形(LeNet)[19]。2012年,卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展取得了歷史性的突破,Krizhevsky等人采用修正線性單元(Rectif ied Linear Unit, ReLU)作為激活函數(shù)提出了著名的AlexNet,并在大規(guī)模圖像評測中取得了優(yōu)異成績[46],成為深度學(xué)習(xí)發(fā)展史上的重要拐點(diǎn)。

在理論上,卷積神經(jīng)網(wǎng)絡(luò)是一種特殊的多層感知器或前饋神經(jīng)網(wǎng)絡(luò)。標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)一般由輸入層、交替的卷積層和池化層、全連接層和輸出層構(gòu)成,如圖1.4所示。其中,卷積層也稱為“檢測層”,“池化層”又稱為下采樣層,它們可以被看作特殊的隱含層。卷積層的權(quán)值也稱為卷積核。雖然卷積核一般是需要訓(xùn)練的,但有時(shí)也可以是固定的,比如直接采用Gabor濾波器[47]。作為計(jì)算機(jī)視覺領(lǐng)域最成功的一種深度學(xué)習(xí)模型,卷積神經(jīng)網(wǎng)絡(luò)在深度學(xué)習(xí)興起之后已經(jīng)通過不斷演化產(chǎn)生了大量變種模型。

圖1.4 標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò)

從結(jié)構(gòu)的角度看,卷積神經(jīng)網(wǎng)絡(luò)起初只能處理黑白或灰度圖像,變種模型通過把紅、綠、藍(lán)3個(gè)顏色通道作為一個(gè)整體輸入已能直接處理彩色圖像[46],有些還可以直接處理多幀圖像甚至連續(xù)圖像[48]。同時(shí),變種模型可以使用多個(gè)相鄰的卷積層或多個(gè)相鄰的池化層,也可以使用重疊池化和最大池化,還可以使用修正線性單元、滲漏修正線性單元(Leaky ReLU, LReLU)、參數(shù)修正線性單元(Parametric ReLU, PReLU)或指數(shù)線性單元(Exponential Linear Unit, ELU)取代sigmoid單元作為激活函數(shù)[46, 49-51],也可以在輸出層采用軟最大函數(shù)softmax替代sigmoid函數(shù)以產(chǎn)生偽概率。此外,卷積神經(jīng)網(wǎng)絡(luò)可以設(shè)計(jì)成孿生結(jié)構(gòu)(siamese architecture),把原始數(shù)據(jù)映射到目標(biāo)空間,產(chǎn)生對幾何扭曲的魯棒性[52]。最后,卷積神經(jīng)網(wǎng)絡(luò)可以設(shè)計(jì)成快道結(jié)構(gòu),允許信息通過快道無阻礙地跨越多層流動(dòng),使得用梯度下降訓(xùn)練非常深的網(wǎng)絡(luò)變得更加容易[53]

從卷積核的角度看,卷積神經(jīng)網(wǎng)絡(luò)可以通過采用非常小的卷積核,比如1×1和3×3大小,被加深成一個(gè)更深的網(wǎng)絡(luò),比如16層或19層的VGGNet[54]。如果采用參數(shù)修正線性單元代替修正線性單元,可以把VGGNet發(fā)展成MSRANet[55]。而且,卷積神經(jīng)網(wǎng)絡(luò)通過使用小卷積核在保持總體計(jì)算代價(jià)的條件下增加深度和寬度,并與“攝入模塊(inception module)”進(jìn)行集成,可以用來建立谷歌網(wǎng)絡(luò)(GoogLeNet)[56]。此外,卷積神經(jīng)網(wǎng)絡(luò)通過使用微型多層感知器代替卷積核,還可以被擴(kuò)展成更為復(fù)雜的網(wǎng)絡(luò),例如“網(wǎng)中網(wǎng)(Network In Network, NIN)”[57]

從區(qū)域的角度看,區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region-based CNN, R-CNN)可以用來抽取區(qū)域卷積特征,并通過區(qū)域提議進(jìn)行更加魯棒的定位和分類[58]。空間金字塔池化網(wǎng)絡(luò)(Spatial Pyramid Pooling Net, SPPNet)可以克服其輸入大小固定的缺點(diǎn),辦法是在最后一個(gè)卷積層和第一個(gè)全連接層之間插入一個(gè)空間金字塔池化層[59]。不管輸入的大小如何,空間金字塔池化層都能夠產(chǎn)生固定大小的輸出,并使用多尺度空間箱(spatial bin)代替滑動(dòng)窗口對在不同尺度上抽取的特征進(jìn)行池化。雖然與R-CNN相比,空間金字塔池化網(wǎng)絡(luò)具有能夠直接輸入可變大小圖像的優(yōu)勢,但是它們需要一個(gè)多階段的管道把特征寫入硬盤,訓(xùn)練過程較為麻煩。為了解決這個(gè)訓(xùn)練問題,可以在R-CNN中插入一個(gè)特殊的單級空間金字塔池化層(稱為感興趣區(qū)池化層,ROI pooling layer),并將其提取的特征向量輸入到一個(gè)最終分化成兩個(gè)兄弟輸出層的全連接層,再構(gòu)造一個(gè)單階段多任務(wù)損失函數(shù)對所有網(wǎng)絡(luò)層進(jìn)行整體訓(xùn)練,建立快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast R-CNN)[60],其優(yōu)點(diǎn)是可以通過優(yōu)化一個(gè)單階段多任務(wù)損失函數(shù)進(jìn)行聯(lián)合訓(xùn)練。為了減少區(qū)域提議的選擇代價(jià),可以插入一個(gè)區(qū)域提議網(wǎng)絡(luò)與Fast R-CNN共享所有卷積層,進(jìn)一步建立更快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster R-CNN),產(chǎn)生幾乎零代價(jià)的提議預(yù)測對象(或稱為目標(biāo)、物體)邊界及有關(guān)分?jǐn)?shù)[61]。為了獲得實(shí)時(shí)性能極快的對象檢測速度,可以把輸入圖像劃分成許多網(wǎng)格,并通過單個(gè)網(wǎng)絡(luò)構(gòu)造的整體檢測管道,直接從整幅圖像預(yù)測對象的邊框和類概率建立YOLO模型,只需看一遍圖像就能知道對象的位置和類別[62]。為了更準(zhǔn)確地定位對象,還可以在多尺度特征圖的每個(gè)位置上,使用不同長寬比的缺省框建立單次檢測器(SSD)來取代YOLO[63]。此外,采用空間變換模塊有助于卷積神經(jīng)網(wǎng)絡(luò)學(xué)到對平移、縮放、旋轉(zhuǎn)和其他扭曲更魯棒的不變性[64]。最后,可以把Faster R-CNN擴(kuò)展成掩膜區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Mask R-CNN),在圖像中有效檢測對象的同時(shí),還能夠?qū)γ總€(gè)對象實(shí)例生成一個(gè)高質(zhì)量的分割掩膜[65]

從優(yōu)化的角度看,許多技術(shù)可以用來訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),比如丟失輸出[40, 66]、丟失連接[41]和塊歸一化(batch normalization)[67]。丟失輸出是一種減小過擬合的正則化技術(shù),而丟失連接是丟失輸出的推廣。塊歸一化(或批量歸一化)則是按迷你塊大小對某些層的輸入進(jìn)行歸一化處理的方法。此外,殘差網(wǎng)絡(luò)(Residual Network, ResNet)采用跨越2~3層的連接策略也是一種重要的優(yōu)化技術(shù),可以用來克服極深網(wǎng)絡(luò)的訓(xùn)練困難。借助殘差學(xué)習(xí)能夠快速有效地成功訓(xùn)練超過150層甚至1000層的深層卷積神經(jīng)網(wǎng)絡(luò),它在ILSVRC &COCO 2015的多項(xiàng)任務(wù)評測中發(fā)揮了關(guān)鍵作用[68],全部取得了第一名的突出成績。最后,為了優(yōu)化模型的結(jié)構(gòu),還可以采用火焰模塊(f ire module)建立卷積神經(jīng)網(wǎng)絡(luò)的擠壓模型SqueezeNet[69],也可以結(jié)合深度壓縮(deep compression)技術(shù)進(jìn)一步減少網(wǎng)絡(luò)的參數(shù)[70]

從模型演變的角度看,卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展脈絡(luò)如圖1.5所示。從圖中可以看出,現(xiàn)代卷積網(wǎng)絡(luò)以LeNet為雛形,在經(jīng)過AlexNet的歷史突破之后,演化生成了很多不同的網(wǎng)絡(luò)模型,主要包括:加深模型、跨連模型、應(yīng)變模型、區(qū)域模型、分割模型、特殊模型和強(qiáng)化模型等。加深模型的代表是VGGNet-16、VGGNet-19和GoogLeNet;跨連模型的代表是HighwayNet、ResNet和DenseNet;應(yīng)變模型的代表是SPPNet;區(qū)域模型的代表是R-CNN、Fast R-CNN、Faster R-CNN、YOLO和SSD;分割模型的代表是FCN、PSPNet和Mask R-CNN;特殊模型的代表是SiameseNet、SqueezeNet、DCGAN、NIN;強(qiáng)化模型的代表是DQN和AlphaGo。

圖1.5 卷積神經(jīng)網(wǎng)絡(luò)的演變

主站蜘蛛池模板: 肥城市| 昭平县| 辽阳市| 西贡区| 霍山县| 探索| 海门市| 云梦县| 宾阳县| 洞口县| 自贡市| 苍山县| 赫章县| 南川市| 南靖县| 新巴尔虎左旗| 曲周县| 通州区| 类乌齐县| 京山县| 多伦县| 剑阁县| 社旗县| 南平市| 广元市| 鄯善县| 蒙自县| 会昌县| 云林县| 济南市| 泉州市| 富顺县| 华宁县| 台东县| 突泉县| 黄冈市| 丹东市| 柞水县| 昌乐县| 东阿县| 邵东县|