亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

        2021-01-15 07:27:16嚴(yán)春滿
        計算機與生活 2021年1期
        關(guān)鍵詞:殘差卷積神經(jīng)網(wǎng)絡(luò)

        嚴(yán)春滿,王 鋮

        西北師范大學(xué)物理與電子工程學(xué)院,蘭州730070

        卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在計算機視覺[1-5]、自然語言處理[6-7]等領(lǐng)域已被廣泛應(yīng)用。在卷積神經(jīng)網(wǎng)絡(luò)興起之前,主要依靠人工針對特定的問題設(shè)計算法,比如采用Sobel、LoG(Laplacian of Gaussian)、Canny、Prewitt 等[8-11]算子進行邊緣檢測,采用Harris、DoG(difference of Gaussian)、FAST(features from accelerated segment test)、SIFT(scale invariant feature transform)等[12-15]用于角點等特征檢測,并且采用傳統(tǒng)分類器如K近域、支持向量機、稀疏分類器等[16-18]進行分類。特征提取和分類器的設(shè)計是圖片分類等任務(wù)的關(guān)鍵,對分類結(jié)果的好壞有著最為直接的影響。卷積神經(jīng)網(wǎng)絡(luò)可以自動地從訓(xùn)練樣本中學(xué)習(xí)特征并且分類,解決了人工特征設(shè)計的局限性。神經(jīng)網(wǎng)絡(luò)的思想起源于1943年McCulloch和Pitts 提出的神經(jīng)元模型[19],簡稱MCP 神經(jīng)元模型。它是利用計算機來模擬人的神經(jīng)元反應(yīng)的過程,具有開創(chuàng)性意義。此模型將神經(jīng)元反應(yīng)簡化為三個過程:輸入信號線性加權(quán)、求和、非線性激活。1958 年到1969 年為神經(jīng)網(wǎng)絡(luò)模型發(fā)展的第一階段,稱為第一代神經(jīng)網(wǎng)絡(luò)模型。在1958 年Rosenblatt 第一次在MCP 模型上增加學(xué)習(xí)功能并應(yīng)用于機器學(xué)習(xí),發(fā)明了感知器算法[20],該算法使用MCP 模型能夠采用梯度下降法從訓(xùn)練樣本中自動學(xué)習(xí)并更新權(quán)值,并能對輸入的多維數(shù)據(jù)進行二分類,其理論與實踐的效果引起了神經(jīng)網(wǎng)絡(luò)研究的第一次浪潮。1969年美國數(shù)學(xué)家及人工智能先驅(qū)Minsky 在其著作中證明感知器本質(zhì)上是一種線性模型[21],只能處理線性分類問題,最簡單的異或問題都無法正確分類,因此神經(jīng)網(wǎng)絡(luò)的研究也陷入了近二十年的停滯。1986 年到1988 年是神經(jīng)網(wǎng)絡(luò)模型發(fā)展的第二階段,稱為第二代神經(jīng)網(wǎng)絡(luò)模型。1986 年Rumelhart 等人提出了誤差反向傳播算法(back propagation algorithm,BP)[22]。BP 算法采用Sigmoid 進行非線性映射,有效解決了非線性分類和學(xué)習(xí)的問題,掀起了神經(jīng)網(wǎng)絡(luò)第二次研究高潮。BP 網(wǎng)絡(luò)是迄今為止最常用的神經(jīng)網(wǎng)絡(luò),目前大多神經(jīng)網(wǎng)絡(luò)模型都是采用BP 網(wǎng)絡(luò)或者其變化形式。早期神經(jīng)網(wǎng)絡(luò)缺少嚴(yán)格數(shù)學(xué)理論的支撐,并且在此后的近十年時間,由于其容易過擬合以及訓(xùn)練速度慢,并且在1991 年反向傳播算法被指出在后向傳播的過程中存在梯度消失的問題[23],神經(jīng)網(wǎng)絡(luò)再次慢慢淡出人們的視線。

        1998 年LeCun 發(fā)明了LeNet-5,并在Mnist 數(shù)據(jù)集達到98%以上的識別準(zhǔn)確率,形成影響深遠的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),但此時神經(jīng)網(wǎng)絡(luò)的發(fā)展正處于下坡時期,沒有引起足夠的重視。

        從感知機提出到2006 年以前,此階段稱為淺層學(xué)習(xí),2006 年至今是神經(jīng)網(wǎng)絡(luò)的第三階段,稱為深度學(xué)習(xí)。深度學(xué)習(xí)分為快速發(fā)展期(2006—2012 年)和爆發(fā)期(2012 年至今),2006 年Hinton 提出無監(jiān)督的“逐層初始化”策略以降低訓(xùn)練難度,并提出具有多隱層的深度信念網(wǎng)絡(luò)(deep belief network,DBN)[24],從此拉開了深度學(xué)習(xí)大幕。

        隨著深度學(xué)習(xí)理論的研究和發(fā)展,研究人員提出了一系列卷積神經(jīng)網(wǎng)絡(luò)模型。為了比較不同模型的質(zhì)量,收集并整理了文獻中模型在分類任務(wù)上的識別率,如圖1 所示。由于部分模型并未在ImageNet數(shù)據(jù)集測試識別率,給出了其在Cifar-100 或Mnist 數(shù)據(jù)集上的識別率。其中,Top-1 識別率指的是CNN 模型預(yù)測出最大概率的分類為正確類別的概率。Top-5識別率指的是CNN 模型預(yù)測出最大概率的前5 個分類里有正確類別的概率。

        Fig.1 Recognition accuracy of typical CNN models in classification tasks圖1 典型CNN 模型在分類任務(wù)中的識別準(zhǔn)確率

        2012 年,由Alex Krizhevshy 提出的AlexNet 給卷積神經(jīng)網(wǎng)絡(luò)迎來了歷史性的突破。AlexNet 在百萬量級的ImageNet 數(shù)據(jù)集上對于圖像分類的精度大幅度超過傳統(tǒng)方法,一舉摘下了視覺領(lǐng)域競賽ILSVRC-2012 的桂冠。自AlexNet 之后,研究者從卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)出發(fā)進行創(chuàng)新,主要有簡單的堆疊結(jié)構(gòu)模型,比如ZFNet、VGGNet、MSRNet。堆疊結(jié)構(gòu)模型通過改進卷積神經(jīng)的基本單元并將其堆疊以增加網(wǎng)絡(luò)的深度提升模型性能,但僅在深度這單一維度提升模型性能具有瓶頸;后來在NIN(network in network)模型提出使用多個分支進行計算的網(wǎng)中網(wǎng)結(jié)構(gòu)模型,使寬度和深度都可增加,具有代表性的模型有Inception 系列模型等;隨著模型深度以及寬度的增加,網(wǎng)絡(luò)模型出現(xiàn)參數(shù)量過多、過擬合以及難以訓(xùn)練等諸多問題。ResNet 提出殘差結(jié)構(gòu)后,為更深層網(wǎng)絡(luò)構(gòu)建提出解決方案,隨即涌現(xiàn)出很多殘差結(jié)構(gòu)模型,比如基于ResNet 改進后的ResNeXt、DenseNet、PolyNet、WideResNet,并且Inception 也引入殘差結(jié)構(gòu)形成了Inception-ResNet-block,以及基于殘差結(jié)構(gòu)并改進其特征通道數(shù)量增加方式的DPResNet;與之前在空間維度上提升模型性能的方法相比,注意力機制模型通過通道注意力和空間注意力機制可以根據(jù)特征通道重要程度進一步提升模型性能,典型的模型為SENet、SKNet 以及CBAM(convolutional block attention module)。

        傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型性能十分優(yōu)秀,已經(jīng)應(yīng)用到各個領(lǐng)域,具有舉足輕重的地位。由于卷積神經(jīng)網(wǎng)絡(luò)的模型十分豐富,有些模型的結(jié)構(gòu)或用途比較特殊,在本文中統(tǒng)稱為特殊模型,包括具有簡單的結(jié)構(gòu)和很少參數(shù)量的擠壓網(wǎng)絡(luò)模型SqueezeNet,采用無監(jiān)督學(xué)習(xí)的生成對抗網(wǎng)絡(luò)模型(generative adversarial network,GAN),其具有完全相同的兩路網(wǎng)絡(luò)結(jié)構(gòu)以及權(quán)值的孿生神經(jīng)網(wǎng)絡(luò)模型SiameseNet,以及通過線性運算生成其他冗余特征圖的幽靈網(wǎng)絡(luò)GhostNet。

        由于卷積神經(jīng)網(wǎng)絡(luò)的一系列突破性研究成果,并根據(jù)不同的任務(wù)需求不斷改進,使其在目標(biāo)檢測、語義分割、自然語言處理等不同的任務(wù)中均獲得了成功的應(yīng)用。

        基于以上認識,本文首先概括性地介紹了卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展歷史,然后分析了典型的卷積神經(jīng)網(wǎng)絡(luò)模型通過堆疊結(jié)構(gòu)、網(wǎng)中網(wǎng)結(jié)構(gòu)、殘差結(jié)構(gòu)以及注意力機制提升模型性能的方法,并進一步介紹了特殊的卷積神經(jīng)網(wǎng)絡(luò)模型及其結(jié)構(gòu),最后討論了卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測、語義分割以及自然語言處理領(lǐng)域的典型應(yīng)用,并對當(dāng)前深度卷積神經(jīng)網(wǎng)絡(luò)存在的問題以及未來發(fā)展方向進行探討。

        1 基本卷積神經(jīng)網(wǎng)絡(luò)及運算單元

        LeNet-5[25]是最早的基本卷積神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖2 所示,包含了CNN 的基本運算單元:卷積層、池化層、非線性單元、全連接層。典型的CNN 體系結(jié)構(gòu)通常為卷積層與池化層交替,最后通過一個或者多個全連接層輸出結(jié)果。在某些情況下采用全局平局池化層替換全連接層,并加入了批歸一化等操作進一步優(yōu)化CNN 的性能。

        (1)卷積層(convolution layer,Conv)又稱之為特征提取層,主要用于提取圖像的特征。其由一組卷積核組成,并且卷積核的權(quán)重值可以根據(jù)目標(biāo)函數(shù)自動學(xué)習(xí)更新。卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心。

        Fig.2 Structure of LeNet-5圖2 LeNet-5 結(jié)構(gòu)

        (2)池化層(pooling layer)又稱為下采樣層,一般在連續(xù)的兩層卷積層之間進行降維操作,能夠有效減少模型參數(shù)量以及減輕網(wǎng)絡(luò)的過擬合現(xiàn)象。一般有最大池化層(maxpooling)和平均池化層(average pooling)等。

        (3)非線性單元由非線性激活函數(shù)構(gòu)成,根據(jù)其特性分為飽和非線性激活函數(shù),如Sigmod 函數(shù)、tanh函數(shù)等,以及不飽和非線性激活函數(shù),如ReLU 函數(shù)、Leaky ReLU 函數(shù)等。非線性單元是對卷積層輸出結(jié)果做非線性映射,使得神經(jīng)網(wǎng)絡(luò)可以任意逼近任何非線性函數(shù),提升了模型的特征表達能力。

        (4)批歸一化(batch normalization,BN)就是將輸入數(shù)據(jù)變換到標(biāo)準(zhǔn)正態(tài)分布中,使非線性單元輸入值落入梯度較大的取值區(qū)間,避免梯度消失問題,并且加快模型訓(xùn)練的收斂速度。

        (5)全連接層(fully connected layers,F(xiàn)C)通常在神經(jīng)網(wǎng)絡(luò)的尾部用于分類任務(wù),會把卷積層輸出的二維向量轉(zhuǎn)化為一維向量。由于全連接層連接了上層所有的神經(jīng)元權(quán)重,因此存在眾多冗余參數(shù)并占據(jù)了大量的硬件資源,且破壞了圖像的空間結(jié)構(gòu)。目前普遍使用卷積層或全局平均池化層(global average pooling layers,GAP)代替全連接層。

        2 典型卷積神經(jīng)網(wǎng)絡(luò)模型

        本章首先對四種結(jié)構(gòu)的網(wǎng)絡(luò)模型從模型機制、優(yōu)缺點、應(yīng)用建議三方面進行對比分析,如表1 所示。分析表1 可見,由于網(wǎng)絡(luò)模型的機制不同,在具體應(yīng)用網(wǎng)絡(luò)時需要根據(jù)網(wǎng)絡(luò)特點選用,并做出相應(yīng)的優(yōu)化。

        2.1 堆疊結(jié)構(gòu)模型

        堆疊結(jié)構(gòu)模型指的是僅僅通過網(wǎng)絡(luò)層堆疊而無其他拓撲結(jié)構(gòu)形成的網(wǎng)絡(luò)模型。早期的神經(jīng)網(wǎng)絡(luò)模型通過不斷改進神經(jīng)網(wǎng)絡(luò)的基本運算單元,并將其堆疊形成網(wǎng)絡(luò)模型,如LeNet、AlexNet、ZFNet、VGGNet、MSRANet 等。LeNet 奠定了CNN 的基礎(chǔ),而AlexNet 網(wǎng)絡(luò)在LeNet 基礎(chǔ)上將ReLU 激活函數(shù)作為非線性單元,并且添加Dropout 以及局部響應(yīng)歸一化層(local response normalization,LRN)防止網(wǎng)絡(luò)過擬合。由于早期GPU 顯存的限制,AlexNet[26]將一個堆疊結(jié)構(gòu)模型拆分后通過兩個GPU 進行協(xié)同訓(xùn)練,隨著硬件平臺發(fā)展,可以單獨使用一個GPU 平臺進行網(wǎng)絡(luò)訓(xùn)練,不再拆分模型結(jié)構(gòu)。ZFNet 和VGGNet是典型的堆疊結(jié)構(gòu)模型,其模型結(jié)構(gòu)如圖3 所示。

        Fig.3 Two structural models of stacking圖3 兩種堆疊結(jié)構(gòu)模型

        在2013 年之前,提升CNN 性能主要依靠反復(fù)實驗,并不明白改進的原因。ZFNet[27]網(wǎng)絡(luò)結(jié)構(gòu)與AlexNet 類似,ZFNet 作者提出了多層反卷積可視化技術(shù),可監(jiān)視網(wǎng)絡(luò)中隱藏層的特征。作者在實驗中發(fā)現(xiàn)AlexNet 結(jié)構(gòu)學(xué)習(xí)到的第一層特征只對于高頻和低頻信息有了收斂,對于中層信息卻沒有收斂,并且第二層特征出現(xiàn)了混疊失真。為了解決這些問題,在ZFNet 網(wǎng)絡(luò)中減小了卷積核尺寸以及步長,形成ZFNet模型結(jié)構(gòu)如圖3(a)所示,從而最大限度地提高了CNN 的學(xué)習(xí)能力。通過可視化技術(shù)對CNN 結(jié)構(gòu)重新調(diào)整有助于分類性能的提升,并且在以后卷積網(wǎng)絡(luò)模型的發(fā)展中可以看到,普遍采用了更小的3×3 卷積核。

        Table 1 Comparative analysis of four model structures表1 四種模型結(jié)構(gòu)對比分析

        相比之下,VGGNet[28]則是探索CNN 的深度,并發(fā)現(xiàn)網(wǎng)絡(luò)的深度是模型優(yōu)良性能的關(guān)鍵部分。VGGNet 結(jié)構(gòu)與AlexNet 類似,但在卷積中使用更小的3×3 卷積核,通過反復(fù)堆疊3×3 的小型卷積核和2×2 的最大池化層,并且去掉了耗費計算資源的LRN,形成了更深的VGGNet,如圖3(b)所示為19 層VGGNet 結(jié)構(gòu)。之所以使用3×3 的卷積核,是因為同時堆疊3×3 小卷積核,可以達到大尺寸卷積核的效果,并且小尺寸卷積核可以減少參數(shù)的數(shù)量,提供了較低的計算復(fù)雜性,且有更多的非線性,增強了模型的泛化能力。VGGNet 加深了模型的網(wǎng)絡(luò)結(jié)構(gòu)模型的深度,相比AlexNet 在Imagenet 數(shù)據(jù)集上準(zhǔn)確率得到大幅提升,贏得了ILSVRC2014 定位任務(wù)的冠軍以及分類任務(wù)的亞軍。

        MSRANet[29]與VGGNet結(jié)構(gòu)類似,但是其針對非線性單元中的ReLU 函數(shù)在輸入為負時,會導(dǎo)致神經(jīng)元輸出為0 的“神經(jīng)元死亡問題”,提出了PReLU 激活函數(shù),合理地保留負向信息。

        堆疊結(jié)構(gòu)模型由于其僅僅在網(wǎng)絡(luò)的深度單維度上進行提升,導(dǎo)致其性能并不突出。EfficientNet[30]探索出在網(wǎng)絡(luò)深度、網(wǎng)絡(luò)寬度、圖像分辨率三個維度上共同提升模型性能的思想,進一步提高堆疊結(jié)構(gòu)模型的性能。堆疊結(jié)構(gòu)模型由于其結(jié)構(gòu)簡單,增加模型深度容易,并且便于硬件以及軟件實現(xiàn),因此其應(yīng)用十分廣泛。

        2.2 網(wǎng)中網(wǎng)結(jié)構(gòu)模型

        網(wǎng)中網(wǎng)結(jié)構(gòu)模型是使用多個神經(jīng)網(wǎng)絡(luò)分支進行運算,再將各分支運算結(jié)果連接形成的網(wǎng)絡(luò)模型。網(wǎng)中網(wǎng)結(jié)構(gòu)模型在NIN[31]中提出,由于其采用較少的參數(shù)量就取得了AlexNet 效果而產(chǎn)生深遠影響。在各分類任務(wù)中輸入特征通常是高度非線性的,NIN 網(wǎng)絡(luò)在每個卷積層內(nèi)引入一個微型網(wǎng)絡(luò),相比堆疊結(jié)構(gòu)能更好地抽象每個局部塊的特征,其網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。

        NIN 將如圖5(a)所示的廣義線性卷積層(generalized linear model,GLM)替換為如圖5(b)所示多層感知機(multilayer perceptron,MLP),即在線性卷積層后添加1×1 卷積層,作為NIN 網(wǎng)絡(luò)構(gòu)建的基本單元,提高了特征的抽象表達能力,作者是第一個使用1×1卷積層構(gòu)建網(wǎng)絡(luò),具有劃時代的意義。在現(xiàn)在看來1×1卷積層還可以實現(xiàn)跨通道特征融合和通道升降維。

        網(wǎng)中網(wǎng)結(jié)構(gòu)模型以Inception 系列模型為代表,其是由不同的Inception block 構(gòu)建而成。GoogLeNet(Inception V1)[32]是典型的網(wǎng)中網(wǎng)結(jié)構(gòu)模型,與VGGNet和AlexNet相比,在網(wǎng)絡(luò)結(jié)構(gòu)做出巨大改變,通過網(wǎng)中網(wǎng)結(jié)構(gòu)增加了模型深度以及寬度,相比VGGNet也有了更高的準(zhǔn)確率的提升。

        Fig.4 Structure of NIN model圖4 NIN 模型結(jié)構(gòu)

        Fig.5 GLM and MLP layer圖5 GLM 與MLP 層

        Fig.6 Two kinds of Inception modules圖6 兩種Inception 模塊

        GoogLeNet 是由原始Inception block 構(gòu)建,其block 結(jié)構(gòu)如圖6(a)所示,通過拆分、變換和合并思想整合了多尺度卷積變換,包括1×1、3×3、5×5 卷積以及一個池化操作并聯(lián)而成,使模型具有不同大小的感受野,也增加了網(wǎng)絡(luò)對多尺度的適應(yīng)性,而池化操作,能防止模型過擬合同時也增強了網(wǎng)絡(luò)的平移不變性,提高模型的泛化能力。但是,將多個Google 模塊不斷疊加后,每個模塊輸入都是先前模塊的輸出特征圖,導(dǎo)致深層的網(wǎng)絡(luò)特征圖通道數(shù)過多,且5×5的卷積核所需的計算量巨大。為了避免這種情況,Google 參考NIN 網(wǎng)絡(luò),又提出了既能保持網(wǎng)絡(luò)結(jié)構(gòu)的稀疏性,又能利用硬件對密集矩陣高計算性能的Inception V1 模塊,如圖6(b)所示。模型在3×3 和5×5卷積之前以及最大池化操作后加入1×1 卷積構(gòu)成瓶頸層,一方面,削減每一層的特性通道數(shù)量,大大減少了參數(shù)量節(jié)約計算成本;另一方面,將同一位置不同通道的特征連接在一起,加強了不同通道間的信息交流與特征融合。但瓶頸層會導(dǎo)致有用信息丟失,并減小了下一層的空間特征。為此,Inception 模塊單獨并聯(lián)一路1×1 卷積,這樣既能保留上層原始特征,又能跨通道組織信息,進行信息整合。

        Google 在2015 年提出Inception V2 模型[33],其block 結(jié)構(gòu)如圖7 所示。相對于Inception V1 block 結(jié)構(gòu)主要在兩方面進行改進。一方面,將V1 模型中5×5 卷積替換為兩個3×3 卷積,加深了神經(jīng)網(wǎng)絡(luò)模型的深度,降低了模型參數(shù),同時建立了更多的非線性變換,使得CNN 對特征的學(xué)習(xí)能力更強;另一方面,在每個卷積層后加入BN 層,避免梯度消失問題,而且梯度變大意味著學(xué)習(xí)收斂速度快,能大大加快訓(xùn)練速度提高學(xué)習(xí)效率。BN 層的加入對模型性能產(chǎn)生很大影響,在此后的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)中成為“標(biāo)配”。

        Fig.7 Inception V2 block圖7 Inception V2 模塊

        網(wǎng)中網(wǎng)結(jié)構(gòu)模型在每個卷積層內(nèi)引入一個微型網(wǎng)絡(luò)后加深了網(wǎng)絡(luò)的深度以及寬度,增強了網(wǎng)絡(luò)特征表達能力。

        2.3 殘差結(jié)構(gòu)模型

        殘差結(jié)構(gòu)模型是在結(jié)構(gòu)中引入短路機制,使模型的輸出表述為輸入和輸入的非線性變換進行線性疊加的模型結(jié)構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)模型從AlexNet 的8層,到VGGNet 的19 層,再到GoogleNet 的22 層,模型的層數(shù)逐漸增多,并且模型的性能越來越好,更深的網(wǎng)絡(luò)模型意味著更好的非線性表達能力,能夠更好地擬合復(fù)雜的特征。

        但何凱明團隊發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)深度提升不能簡單地通過層堆疊實現(xiàn),網(wǎng)絡(luò)結(jié)構(gòu)的過深后,容易出現(xiàn)“退化現(xiàn)象”,即隨著網(wǎng)絡(luò)深度加深,網(wǎng)絡(luò)訓(xùn)練誤差卻增大。為了解決退化現(xiàn)象,殘差結(jié)構(gòu)引入恒等快捷鏈接,其設(shè)計啟發(fā)于Schmidhuber 教授在1997 年根據(jù)長短期記憶網(wǎng)絡(luò)(long short term memory network,LSTM)中門機制原理設(shè)計的HighWay Network[34],構(gòu)造了如圖8 所示殘差結(jié)構(gòu)。殘差結(jié)構(gòu)直接把恒等映射作為網(wǎng)絡(luò)的一部分,使學(xué)習(xí)目標(biāo)變?yōu)閷W(xué)習(xí)一個殘差函數(shù):

        當(dāng)F(x)=0 時,即堆積網(wǎng)絡(luò)層僅僅做了恒等映射,殘差結(jié)構(gòu)會保證網(wǎng)絡(luò)加深后模型性能不會下降,實際上F(x)≠0,F(xiàn)(x)也會在輸入特征基礎(chǔ)上學(xué)習(xí)到新的特征,并通過殘差結(jié)構(gòu)與F(x)疊加,加強特征重用,從而擁有更好的性能。

        Fig.8 Residual structure圖8 殘差結(jié)構(gòu)

        殘差結(jié)構(gòu)中F(x)的形式是靈活的,通過構(gòu)造不同的F(x)形成了兩種構(gòu)成ResNet[35]的block,如圖9所示。常規(guī)殘差模型如圖9(a)所示,當(dāng)殘差塊加入1×1 卷積層形成如圖9(b)所示結(jié)構(gòu)。思路與Inception 一樣,通過第一層1×1 卷積層形成瓶頸結(jié)構(gòu),可以減少3×3 卷積層計算量,然后3×3 卷積層進行特征提取,最后1×1 卷積層將通道數(shù)恢復(fù),整個過程是“壓縮—卷積特征提取—擴張”。

        Fig.9 Two kinds of ResNet blocks圖9 兩種ResNet模塊

        ResNet在VGGNet基礎(chǔ)上進行了修改,通過殘差結(jié)構(gòu)使上一個殘差塊的信息沒有阻礙地流入到下一個殘差塊,增強了信息流通,并且也避免了網(wǎng)絡(luò)過深所引起退化問題。ResNet 通過殘差結(jié)構(gòu)達到了152層的深度,為更深層的卷積網(wǎng)絡(luò)提供了思路。

        ResNeXt[36]是對ResNet 的改進,ResNeXt 使用block 相同的平行拓撲結(jié)構(gòu)代替ResNet的block,即:

        在式(2)中,C(cardinality)是需要聚合的變換的組數(shù),F(xiàn)i(x)可以是任意函數(shù),在神經(jīng)網(wǎng)絡(luò)中為任意的網(wǎng)絡(luò)結(jié)構(gòu)。在ResNeXt中的Fi(x)擁有同樣的block結(jié)構(gòu),聚合C個同樣的block形成不同的ResNeXtBlocks,如圖10 所示為C=32 時不同的ResNeXtBlocks,(a)結(jié)構(gòu)參數(shù)量與單個ResNet Block 差別很小,(b)結(jié)構(gòu)在各個分支經(jīng)兩層卷積后將各個分支的特征通道合并再進行卷積,而(c)結(jié)構(gòu)采用比較簡潔而且速度更快的分組卷積實現(xiàn),作者在文中明確說明這三種結(jié)構(gòu)是等價的。ResNeXt 的每個分支的拓撲結(jié)構(gòu)是相同的,不需要人工設(shè)計每個分支,改進后的網(wǎng)絡(luò)模型泛化能力相比ResNet較強。

        Fig.10 Three kinds of ResNeXt blocks圖10 三種ResNeXt模塊

        Fig.11 DenseNet block圖11 DenseNet模塊

        DenseNet[37]結(jié)構(gòu)將單層特征重用擴展到多層,采用殘差結(jié)構(gòu)將每個層與其他所有層連接,形成密集連接的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。Dense Block 內(nèi)部均采用了密集連接,在第i層與之前所有層特征映射,即:

        其中,[x0,x1,…,xi-1]表示特征映射的級聯(lián),xi為第i層的特征輸出,Hi(·)為非線性變換函數(shù)組合。一種典型的Dense Block 如圖11 所示。從表面上來看,DenseNet 與ResNet 區(qū)別僅在于使用殘差結(jié)構(gòu)連接之前所有層。然而,這個看似很小的修改導(dǎo)致了兩個網(wǎng)絡(luò)實質(zhì)上不同。DenseNet 不需要重新學(xué)習(xí)冗余特征圖,這種密集連接模式相對于其他結(jié)構(gòu)模型需要更少的參數(shù),并且改進了整個網(wǎng)絡(luò)的信息流和梯度,并且每個層直接訪問來自損失函數(shù)和原始輸入信號的梯度,這使得訓(xùn)練深層網(wǎng)絡(luò)變得更簡單。此外,密集連接具有正則化效果,減少了對訓(xùn)練集較小的任務(wù)的過擬合。

        當(dāng)殘差結(jié)構(gòu)提出后,Google 開始研究Inception網(wǎng)絡(luò)和殘差網(wǎng)絡(luò)的性能差異以及結(jié)合的可能性,提出了Inception-ResNet-V2[38],其模塊結(jié)構(gòu)如圖12 所示。Inception V4 模型中使用的Inception 模塊與V3基本一致,但是加入殘差結(jié)構(gòu),可以加快訓(xùn)練的速度。但在實驗中發(fā)現(xiàn)如果濾波器數(shù)量超過1 000,殘差網(wǎng)絡(luò)開始出現(xiàn)不穩(wěn)定并且難以訓(xùn)練,于是在激活層之前加入殘差放縮因子即形成Activation Scaling結(jié)構(gòu)。通過控制殘差放縮因子數(shù)值(0.1~0.3)進行放縮,便能夠穩(wěn)定訓(xùn)練。

        Fig.12 Inception-ResNet-V2 block圖12 Inception-ResNet-V2 模塊

        Yamada 等人在研究中發(fā)現(xiàn)殘差單元內(nèi)下采樣層對整體模型性能影響具有不確定性,為了避免下采樣層對模型性能的影響,提出了DPResNet[39]。在整個模型結(jié)構(gòu)中將特征通道數(shù)增加方式采用線性或者非線性增加,最終模型內(nèi)特征通道數(shù)量形成了“金字塔”結(jié)構(gòu),如圖13 所示。通過這種結(jié)構(gòu)使受下采樣層影響較大的殘差單元的負擔(dān)均勻分布在所有單元上。

        Fig.13 Channel pyramid structure generation圖13 通道金字塔結(jié)構(gòu)生成方式

        由于殘差單元通道數(shù)量輸入和輸出不一致,因此無法直接采用恒等映射,但是如果采用1×1 卷積層對輸入通道數(shù)目升維,會阻礙通道間的信息傳遞。DPResNet 采用如圖14 所示的殘差單元結(jié)構(gòu),在殘差路徑上將輸入特征通道后填充零矩陣通道與輸出通道直接相加。

        Fig.14 DPResNet block圖14 DPResNet模塊

        除此之外,由于ResNet 的短路連接,會出現(xiàn)“隨機深度”現(xiàn)象,即只有部分殘差塊學(xué)到了有用信息。為此Zagoruyko 等人提出了深度較淺但寬度更寬的模型WideResNet[40]。由于寬度增加會增加計算成本,為此Zhang 等人提出了PloyNet[41],從多項式角度推導(dǎo)以構(gòu)建更復(fù)雜的block 結(jié)構(gòu),獲得比僅增大寬度與深度更大的效益。

        殘差結(jié)構(gòu)模型通過引入短路機制形成恒等映射,有效解決了模型的退化問題,為更深層網(wǎng)絡(luò)模型的構(gòu)建提供了解決方案。

        2.4 注意力機制模型

        注意力機制模型通過自動學(xué)習(xí)的方式獲取到需要重點關(guān)注的特征,抑制其他無用特征的模型結(jié)構(gòu)。

        通過之前介紹的模型發(fā)現(xiàn),研究者的很多工作是在空間維度上提升模型的性能,而SENet[42]能自動獲取到每個通道特征的重要程度,提升有用特征通道權(quán)重并抑制其他無用特征通道,是一種通道注意力模型。

        SE(squeeze and excitation)模塊結(jié)構(gòu)如圖15 所示。首先給定一個輸入x,其特征通道數(shù)為c1,通過一系列變換后得到特征通道數(shù)為c2的特征。與傳統(tǒng)的CNN 不同的是,將通過三個操作來重標(biāo)定前面得到的特征。

        首先是Squeeze 操作,將每個二維的特征通道壓縮為一個實數(shù),這個實數(shù)某種程度上具有全局的感受野,并且輸出的維度和輸入的特征通道數(shù)相匹配。其次是Excitation 操作,為每個特征通道生成權(quán)重w,顯式地建模特征通道間的相關(guān)性。最后進行Reweight 的操作,將權(quán)重w通過乘法逐通道加權(quán)到先前的特征上,完成對原始特征的重標(biāo)定。

        SE 模塊可以嵌入到現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)中,從而提升模型對通道特征的敏感性。圖16 是將SE 嵌入到Inception 以及ResNet 模塊中的結(jié)構(gòu)。通過在原始網(wǎng)絡(luò)結(jié)構(gòu)單元中嵌入SE 模塊,可以獲得不同種類的SENet,如:SE-Inception、SE-ResNet、SE-ReNeXt、SEInception-ResNet-V2 等,只需要增加較少的計算量便可以提升模型的性能。

        標(biāo)準(zhǔn)卷積網(wǎng)絡(luò)中,卷積層的感受野為固定大小。而SKNet[43]采用一種非線性的方法融合不同卷積核提取的特征,實現(xiàn)感受野尺寸的自動調(diào)整以便獲得不同尺寸的空間信息,是一種空間注意力機制模型。

        Fig.15 Squeeze and Excitation module圖15 Squeeze and Excitation 模塊

        Fig.16 Two kinds of network structure units embedded in SE module圖16 兩種嵌入SE 模塊的網(wǎng)絡(luò)結(jié)構(gòu)單元

        SKNet 是由多個SK(selective kernel)單元堆疊而成,SK 單元是由1×1 卷積層,SK 卷積組成。SKNet能夠?qū)崿F(xiàn)感受野的自調(diào)整,關(guān)鍵就在于SK 卷積,該卷積包含Split、Fuse、Select 三個操作,其結(jié)構(gòu)如圖17所示。其包含兩個分支,對于輸入h×w×c大小的特征圖,首先進行Split 操作,輸入特征圖分別經(jīng)過兩個卷積核尺寸分別為3×3 和5×5 的組卷積,輸出兩個特征圖分別為U1=h×w×c,U2=h′×w′×c′,并且為了進一步提升網(wǎng)絡(luò)性能,將5×5 卷積分解為兩個3×3 卷積堆疊。然后進行Fuse 操作,形成一個門機制,控制流入下一個卷積層中不同分支的信息流。首先進行通道融合U=U1+U2,然后使用GAP 來編碼全局信息s,然后通過FC 進行降維并對特征權(quán)重進行調(diào)整,得到緊湊特征信息z,最后進行Select 操作,通過softmax 操作得到注意力權(quán)重a、b,將權(quán)重通過乘法逐通道加權(quán)到先前的特征上,將輸出特征相加得到最終的輸出特征V。

        SK 卷積可以嵌入到現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)中,只需要將原網(wǎng)絡(luò)中所有具有較大尺寸的卷積核都替換為SK卷積,使網(wǎng)絡(luò)自動選擇合適的感受野大小,成為一種泛化能力更好的注意力機制模型。

        CBAM 模型[44]結(jié)合了通道注意力機制與空間注意力機制,相比單注意力機制模型具有更好的特征表達能力,并且作為一種輕量級的模型,可以無縫地集成到現(xiàn)在的任何CNN 模型架構(gòu)中。

        注意力機制可以使得神經(jīng)網(wǎng)絡(luò)具備專注于其輸入特征子集的能力,解決了信息超載問題。

        3 特殊卷積神經(jīng)網(wǎng)絡(luò)模型

        3.1 擠壓網(wǎng)絡(luò)模型

        SqueezeNet[45]是最開始關(guān)注模型大小的問題,探索模型體量和準(zhǔn)確率之間的平衡,而不是僅僅提高準(zhǔn)確率。

        卷積層的浮點數(shù)計算量(floating point of operations,F(xiàn)LOPs)主要是由卷積核大小k以及輸入特征圖通道數(shù)量Cin決定,若輸出特征圖尺寸為H×W×Cout,那么其FLOPs=H×W×Cin×k×k×Cout。Cout過小即輸出通道數(shù)量過少則會對特征提取不完全,因此通過減小Cin可以保證準(zhǔn)確率的同時有效地降低計算量。

        SqueezeNet 是通過減少輸入通道的數(shù)量形成輕量化模型的代表結(jié)構(gòu)。其整個網(wǎng)絡(luò)是通過一個個的Fire module 連接組合而成。Fire module 由一個Squeeze 卷積層和一個Expand 卷積層組成,Squeeze 卷積層僅僅包含1×1 卷積核,expand 卷積層僅包含1×1 和3×3 卷積核,其具體操作方式如圖18 所示。首先上一層大小為H×W×M特征圖會經(jīng)過Squeeze layer 通過1×1 卷積極大減少通道數(shù)量,輸出得到S1個特征圖(S1<M);H×W×S1特征圖到Expand layer 分別經(jīng)過1×1 卷積層和3×3 卷積層進行卷積,再將輸出結(jié)果進行拼接,輸出為H×W×(e1+e2)大小特征圖。Fire module 內(nèi)全部采用標(biāo)準(zhǔn)卷積,因此它的模型體量小就是減少了輸入通道數(shù)量,最終形成為AlexNet參數(shù)量1/50的同性能SqueezeNet模型。

        Fig.17 Selective Kernel Convolution module圖17 Selective Kernel Convolution 模塊

        Fig.18 Fire module圖18 Fire 模塊

        SqueezeNet 提出后開拓了輕量級卷積神經(jīng)網(wǎng)絡(luò)模型設(shè)計這一方向,這是SqueezeNet的最大貢獻。

        3.2 生成對抗神經(jīng)網(wǎng)絡(luò)模型

        生成對抗神經(jīng)網(wǎng)絡(luò)(GAN),是一類在無監(jiān)督學(xué)習(xí)中使用的神經(jīng)網(wǎng)絡(luò)。由Goodfellow 等人[46]首先提出,與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型相比,對抗神經(jīng)網(wǎng)絡(luò)模型可以自動學(xué)習(xí)原始真實樣本集的數(shù)據(jù)分布,并將輸入的隨機噪聲生成與真實樣本集類似的數(shù)據(jù),其網(wǎng)絡(luò)模型結(jié)構(gòu)如圖19 所示。

        Fig.19 Model structure of GAN network圖19 GAN 網(wǎng)絡(luò)模型結(jié)構(gòu)

        生成器網(wǎng)絡(luò)與判別器網(wǎng)絡(luò)是兩個完全獨立的神經(jīng)網(wǎng)絡(luò)。對于生成器模型,輸入的隨機數(shù)組通過生成網(wǎng)絡(luò)模型生成與真實樣本類似的假樣本,然后將真樣本集以及其標(biāo)簽1、假樣本集及其標(biāo)簽0 輸入到判別器網(wǎng)絡(luò)模型中。對于判別網(wǎng)絡(luò)來說,這個問題便變?yōu)橛斜O(jiān)督的二分類問題,假如輸入為真樣本,網(wǎng)絡(luò)輸出就接近1;輸入為假樣本,網(wǎng)絡(luò)輸出接近0。對判別網(wǎng)絡(luò)它希望盡量去區(qū)分樣本是來自真樣本集還是假樣本集,生成網(wǎng)絡(luò)與判別網(wǎng)絡(luò)的目的正好是相反的。對于生成網(wǎng)絡(luò)希望生成以假亂真的假樣本,判別網(wǎng)絡(luò)便無法區(qū)分?jǐn)?shù)據(jù)是來自真樣本集還是生成的假樣本集。這是一個生成器網(wǎng)絡(luò)與判別器網(wǎng)絡(luò)相互博弈的過程,因此叫作對抗網(wǎng)絡(luò)模型。

        生成對抗神經(jīng)網(wǎng)絡(luò)模型已應(yīng)用于許多領(lǐng)域,如文本生成圖像、提高圖片分辨率、藥物匹配、檢索特定模式圖片等任務(wù)。并且使得現(xiàn)有問題從有監(jiān)督學(xué)習(xí)過渡到無監(jiān)督學(xué)習(xí),而無監(jiān)督學(xué)習(xí)才是自然界中普遍存在的,因為很多時候無法拿到監(jiān)督信息。

        3.3 孿生神經(jīng)網(wǎng)絡(luò)模型

        孿生神經(jīng)網(wǎng)絡(luò)模型與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)模型相比主要用于判斷兩個輸入樣本的相似度。它在不需要知道每個樣本標(biāo)簽屬于哪個類的情況下,能夠利用給定的數(shù)據(jù)學(xué)習(xí)一個相似性的度量,并去對比與新樣本的相似程度。如圖20 所示為SiameseNet[47]的網(wǎng)絡(luò)結(jié)構(gòu),它是由兩個結(jié)構(gòu)完全相同,并且共享權(quán)值的雙胞胎子網(wǎng)絡(luò)以及某種向量距離的度量方式構(gòu)成,對于其他孿生神經(jīng)網(wǎng)絡(luò)模型中的雙胞胎子網(wǎng)絡(luò)甚至可以是一個網(wǎng)絡(luò)。孿生網(wǎng)絡(luò)有兩個輸入X1與X2,它們分別通過雙胞胎子網(wǎng)絡(luò)將其轉(zhuǎn)換為低維向量GW(X1)與GW(X2)。由于子網(wǎng)絡(luò)具有相同的計算函數(shù),從而能維持在原有空間的“語義”距離,然后通過某種距離度量方式計算兩個輸入向量的距離,進而判斷出兩個輸入的相似度EW。

        Fig.20 Structure of SiameseNet network圖20 SiameseNet網(wǎng)絡(luò)結(jié)構(gòu)

        孿生神經(jīng)網(wǎng)絡(luò)已經(jīng)在人臉識別、目標(biāo)追蹤等任務(wù)中獲得了非常成功的應(yīng)用,也是一種成功的網(wǎng)絡(luò)模型結(jié)構(gòu)。

        3.4 幽靈網(wǎng)絡(luò)模型

        幽靈網(wǎng)絡(luò)模型與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型相比最大的不同在于特征圖的生成方式。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型的特征圖是通過卷積層生成所有的特征圖,而幽靈網(wǎng)絡(luò)模型中相似特征圖是通過其中一張?zhí)卣鲌D線性操作得到的。研究者在ResNet-50 中使用可視化技術(shù)發(fā)現(xiàn)在一個訓(xùn)練良好的卷積神經(jīng)網(wǎng)絡(luò)模型的特征圖中,通常會包含豐富甚至冗余的信息。華為公司的Ghost Net[48]采用Ghost 模塊將一個特征圖通過線性運算后生成其他冗余特征圖,可以用更少的參數(shù)生成更多更豐富的特征。

        Ghost 模塊由兩部分組成,如圖21 所示。第一部分涉及普通卷積,Ghost 模塊并沒有使用深度可分離卷積等操作,因為逐點卷積層占用大量內(nèi)存和FLOPs的問題沒有有效的解決方式。雖然采用了普通卷積,但卷積核總數(shù)受到嚴(yán)格控制。輸入的特征圖首先通過普通卷積操作生成小數(shù)量的m個固有特征圖,此時的空間大小信息已經(jīng)固定。第二部分為特征映射,m個固有特征圖經(jīng)線性運算來生成更多的特征映射為n,具體公式為:

        其中,yi′表示固有特征圖中的第i個特征圖,φi,j表示對第i個特征圖進行的第j個線性變換。某一層特征圖可能對應(yīng)多個線性變換,得到多個變換結(jié)果,yij為輸出特征圖。在變換的最后,為保留固有特征中的信息增加恒等映射,也就是將固有的特征圖拼接到變換后的特征圖,便生成n維特征圖。

        Fig.21 Ghost module圖21 Ghost 模塊

        GhostNet 使用MobileNet V3 的基本架構(gòu),利用Ghost block 代替了MobileNet V3 中的block,并且加入輕量級注意力模塊SE 模塊,最終GhostNet 通過冗余特征重生成技術(shù)改進的模型,在各種計算復(fù)雜度級別上準(zhǔn)確率以及實際推理速度均優(yōu)于目前其他輕量級網(wǎng)絡(luò)模型。

        4 卷積神經(jīng)網(wǎng)絡(luò)的典型應(yīng)用

        卷積神經(jīng)網(wǎng)絡(luò)在圖像分類領(lǐng)域取得一系列突破,各個應(yīng)用領(lǐng)域?qū)⒉煌珻NN 作為特征提取的主干網(wǎng)絡(luò)并添加不同的功能單元結(jié)構(gòu)形成了新的應(yīng)用模型,將CNN 融入到了不同的深度學(xué)習(xí)任務(wù)中,由于其出色的檢測效果及性能逐漸取代傳統(tǒng)方法,目前已成為目標(biāo)檢測、語義分割、自然語言處理等領(lǐng)域的研究熱點。

        4.1 目標(biāo)檢測

        目標(biāo)檢測(object detection)的主要任務(wù)是從圖像中準(zhǔn)確定位和分類特定對象,并給出每個目標(biāo)的位置和大小,是計算機視覺領(lǐng)域的核心問題之一。

        早在1994 年CNN 就成功應(yīng)用在目標(biāo)檢測中,但是與傳統(tǒng)目標(biāo)檢測方法相比,在性能上沒有太大優(yōu)勢。直到進入到深度學(xué)習(xí)時代,將CNN 作為特征提取網(wǎng)絡(luò)較好應(yīng)用到目標(biāo)檢測任務(wù)上,提出了R-CNN(region convolution neural network)模型,其性能遠超傳統(tǒng)目標(biāo)檢測方法。此后提出了一系列優(yōu)秀的目標(biāo)檢測模型,基于CNN 的目標(biāo)檢測方法成為主流?;贑NN 的目標(biāo)檢測方法與傳統(tǒng)檢測算法步驟類似,分為三個階段,首先生成候選區(qū)域,然后提取待分類候選區(qū)域特征,最后對提取到的特征進行分類。其主要包括兩種類型,一種是基于錨點的目標(biāo)檢測,另一種是基于Anchor-free 的目標(biāo)檢測。其中基于錨點的目標(biāo)檢測又分基于候選區(qū)域網(wǎng)絡(luò)的檢測模型和基于回歸方法的檢測模型。

        R-CNN[49]是最初基于候選區(qū)域的檢測模型,其在每個階段都采用了不同的方法,在模型訓(xùn)練和應(yīng)用上都有很多弊端。Girshick[50]提出改進的Fast R-CNN,將分類器與邊界回歸器加入到CNN 網(wǎng)絡(luò)中,從而整個過程只對圖像進行了一次卷積操作,利用卷積網(wǎng)絡(luò)實現(xiàn)了后兩個階段的統(tǒng)一;Ren 等人[51]提出的Faster R-CNN,在Fast R-CNN 基礎(chǔ)上添加CNN 作為區(qū)域生成網(wǎng)絡(luò)(region proposal network,RPN)來生成檢測框以取代選擇性搜索方法,使得區(qū)域生成、對象分類、邊界回歸共享卷積特征,加快了目標(biāo)檢測的速度,實現(xiàn)目標(biāo)檢測三個階段的統(tǒng)一;Dai等人[52]提出基于區(qū)域的全卷積目標(biāo)檢測網(wǎng)絡(luò)(region-based fully convolutional network,R-FCN),在CNN 特征層后加入位置敏感的卷積層替換全連接層,解決了全連接層丟失目標(biāo)精確位置信息的問題;Gidaris 等人[53]提出基于多區(qū)域的CNN 識別模型(multi-region convolution neural network,MR-CNN),通過提取多區(qū)域的特征來豐富目標(biāo)的特征,達到提高目標(biāo)檢測效果?;诤蜻x區(qū)域的檢測模型目標(biāo)檢測準(zhǔn)確率,非常依賴候選區(qū)提取方法的準(zhǔn)確度,為此提出了基于回歸方法的檢測模型。

        另一種基于回歸方法的檢測模型,最初是由Sermanet 等人提出的OverFeat 模型[54],將CNN 作為回歸器,把整幅圖像看成一個候選區(qū)域輸入到CNN中實現(xiàn)目標(biāo)檢測。其結(jié)構(gòu)相比基于候選區(qū)域的檢測模型,網(wǎng)絡(luò)結(jié)構(gòu)更加簡單,實時性更高。隨后YOLO系列和SSD 網(wǎng)絡(luò)都是典型的基于回歸方法的檢測模型。YOLO 最初的提出就是針對基于候選區(qū)網(wǎng)絡(luò)模型檢測速度問題提出,YOLO[55]僅采用一個神經(jīng)網(wǎng)絡(luò)在輸出層回歸邊界框位置以及分類,雖然目標(biāo)檢測精度略有下降,但是提高了目標(biāo)檢測的實時性,F(xiàn)ast YOLO 更是達到了每秒155 幀。隨后提出的SSD[56]通過融合6 個不同尺度的特征層可以對不同尺度的物體進行檢測,并且采用非極大抑制方法以及難分樣本挖掘技術(shù)處理大量產(chǎn)生的負樣本,SSD 采用單神經(jīng)網(wǎng)絡(luò)多邊界框檢測的方式,直接完成了候選區(qū)域選取和分類兩個步驟,其達到了較高的檢測精度以及速度,目前SSD 算法已經(jīng)被移植到手機移動端并流暢運行。YOLOv2[57]針對YOLO 回歸方法召回率以及檢測率不高的問題,采用批正則化、維度聚類、直接位置預(yù)測、多尺度訓(xùn)練等方法進行改進,相較于SSD 以及Faster R-CNN 性能更勝一籌。與此同時,提出的YOLO9000 在ImageNet 和COCO 數(shù)據(jù)集采用聯(lián)合訓(xùn)練和檢測的方法,使YOLO9000 能對超過9 000 類目標(biāo)進行實時檢測。DSSD[58]采用Top-Down結(jié)構(gòu),將淺層特征圖輸入到反卷積模型中,和深層的特征圖在對應(yīng)的通道上做乘法運算,將高層的語義信息融入到低層的特征信息中,以此來提高特征精度。YOLOv3[59]為了實現(xiàn)多尺度預(yù)測,其參考特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)在3 個尺度上進行檢測,提高了小物體檢測效果。以前的目標(biāo)檢測算法大都是在ImageNet 數(shù)據(jù)集進行預(yù)訓(xùn)練,然后針對特定任務(wù)進行微調(diào),導(dǎo)致模型結(jié)構(gòu)靈活性差,且難以改變網(wǎng)絡(luò)結(jié)構(gòu),并且計算量也大,限制其應(yīng)用場合。Shen 等人[60]首次提出了一種能從零開始訓(xùn)練的檢測器DSOD(deeply supervised object detector),并且采用了Densenet 結(jié)構(gòu)思想,相比SSD 模型,準(zhǔn)確率以及模型大小方面更勝一籌。YOLOv4 通過改進主干網(wǎng)絡(luò),并且添加SPP(spatial pyramid pooling)模塊提升模型的感受野,采用PANet[61]特征融合方法代替FPN。總的來說,YOLOv4[62]是對近年來性能較好的目標(biāo)檢測方法進行總結(jié)并改進形成的,其目前與其他SOTA 目標(biāo)檢測器相比,在速度和準(zhǔn)確性上都優(yōu)于其他檢測器。

        雖然基于Anchor 的目標(biāo)檢測模型在性能上有了很大的提升,但是由于預(yù)設(shè)的錨點大多是負樣本,在訓(xùn)練過程中會導(dǎo)致正樣本和負樣本的失衡,錨框的超參數(shù)巨大并且錨框的寬高比對數(shù)據(jù)集比較敏感,會影響其檢測性能?;贏nchor-free 的目標(biāo)檢測模型消除了對錨框的需求。Law 等人[63]提出了CornerNet,使用CNN 生成兩組熱圖分別來檢測物體的左上角點和右下角點,并判斷兩個角點是否屬于同一目標(biāo),并對角點位置偏差進行修正,CornerNet 是Anchor-free目標(biāo)檢測的開創(chuàng)性工作。ExtremeNet[64]改進CornerNet將目標(biāo)檢測改為檢測目標(biāo)邊框的4 個極值點;Duan等人[65]提出了基于中心點的CenterNet,將目標(biāo)檢測改變?yōu)殛P(guān)鍵點估計問題,在中心點基礎(chǔ)上回歸出目標(biāo)的其他屬性,如尺寸、方向、姿態(tài)等。FSAF 模型[66]在FPN 每層后添加Anchor-free 分支去計算該目標(biāo)在不同的特征分支上的得分,將該目標(biāo)分配給得分最高的分支上進行檢測。FCOS(fully convolutional one-stage)模型[67]是一個基于全卷積的檢測網(wǎng)絡(luò),通過“center-ness”來預(yù)測在特征圖中每個像素點相對框中心點的偏差,在后處理中僅使用NMS(nonmaximum suppression)使其檢測效果比肩基于Anchor 的目標(biāo)檢測算法。

        基于CNN 的目標(biāo)檢測在各個領(lǐng)域均得到了廣泛應(yīng)用。Vaillant等人[68]首次提出將CNN 應(yīng)用于人臉檢測。Sermanet 等人[69]提出了將CNN 應(yīng)用于行人檢測。Hu 等人[70]采用傳統(tǒng)領(lǐng)域知識和深度學(xué)習(xí)優(yōu)勢的融合實現(xiàn)了車輛車色識別任務(wù)。Sermanet 和LeCun使用多尺度卷積神經(jīng)網(wǎng)絡(luò)識別交通標(biāo)志[71]。Wang 等人[72]實現(xiàn)基于CNN 的新冠肺炎(COVID-19)檢測。Huang 等人[73]改進R-FCN 實現(xiàn)船舶識別。Luo 等人[74]改進YOLO 實現(xiàn)火災(zāi)檢測報警。

        4.2 語義分割

        語義分割是從像素級別上理解圖像,通過對圖像中的每個像素點進行分類,將圖像分割成若干個具有特定語義類別的區(qū)域,也是計算機視覺領(lǐng)域的核心問題之一。深度學(xué)習(xí)興起后,基于CNN 的語義分割方法由于其效率以及準(zhǔn)確率遠超傳統(tǒng)方法而成為主流,主要有基于解碼器方法和基于多特征融合方法。

        語義分割取得跨越式進步是在2014 年Long 等人[75]提出基于全卷積神經(jīng)網(wǎng)絡(luò)(fully convolutional networks,F(xiàn)CN)后,才真正開啟像素級語義分割網(wǎng)絡(luò)。FCN 是在CNN 分類網(wǎng)絡(luò)的基礎(chǔ)上改進,將CNN中的全連接層替換為卷積層,從而建立全卷積網(wǎng)絡(luò)。輸入任意尺寸的圖像后,從而產(chǎn)生對每個像素的分類結(jié)果,這部分稱為編碼器。將分類結(jié)果再通過反卷積操作映射到原圖像大小,產(chǎn)生像素級別的標(biāo)簽,從而獲得語義分割的結(jié)果,這部分稱為解碼器。FCN 提出了基于CNN 的編碼器-解碼器體系結(jié)構(gòu),證明了在可變大小的圖像上以端到端的方式訓(xùn)練網(wǎng)絡(luò)完成語義分割,并在其基礎(chǔ)上不斷改進得到了性能更好的語義分割網(wǎng)絡(luò)。Badrinarayanan 等人[76]提出SegNet,該網(wǎng)絡(luò)在編碼器池化時保留池化層索引,在解碼器中根據(jù)索引準(zhǔn)確將該值映射到初始位置,該改進不需要額外學(xué)習(xí)就改善了圖像分割的效果。為了在淺層捕捉充足的空間信息幫助模型恢復(fù)目標(biāo)細節(jié),DeepLabv3+[77]在網(wǎng)絡(luò)中添加一個簡單有效的解碼模塊。Ronneberger 等人[78]提出了用于分割生物顯微鏡圖像的U-Net。Milletari 等人[79]提出用于三維醫(yī)學(xué)圖像分割模型V-Net。

        為了充分利用目標(biāo)的上下文信息,進一步優(yōu)化分割效果,需要對CNN 中不同層次的信息進行融合。Liu 等人[80]提出了ParseNet 模型,通過GAP 提取圖像的全局特征并與局部特征融合,將全局信息融合到FCN 中。Lin 等人[81]提出RefineNet,通過殘差連接利用了下采樣過程中的信息,使前層的特征可以直接強化高層的語義特征。DeepLabv2[82]和PSPNet[83]采用空洞空間金字塔池化模塊有效捕獲上下文信息,提高模型獲取全局信息的能力。OCNet[84]在每個尺度上使用金字塔語義模塊捕獲目標(biāo)像素的上下文信息。SPNet[85]通過引入一個新的條帶池模塊,使骨干網(wǎng)絡(luò)能有效地利用遠程的上下文信息;CPNet[86]設(shè)計上下文優(yōu)先的網(wǎng)絡(luò);此外,在GCN(global convolutional network)[87]、PAN(pyramid attention network)[88]、DFN(discriminative feature network)[89]等模型中應(yīng)用可以逐步融合骨干網(wǎng)絡(luò)中不同層次的特征圖的U 型結(jié)構(gòu)。

        隨著注意力機制在CNN 分類中的成功應(yīng)用,其在幫助語義分割中生成高質(zhì)量的分割結(jié)果越來越重要。Fu 等人[90]提出DANet,利用注意力機制對全局上下文信息計算權(quán)重向量,利用權(quán)重向量細化局部及全局上下文信息。RANet[91]將注意力機制融合到前向過程中,使局部信息得到增強。Wang 等人[92]提出一種自監(jiān)督等變注意力機制模型(self-supervised equivariant attention mechanism,SEAM)。Choi 等人[93]提出高度驅(qū)動的注意力網(wǎng)絡(luò)(height-driven attention networks,HANet),改善城市場景的語義分割。

        基于CNN 的語義分割在各個場景得到了廣泛的應(yīng)用。Lee 等人[94]對多種場景下的車道線分割。Diakogiannis 等人[95]提出基于CNN 的遙感圖像分割框架ResUNet-a。Tran 等人[96]采用SegNet 結(jié)構(gòu)對顯微血液涂片圖像中的紅細胞和白細胞進行分割。Edupuganti 等人[97]利用FCN 對眼底圖像中視盤和杯狀區(qū)域進行分割,用以輔助眼部疾病的診斷。Liu 等人[98]改進UNet 對腦海馬體3D 分割。Wang 等人[99]改進DeepLab 對腸息肉完成分割診斷。Wang 等人[100]對FCN 改進完成玉米葉片病斑的分割。“騰訊覓影”能1 min 內(nèi)對新冠肺炎(COVID-19)CT 圖像進行自動分割,幫助醫(yī)生準(zhǔn)確評判患者肺炎的嚴(yán)重程度。

        4.3 自然語言處理

        CNN 最開始是用于計算機視覺領(lǐng)域中,由于其優(yōu)越的特征提取能力現(xiàn)在也被廣泛用于自然語言處理(natural language processing,NLP)中。研究者基于CNN 設(shè)計各種模型,在NLP 領(lǐng)域的研究取得了一個又一個突破。

        CNN 應(yīng)用到NLP 中最早可以追溯到2008 年Collobert 等人[101]將詞向量方法與CNN 相結(jié)合,為目前許多方法的改進和提升奠定了基礎(chǔ)。在2011 年Collobert等人[102]進一步擴展了他們的研究工作,提出用于各種NLP 任務(wù)的通用框架。2014 年Kim[103]提出基于預(yù)訓(xùn)練Word2vec 的TextCNN 模型用于句子的分類任務(wù)。2014 年Kalchbrenner 等人[104]提出用于語句建模的動態(tài)卷積網(wǎng)絡(luò)(dynamic convolutional neural network,DCNN),其采用動態(tài)挑選最大特征的池化策略,在保留了特征順序的同時也有利于累計句子中的關(guān)鍵信息,解決CNN 中文本的長距離依賴關(guān)系的問題,完成了情感分類任務(wù)。DPCNN(deep pyramid convolutional neural networks)[105]通過增加網(wǎng)絡(luò)的深度來捕捉文本的長距離依賴關(guān)系,提高了用于文本分類的準(zhǔn)確度。Wang等人[106]提出了同時利用了RNN和CNN 優(yōu)點的RCNN(recurrent convolutional neural network)模型,用于文本分類。

        除此之外,ByteNet[107]應(yīng)用于具有挑戰(zhàn)性的機器翻譯任務(wù);SeqGan[108]完成文本生成任務(wù)。Yan等人[109]提出深度文本生成模型(grade generative adversarial networks,GradeGAN)對音樂生成評價信息。Tu等人[110]提出無池化層的中文分詞模型(pure convolutional neural network,PCNN)。并且Facebook 的Pytext 以及百度的PaddleNLP 的自然語言處理框架均已成熟應(yīng)用。

        5 總結(jié)與展望

        隨著卷積神經(jīng)網(wǎng)絡(luò)相關(guān)研究的不斷推進,其性能以及模型復(fù)雜度也隨之提高。本文對目前性能優(yōu)秀的典型卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)進行了分析。典型的卷積神經(jīng)網(wǎng)絡(luò)模型已經(jīng)取得了顯著的成果,在圖像分類以及識別中已經(jīng)有很高的準(zhǔn)確率,主要有增加網(wǎng)絡(luò)結(jié)構(gòu)的寬度以及深度、融合通道域和空間域注意力機制等關(guān)鍵技術(shù)。雖然傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型識別率已經(jīng)很高,但是通過向原圖片中加入一些特定的噪點,這種人工擾動可以輕易使神經(jīng)網(wǎng)絡(luò)模型對圖像進行錯誤分類,如何解決這一問題并提高模型的泛化能力,是亟待解決的問題。并且隨著神經(jīng)網(wǎng)絡(luò)深度以及寬度的加深,訓(xùn)練成本逐漸增加,若能夠?qū)⑨槍μ囟▎栴}的先驗知識加入到模型的構(gòu)建中,將能夠大大加快模型訓(xùn)練速度。除此之外,卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)研究還具有很大空間,模型性能的提升需要更加合理的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計,并且網(wǎng)絡(luò)模型的超參數(shù)的設(shè)置依賴實驗和經(jīng)驗,對參數(shù)的量化分析是卷積神經(jīng)網(wǎng)絡(luò)一個有待解決的問題。雖然卷積神經(jīng)網(wǎng)絡(luò)正處于研究熱度非常高的階段,但是關(guān)于其完備的數(shù)學(xué)解釋與證明目前仍然較為匱乏。對其進行相關(guān)理論研究對于卷積神經(jīng)網(wǎng)絡(luò)進一步發(fā)展,以及解決當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)的缺陷問題都具有重要意義。

        本文列舉的特殊模型也為傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型提出了更多設(shè)計思路:

        (1)典型卷積神經(jīng)網(wǎng)絡(luò)模型需輕量化設(shè)計。在過去卷積神經(jīng)網(wǎng)絡(luò)研究重點在于算法設(shè)計,對于其模型應(yīng)用的具體部署平臺欠缺考慮,設(shè)計硬件友好型模型結(jié)構(gòu)將有助于進一步提高模型性能,也是模型結(jié)構(gòu)設(shè)計的重點研究方向。

        (2)加強弱監(jiān)督或無監(jiān)督學(xué)習(xí)的卷積模型結(jié)構(gòu)研究;自然界中無監(jiān)督學(xué)習(xí)是更加普遍的存在,并且符合人腦的思維模式,雖然無監(jiān)督與弱監(jiān)督學(xué)習(xí)在圖像識別方面已取得了一定的進展,但是與監(jiān)督學(xué)習(xí)相比,非監(jiān)督學(xué)習(xí)與半監(jiān)督學(xué)習(xí)在圖像識別精確度方面依然差距較大。

        (3)構(gòu)建多輸入的卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)。多信息輸入能更充分利用原始數(shù)據(jù)中隱含的特征表達,以更少的訓(xùn)練代價獲得更好的識別效果。并且在識別過程中共享網(wǎng)絡(luò)結(jié)構(gòu),能進一步加快識別效率。

        (4)研究效率更高的特征生成方式。高效的冗余特征生成方式能減少模型的參數(shù)量,生成更豐富的特征圖,也是值得研究的問題。

        目前深度神經(jīng)網(wǎng)絡(luò)模型研究仍處于起步階段,許多問題尚未得到解決,然而這仍然是一個極具研究價值的領(lǐng)域。無論是典型卷積神經(jīng)網(wǎng)絡(luò)還是特殊卷積神經(jīng)網(wǎng)絡(luò)模型,目前在智能安防、虛擬現(xiàn)實、智能醫(yī)療、自動駕駛、可穿戴設(shè)備以及移動支付等領(lǐng)域中均有應(yīng)用。深度神經(jīng)網(wǎng)絡(luò)模型發(fā)展對引領(lǐng)未來科技發(fā)展,人工智能產(chǎn)業(yè)的發(fā)展具有關(guān)鍵作用。

        猜你喜歡
        殘差卷積神經(jīng)網(wǎng)絡(luò)
        基于雙向GRU與殘差擬合的車輛跟馳建模
        基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
        基于殘差學(xué)習(xí)的自適應(yīng)無人機目標(biāo)跟蹤算法
        神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
        電子制作(2019年19期)2019-11-23 08:42:00
        基于遞歸殘差網(wǎng)絡(luò)的圖像超分辨率重建
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        基于神經(jīng)網(wǎng)絡(luò)的拉矯機控制模型建立
        重型機械(2016年1期)2016-03-01 03:42:04
        復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
        平穩(wěn)自相關(guān)過程的殘差累積和控制圖
        河南科技(2015年8期)2015-03-11 16:23:52
        日本va欧美va精品发布| 国内自拍视频在线观看h| 在线观看亚洲视频一区二区| 国产白浆一区二区三区性色| 日韩欧美人妻一区二区三区| 四虎影永久在线观看精品| 国产精品人成在线观看| 亚洲国产综合人成综合网站| 无码人妻一区二区三区免费视频 | 国产在线不卡免费播放| 中文字幕二区三区在线| 精品国产日韩一区2区3区| 久久99国产精一区二区三区| 国产视频导航| 黑人一区二区三区啪啪网站| 噜噜中文字幕一区二区| 日韩人妻一区二区三区蜜桃视频| 黑人玩弄人妻中文在线| 欧美性爱一区二区三区无a| 日本高清在线播放一区二区| 加勒比一本heyzo高清视频| 亚洲av无码精品色午夜蛋壳| 国产高潮流白浆免费观看不卡| 色婷婷一区二区三区四| 日日碰日日摸日日澡视频播放| 国产精品爽爽v在线观看无码| 色噜噜狠狠色综合成人网| 亚洲国产精品毛片av不卡在线| 无码熟妇人妻av在线影片| 欧美v日韩v亚洲综合国产高清| 免费黄网站永久地址进入| 日本精品一区二区三区福利视频| 狠狠色狠狠色综合| 特黄aa级毛片免费视频播放| 日本高清在线一区二区| 日韩精品人成在线播放| 亚洲av无码日韩精品影片| av无码电影一区二区三区| 亚洲视频在线免费不卡| 少妇下蹲露大唇无遮挡| 国产精品自产拍在线观看中文|