94頁(yè)論文綜述卷積神經(jīng)網(wǎng)絡(luò):從基礎(chǔ)技術(shù)到研究前景
更多內(nèi)容、請(qǐng)置頂或星標(biāo)
文末附下載論文方法??編譯:機(jī)器之心、Datawhale
卷積神經(jīng)網(wǎng)絡(luò)(CNN)在計(jì)算機(jī)視覺(jué)領(lǐng)域已經(jīng)取得了前所未有的巨大成功,但我們目前對(duì)其效果顯著的原因還沒(méi)有全面的理解。2018年3月,約克大學(xué)電氣工程與計(jì)算機(jī)科學(xué)系的 Isma Hadji 和 Richard P. Wildes 發(fā)表了論文《What Do We Understand About Convolutional Networks?》,對(duì)卷積網(wǎng)絡(luò)的技術(shù)基礎(chǔ)、組成模塊、現(xiàn)狀和研究前景進(jìn)行了梳理,介紹了我們當(dāng)前對(duì) CNN 的理解。本文對(duì)該論文進(jìn)行了摘要式的編譯,更詳細(xì)的信息請(qǐng)參閱原論文及其中索引的相關(guān)文獻(xiàn)。

1 引言
1.1動(dòng)機(jī)
過(guò)去幾年來(lái),計(jì)算機(jī)視覺(jué)研究主要集中在卷積神經(jīng)網(wǎng)絡(luò)(常簡(jiǎn)稱為 ConvNet 或 CNN)上。這些工作已經(jīng)在廣泛的分類和回歸任務(wù)上實(shí)現(xiàn)了新的當(dāng)前最佳表現(xiàn)。相對(duì)而言,盡管這些方法的歷史可以追溯到多年前,但對(duì)這些系統(tǒng)得到出色結(jié)果的方式的理論理解還很滯后。事實(shí)上,當(dāng)前計(jì)算機(jī)視覺(jué)領(lǐng)域的很多成果都是將 CNN 當(dāng)作黑箱使用,這種做法是有效的,但其有效的原因卻非常模糊不清,這嚴(yán)重滿足不了科學(xué)研究的要求。尤其是這兩個(gè)可以互補(bǔ)的問(wèn)題:(1)在被學(xué)習(xí)的方面(比如卷積核),究竟被學(xué)習(xí)的是什么?(2)在架構(gòu)設(shè)計(jì)方面(比如層的數(shù)量、核的數(shù)量、池化策略、非線性的選擇),為什么某些選擇優(yōu)于另一些選擇?這些問(wèn)題的答案不僅有利于提升我們對(duì) CNN 的科學(xué)理解,而且還能提升它們的實(shí)用性。
此外,目前實(shí)現(xiàn) CNN 的方法需要大量訓(xùn)練數(shù)據(jù),而且設(shè)計(jì)決策對(duì)結(jié)果表現(xiàn)有很大的影響。更深度的理論理解應(yīng)該能減輕對(duì)數(shù)據(jù)驅(qū)動(dòng)的設(shè)計(jì)的依賴。盡管已有實(shí)證研究調(diào)查了所實(shí)現(xiàn)的網(wǎng)絡(luò)的運(yùn)行方式,但到目前為止,這些結(jié)果很大程度上還局限在內(nèi)部處理過(guò)程的可視化上,目的是為了理解 CNN 中不同層中發(fā)生的情況。
1.2目標(biāo)
針對(duì)上述情況,本報(bào)告將概述研究者提出的最突出的使用多層卷積架構(gòu)的方法。要重點(diǎn)指出的是,本報(bào)告將通過(guò)概述不同的方法來(lái)討論典型卷積網(wǎng)絡(luò)的各種組件,并將介紹它們的設(shè)計(jì)決策所基于的生物學(xué)發(fā)現(xiàn)和/或合理的理論基礎(chǔ)。此外,本報(bào)告還將概述通過(guò)可視化和實(shí)證研究來(lái)理解 CNN 的不同嘗試。本報(bào)告的最終目標(biāo)是闡釋 CNN 架構(gòu)中涉及的每一個(gè)處理層的作用,匯集我們當(dāng)前對(duì) CNN 的理解以及說(shuō)明仍待解決的問(wèn)題。
1.3 報(bào)告提綱
本報(bào)告的結(jié)構(gòu)如下:本章給出了回顧我們對(duì)卷積網(wǎng)絡(luò)的理解的動(dòng)機(jī)。第 2 章將描述各種多層網(wǎng)絡(luò)并給出計(jì)算機(jī)視覺(jué)應(yīng)用中使用的最成功的架構(gòu)。第 3 章將更具體地關(guān)注典型卷積網(wǎng)絡(luò)的每種構(gòu)造模塊,并將從生物學(xué)和理論兩個(gè)角度討論不同組件的設(shè)計(jì)。最后,第 4 章將會(huì)討論 CNN 設(shè)計(jì)的當(dāng)前趨勢(shì)以及理解 CNN 的工作,并且還將重點(diǎn)說(shuō)明仍然存在的一些關(guān)鍵短板。
2 多層網(wǎng)絡(luò)
總的來(lái)說(shuō),本章將簡(jiǎn)要概述計(jì)算機(jī)視覺(jué)領(lǐng)域中所用的最突出的多層架構(gòu)。需要指出,盡管本章涵蓋了文獻(xiàn)中最重要的貢獻(xiàn),但卻不會(huì)對(duì)這些架構(gòu)進(jìn)行全面概述,因?yàn)槠渌胤揭呀?jīng)存在這樣的概述了(比如 [17, 56, 90])。相反,本章的目的是為本報(bào)告的剩余部分設(shè)定討論基礎(chǔ),以便我們?cè)敿?xì)展示和討論當(dāng)前對(duì)用于視覺(jué)信息處理的卷積網(wǎng)絡(luò)的理解。
2.1 多層架構(gòu)
在近來(lái)基于深度學(xué)習(xí)的網(wǎng)絡(luò)取得成功之前,最先進(jìn)的用于識(shí)別的計(jì)算機(jī)視覺(jué)系統(tǒng)依賴于兩個(gè)分離但又互補(bǔ)步驟。第一步是通過(guò)一組人工設(shè)計(jì)的操作(比如與基本集的卷積、局部或全局編碼方法)將輸入數(shù)據(jù)變換成合適的形式。對(duì)輸入的變換通常需要找到輸入數(shù)據(jù)的一種緊湊和/或抽象的表征,同時(shí)還要根據(jù)當(dāng)前任務(wù)注入一些不變量。這種變換的目標(biāo)是以一種更容易被分類器分離的方式改變數(shù)據(jù)。其次,被變換的數(shù)據(jù)通常用于訓(xùn)練某些類型的分類器(比如支持向量機(jī))來(lái)識(shí)別輸入信號(hào)的內(nèi)容。通常而言,任何分類器的表現(xiàn)都會(huì)受到所使用的變換方法的嚴(yán)重影響。
多層學(xué)習(xí)架構(gòu)為這一問(wèn)題帶來(lái)了不同的前景,這種架構(gòu)提出不僅要學(xué)習(xí)分類器,而且要從數(shù)據(jù)中直接學(xué)習(xí)所需的變換操作。這種形式的學(xué)習(xí)通常被稱為「表征學(xué)習(xí)」,當(dāng)應(yīng)用在深度多層架構(gòu)中時(shí)即被稱為「深度學(xué)習(xí)」。
多層架構(gòu)可以定義為允許從輸入數(shù)據(jù)的多層抽象中提取有用信息的計(jì)算模型。一般而言,多層架構(gòu)的設(shè)計(jì)目標(biāo)是在更高層凸顯輸入中的重要方面,同時(shí)能在遇到更不重要的變化時(shí)變得越來(lái)越穩(wěn)健。大多數(shù)多層架構(gòu)都是將帶有交替的線性和非線性函數(shù)的簡(jiǎn)單構(gòu)建模塊堆疊在一起。多年以來(lái),研究者已經(jīng)提出了很多不同類型的多層架構(gòu),本章將會(huì)覆蓋計(jì)算機(jī)視覺(jué)應(yīng)用中所采用的最為突出的此類架構(gòu)。人工神經(jīng)網(wǎng)絡(luò)是其中的關(guān)注重點(diǎn),因?yàn)檫@種架構(gòu)的表現(xiàn)非常突出。為了簡(jiǎn)單起見(jiàn),后面會(huì)直接將這類網(wǎng)絡(luò)稱為「神經(jīng)網(wǎng)絡(luò)」。
2.1.1 神經(jīng)網(wǎng)絡(luò)
典型的神經(jīng)網(wǎng)絡(luò)由一個(gè)輸入層、一個(gè)輸出層和多個(gè)隱藏層構(gòu)成,其中每一層都包含多個(gè)單元。

圖 2.1:典型神經(jīng)網(wǎng)絡(luò)架構(gòu)示意圖,圖來(lái)自 [17]
自動(dòng)編碼器可以定義為由兩個(gè)主要部分構(gòu)成的多層神經(jīng)網(wǎng)絡(luò)。第一個(gè)部分是編碼器,可以將輸入數(shù)據(jù)變換成特征向量;第二個(gè)部分是解碼器,可將生成的特征向量映射回輸入空間。

圖 2.2:典型自動(dòng)編碼器網(wǎng)絡(luò)的結(jié)構(gòu),圖來(lái)自 [17]
2.1.2 循環(huán)神經(jīng)網(wǎng)絡(luò)
當(dāng)談到依賴于序列輸入的任務(wù)時(shí),循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是最成功的多層架構(gòu)之一。RNN 可被視為一種特殊類型的神經(jīng)網(wǎng)絡(luò),其中每個(gè)隱藏單元的輸入時(shí)其當(dāng)前時(shí)間步驟觀察到的數(shù)據(jù)和其前一個(gè)時(shí)間步驟的狀態(tài)。

圖 2.3:標(biāo)準(zhǔn)循環(huán)神經(jīng)網(wǎng)絡(luò)的運(yùn)算的示意圖。每個(gè) RNN 單元的輸入都是當(dāng)前時(shí)間步驟的新輸入和前一個(gè)時(shí)間步驟的狀態(tài);然后根據(jù)
計(jì)算得到新輸出,這個(gè)輸出又可被饋送到多層 RNN 的下一層進(jìn)行處理。

圖 2.4:典型 LSTM 單元示意圖。該單元的輸入是當(dāng)前時(shí)間的輸入和前一時(shí)間的輸入,然后它會(huì)返回一個(gè)輸出并將其饋送給下一時(shí)間。LSTM 單元的最終輸出由輸入門(mén)、輸出門(mén)和記憶單元狀態(tài)控制。圖來(lái)自 [33]
2.1.3 卷積網(wǎng)絡(luò)
卷積網(wǎng)絡(luò)(CNN)是一類尤其適合計(jì)算機(jī)視覺(jué)應(yīng)用的神經(jīng)網(wǎng)絡(luò),因?yàn)樗鼈兡苁褂镁植坎僮鲗?duì)表征進(jìn)行分層抽象。有兩大關(guān)鍵的設(shè)計(jì)思想推動(dòng)了卷積架構(gòu)在計(jì)算機(jī)視覺(jué)領(lǐng)域的成功。第一,CNN 利用了圖像的 2D 結(jié)構(gòu),并且相鄰區(qū)域內(nèi)的像素通常是高度相關(guān)的。因此,CNN 就無(wú)需使用所有像素單元之間的一對(duì)一連接(大多數(shù)神經(jīng)網(wǎng)絡(luò)都會(huì)這么做),而可以使用分組的局部連接。第二,CNN 架構(gòu)依賴于特征共享,因此每個(gè)通道(即輸出特征圖)是在所有位置使用同一個(gè)過(guò)濾器進(jìn)行卷積而生成的。

圖 2.5:標(biāo)準(zhǔn)卷積網(wǎng)絡(luò)的結(jié)構(gòu)的示意圖,圖來(lái)自 [93]

圖 2.6:Neocognitron 的結(jié)構(gòu)示意圖,圖來(lái)自 [49]
2.1.4 生成對(duì)抗網(wǎng)絡(luò)
典型的生成對(duì)抗網(wǎng)絡(luò)(GAN)由兩個(gè)互相競(jìng)爭(zhēng)的模塊或子網(wǎng)絡(luò)構(gòu)成,即:生成器網(wǎng)絡(luò)和鑒別器網(wǎng)絡(luò)。

圖 2.7:生成對(duì)抗網(wǎng)絡(luò)的一般結(jié)構(gòu)的示意圖
2.1.5 多層網(wǎng)絡(luò)的訓(xùn)練
如前面討論的一樣,多種多層架構(gòu)的成功都很大程度上取決于它們的學(xué)習(xí)過(guò)程的成功。其訓(xùn)練過(guò)程通常都基于使用梯度下降的誤差的反向傳播。由于使用簡(jiǎn)單,梯度下降在訓(xùn)練多層架構(gòu)上有廣泛的應(yīng)用。
2.1.6 簡(jiǎn)單說(shuō)說(shuō)遷移學(xué)習(xí)
使用多層架構(gòu)提取的特征在多種不同數(shù)據(jù)集和任務(wù)上的適用性可以歸功于它們的分層性質(zhì),表征會(huì)在這樣的結(jié)構(gòu)中從簡(jiǎn)單和局部向抽象和全局發(fā)展。因此,在其層次結(jié)構(gòu)中的低層級(jí)提取的特征往往是多種不同任務(wù)共有的特征,因此使得多層結(jié)構(gòu)更容易實(shí)現(xiàn)遷移學(xué)習(xí)。
2.2 空間卷積網(wǎng)絡(luò)
理論上而言,卷積網(wǎng)絡(luò)可以應(yīng)用于任意維度的數(shù)據(jù)。它們的二維實(shí)例非常適用于單張圖像的結(jié)構(gòu),因此在計(jì)算機(jī)視覺(jué)領(lǐng)域得到了相當(dāng)大的關(guān)注。有了大規(guī)模數(shù)據(jù)集和強(qiáng)大的計(jì)算機(jī)來(lái)進(jìn)行訓(xùn)練之后,CNN 近來(lái)在多種不同任務(wù)上的應(yīng)用都出現(xiàn)了迅猛增長(zhǎng)。本節(jié)將介紹為原來(lái)的 LeNet 引入了相對(duì)新穎的組件的比較突出的 2D CNN 架構(gòu)。
2.2.1 CNN 近期發(fā)展中的關(guān)鍵架構(gòu)

圖 2.8:AlexNet 架構(gòu)。需要指出,雖然從圖上看這是一種有兩個(gè)流的架構(gòu),但實(shí)際上這是一種單流的架構(gòu),這張圖只是說(shuō)明 AlexNet 在 2 個(gè)不同 GPU 上并行訓(xùn)練的情況。圖來(lái)自 [88]

圖 2.9:GoogLeNet 架構(gòu)。(a)典型的 inception 模塊,展示了順序和并行執(zhí)行的操作。(b)由層疊的許多 inception 模塊構(gòu)成的典型 inception 架構(gòu)的示意圖。圖來(lái)自 [138]

圖 2.10:ResNet 架構(gòu)。(a)殘差模塊。(b)由層疊的許多殘差模塊構(gòu)成的典型 ResNet 架構(gòu)示意圖。圖來(lái)自 [64]

圖 2.11:DenseNet 架構(gòu)。(a)dense 模塊。(b)(b)由層疊的許多 dense 模塊構(gòu)成的典型 DenseNet 架構(gòu)的示意圖。圖來(lái)自 [72]
2.2.2 實(shí)現(xiàn) CNN 的不變性
使用 CNN 的一大難題是需要非常大的數(shù)據(jù)集來(lái)學(xué)習(xí)所有的基本參數(shù)。甚至擁有超過(guò) 100 萬(wàn)張圖像的 ImageNet 等大規(guī)模數(shù)據(jù)集在訓(xùn)練特定的深度架構(gòu)時(shí)仍然被認(rèn)為太小。滿足這種大數(shù)據(jù)集要求的一種方法是人工增強(qiáng)數(shù)據(jù)集,具體做法包括對(duì)圖像進(jìn)行隨機(jī)翻轉(zhuǎn)、旋轉(zhuǎn)和抖動(dòng)(jittering)等。這些增強(qiáng)方法的一大優(yōu)勢(shì)是能讓所得到的網(wǎng)絡(luò)在面對(duì)各種變換時(shí)能更好地保持不變。
2.2.3 實(shí)現(xiàn) CNN 的定位
除了識(shí)別物體等簡(jiǎn)單的分類任務(wù),CNN 近來(lái)也在需要精準(zhǔn)定位的任務(wù)上表現(xiàn)出色,比如形義分割和目標(biāo)檢測(cè)。
2.3 時(shí)空卷積網(wǎng)絡(luò)
使用 CNN 為各種基于圖像的應(yīng)用帶來(lái)了顯著的性能提升,也催生了研究者將 2D 空間 CNN 擴(kuò)展到視頻分析的 3D 時(shí)空 CNN 上的興趣。一般而言,文獻(xiàn)中提出的各種時(shí)空架構(gòu)都只是試圖將空間域 (x,y) 的 2D 架構(gòu)擴(kuò)展到時(shí)間域 (x, y, t) 中。在基于訓(xùn)練的時(shí)空 CNN 領(lǐng)域存在 3 種比較突出的不同架構(gòu)設(shè)計(jì)決策:基于 LSTM 的 CNN、3D CNN 和 Two-Stream CNN。
2.3.1 基于 LSTM 的時(shí)空 CNN
基于 LSTM 的時(shí)空 CNN 是將 2D 網(wǎng)絡(luò)擴(kuò)展成能處理時(shí)空數(shù)據(jù)的一些早期嘗試。它們的操作可以總結(jié)成圖 2.16 所示的三個(gè)步驟。第一步,使用一個(gè) 2D 網(wǎng)絡(luò)處理每一幀,并從這些 2D 網(wǎng)絡(luò)的最后一層提取出特征向量。第二步,將這些來(lái)自不同時(shí)間步驟的特征用作 LSTM 的輸入,得到時(shí)間上的結(jié)果。第三步,再對(duì)這些結(jié)果求平均或線性組合,然后再傳遞給一個(gè) softmax 分類器以得到最終預(yù)測(cè)。
2.3.2 3D CNN
這種突出的時(shí)空網(wǎng)絡(luò)是將 2D CNN 最直接地泛化到圖像時(shí)空域中。它直接處理 RGB 圖像的時(shí)間流,并通過(guò)應(yīng)用所學(xué)習(xí)到的 3D 卷積過(guò)濾器來(lái)處理這些圖像。
2.3.3 Two-Stream CNN
這種類型的時(shí)空架構(gòu)依賴于一種雙流式(two-stream)的設(shè)計(jì)。標(biāo)準(zhǔn)的雙流式架構(gòu)是采用兩個(gè)并行通路——一個(gè)用于處理外觀,另一個(gè)用于處理運(yùn)動(dòng);這種方法類似于生物視覺(jué)系統(tǒng)研究中的雙流式假設(shè)。
2.4 整體討論
需要重點(diǎn)指出的是,盡管這些網(wǎng)絡(luò)在很多計(jì)算機(jī)視覺(jué)應(yīng)用上都實(shí)現(xiàn)了很有競(jìng)爭(zhēng)力的結(jié)果,但它們的主要缺點(diǎn)仍然存在:對(duì)所學(xué)習(xí)到的表征的確切本質(zhì)的理解很有限、依賴于大規(guī)模數(shù)據(jù)訓(xùn)練集、缺乏支持準(zhǔn)確的表現(xiàn)邊界的能力、網(wǎng)絡(luò)超參數(shù)選擇不清晰。
3 理解 CNN 的構(gòu)建模塊
鑒于 CNN 領(lǐng)域存在大量懸而未決的問(wèn)題,本章將介紹典型卷積網(wǎng)絡(luò)中每種處理層的作用和意義。為此本章將概述在解決這些問(wèn)題上最突出的工作。尤其值得一提的是,我們將從理論和生物學(xué)兩個(gè)角度來(lái)展示 CNN 組件的建模方式。每種組件的介紹后面都總結(jié)了我們當(dāng)前的理解水平。
3.1 卷積層
卷積層可以說(shuō)是 CNN 架構(gòu)中最重要的步驟之一?;径?,卷積是一種線性的、平移不變性的運(yùn)算,其由在輸入信號(hào)上執(zhí)行局部加權(quán)的組合構(gòu)成。根據(jù)所選擇的權(quán)重集合(即所選擇的點(diǎn)擴(kuò)散函數(shù)(point spread function))的不同,也將揭示出輸入信號(hào)的不同性質(zhì)。在頻率域中,與點(diǎn)擴(kuò)散函數(shù)關(guān)聯(lián)的是調(diào)制函數(shù)——說(shuō)明了輸入的頻率組分通過(guò)縮放和相移進(jìn)行調(diào)制的方式。因此,選擇合適的核(kernel)對(duì)獲取輸入信號(hào)中所包含的最顯著和最重要的信息而言至關(guān)重要,這能讓模型對(duì)該信號(hào)的內(nèi)容做出更好的推斷。本節(jié)將討論一些實(shí)現(xiàn)這個(gè)核選擇步驟的不同方法。
3.2 整流
多層網(wǎng)絡(luò)通常是高度非線性的,而整流(rectification)則通常是將非線性引入模型的第一個(gè)處理階段。整流是指將點(diǎn)方面的非線性(也被稱為激活函數(shù))應(yīng)用到卷積層的輸出上。這一術(shù)語(yǔ)借用自信號(hào)處理領(lǐng)域,其中整流是指將交流變成直流。這也是一個(gè)能從生物學(xué)和理論兩方面都找到起因的處理步驟。計(jì)算神經(jīng)科學(xué)家引入整流步驟的目的是尋找能最好地解釋當(dāng)前神經(jīng)科學(xué)數(shù)據(jù)的合適模型。另一方面,機(jī)器學(xué)習(xí)研究者使用整流的目的是為了讓模型能更快和更好地學(xué)習(xí)。有趣的是,這兩個(gè)方面的研究者往往都認(rèn)同這一點(diǎn):他們不僅需要整流,而且還會(huì)殊途同歸到同一種整流上。

圖 3.7:多層網(wǎng)絡(luò)的文獻(xiàn)中所使用的非線性整流函數(shù)
3.3 歸一化
正如前面提到的,由于這些網(wǎng)絡(luò)中存在級(jí)聯(lián)的非線性運(yùn)算,所以多層架構(gòu)是高度非線性的。除了前一節(jié)討論的整流非線性,歸一化(normalization)是 CNN 架構(gòu)中有重要作用的又一種非線性處理模塊。CNN 中最廣泛使用的歸一化形式是所謂的 Divisive Normalization(DN,也被稱為局部響應(yīng)歸一化)。本節(jié)將介紹歸一化的作用并描述其糾正前兩個(gè)處理模塊(卷積和整流)的缺點(diǎn)的方式。同樣,我們會(huì)從生物學(xué)和理論兩個(gè)方面討論歸一化。
3.4 池化
不管是生物學(xué)啟發(fā)的,還是純粹基于學(xué)習(xí)的或完全人工設(shè)計(jì)的,幾乎所有 CNN 模型都包含池化步驟。池化運(yùn)算的目標(biāo)是為位置和尺寸的改變帶來(lái)一定程度的不變性以及在特征圖內(nèi)部和跨特征圖聚合響應(yīng)。與之前幾節(jié)討論的三種 CNN 模塊類似,池化在生物學(xué)和理論研究上都具有支持。在 CNN 網(wǎng)絡(luò)的這個(gè)處理層上,主要的爭(zhēng)論點(diǎn)是池化函數(shù)的選擇。使用最廣泛的兩種池化函數(shù)分別是平均池化和最大池化。本節(jié)將探索相關(guān)文獻(xiàn)中描述的各種池化函數(shù)的優(yōu)點(diǎn)和缺點(diǎn)。

圖 3.10:平均池化和最大池化在 Gabor 濾波后的圖像上的比較。(a)展示了不同尺度的平均池化的效果,其中(a)中上面一行是應(yīng)用于原始灰度值圖像的結(jié)果,(a)中下面一行是應(yīng)用于 Gabor 濾波后的圖像上的結(jié)果。平均池化能得到灰度值圖像的更平滑的版本,而稀疏的 Gabor 濾波后的圖像則會(huì)褪色消散。相對(duì)而言,(b)給出了不同尺度的最大池化的效果,其中(b)中上面一行是應(yīng)用于原始灰度值圖像的結(jié)果,(b)中下面一行是應(yīng)用于 Gabor 濾波后的圖像上的結(jié)果。這里可以看到,最大池化會(huì)導(dǎo)致灰度值圖像質(zhì)量下降,而 Gabor 濾波后的圖像中的稀疏邊則會(huì)得到增強(qiáng)。圖來(lái)自 [131]
4 當(dāng)前狀態(tài)
對(duì) CNN 架構(gòu)中各種組件的作用的論述凸顯了卷積模塊的重要性,這個(gè)模塊很大程度上負(fù)責(zé)了在網(wǎng)絡(luò)中獲取最抽象的信息。相對(duì)而言,我們對(duì)這個(gè)處理模塊的理解卻最少,因?yàn)檫@需要最繁重的計(jì)算。本章將介紹在嘗試?yán)斫獠煌?CNN 層所學(xué)習(xí)的內(nèi)容上的當(dāng)前趨勢(shì)。同時(shí),我們還將重點(diǎn)說(shuō)明這些趨勢(shì)方面仍有待解決的問(wèn)題。
4.1 當(dāng)前趨勢(shì)
盡管各種 CNN 模型仍繼續(xù)在多種計(jì)算機(jī)視覺(jué)應(yīng)用中進(jìn)一步推進(jìn)當(dāng)前最佳的表現(xiàn),但在理解這些系統(tǒng)的工作方式和如此有效的原因上的進(jìn)展仍還有限。這個(gè)問(wèn)題已經(jīng)引起了很多研究者的興趣,為此也涌現(xiàn)出了很多用于理解 CNN 的方法。一般而言,這些方法可以分成三個(gè)方向:對(duì)所學(xué)習(xí)到的過(guò)濾器和提取出的特征圖進(jìn)行可視化、受理解視覺(jué)皮層的生物學(xué)方法啟發(fā)的 ablation study、通過(guò)向網(wǎng)絡(luò)設(shè)計(jì)中引入分析原理來(lái)最小化學(xué)習(xí)過(guò)程。本節(jié)將簡(jiǎn)要概述其中每種方法。
4.2 仍待解決的問(wèn)題
基于上述討論,基于可視化的方法存在以下關(guān)鍵研究方向:
首要的一點(diǎn):開(kāi)發(fā)使可視化評(píng)估更為客觀的方法是非常重要的,可以通過(guò)引入評(píng)估所生成的可視化圖像的質(zhì)量和/或含義的指標(biāo)來(lái)實(shí)現(xiàn)。
另外,盡管看起來(lái)以網(wǎng)絡(luò)為中心的可視化方法更有前景(因?yàn)樗鼈冊(cè)谏煽梢暬Y(jié)果上不依賴網(wǎng)絡(luò)自身),但似乎也有必要標(biāo)準(zhǔn)化它們的評(píng)估流程。一種可能的解決方案是使用一個(gè)基準(zhǔn)來(lái)為同樣條件下訓(xùn)練的網(wǎng)絡(luò)生成可視化結(jié)果。這樣的標(biāo)準(zhǔn)化方法反過(guò)來(lái)也能實(shí)現(xiàn)基于指標(biāo)的評(píng)估,而不是當(dāng)前的解釋性的分析。
另一個(gè)發(fā)展方向是同時(shí)可視化多個(gè)單元以更好地理解處于研究中的表征的分布式方面,甚至同時(shí)還能遵循一種受控式方法。
以下是基于 ablation study 的方法的潛在研究方向:
使用共同的系統(tǒng)性組織的數(shù)據(jù)集,其中帶有計(jì)算機(jī)視覺(jué)領(lǐng)域常見(jiàn)的不同難題(比如視角和光照變化),并且還必需有復(fù)雜度更大的類別(比如紋理、部件和目標(biāo)上的復(fù)雜度)。事實(shí)上,近期已經(jīng)出現(xiàn)了這樣的數(shù)據(jù)集 [6]。在這樣的數(shù)據(jù)集上使用 ablation study,加上對(duì)所得到的混淆矩陣的分析,可以確定 CNN 架構(gòu)出錯(cuò)的模式,進(jìn)而實(shí)現(xiàn)更好的理解。
此外,對(duì)多個(gè)協(xié)同的 ablation 對(duì)模型表現(xiàn)的影響方式的系統(tǒng)性研究是很受關(guān)注的。這樣的研究應(yīng)該能延伸我們對(duì)獨(dú)立單元的工作方式的理解。
最后,這些受控方法是很有前景的未來(lái)研究方向;因?yàn)橄啾扔谕耆趯W(xué)習(xí)的方法,這些方法能讓我們對(duì)這些系統(tǒng)的運(yùn)算和表征有更深入的理解。這些有趣的研究方向包括:
逐步固定網(wǎng)絡(luò)參數(shù)和分析對(duì)網(wǎng)絡(luò)行為的影響。比如,一次固定一層的卷積核參數(shù)(基于當(dāng)前已有的對(duì)該任務(wù)的先驗(yàn)知識(shí)),以分析所采用的核在每一層的適用性。這個(gè)漸進(jìn)式的方法有望揭示學(xué)習(xí)的作用,而且也可用作最小化訓(xùn)練時(shí)間的初始化方法。
類似地,可以通過(guò)分析輸入信號(hào)的性質(zhì)(比如信號(hào)中的常見(jiàn)內(nèi)容)來(lái)研究網(wǎng)絡(luò)架構(gòu)本身的設(shè)計(jì)(比如層的數(shù)量或每層中過(guò)濾器的數(shù)量)。這種方法有助于讓架構(gòu)達(dá)到適宜應(yīng)用的復(fù)雜度。
最后,將受控方法用在網(wǎng)絡(luò)實(shí)現(xiàn)上的同時(shí)可以對(duì) CNN 的其它方面的作用進(jìn)行系統(tǒng)性的研究,由于人們重點(diǎn)關(guān)注的所學(xué)習(xí)的參數(shù),所以這方面得到的關(guān)注較少。比如,可以在大多數(shù)所學(xué)習(xí)的參數(shù)固定時(shí),研究各種池化策略和殘差連接的作用。
推薦:
開(kāi)源庫(kù)
Python 開(kāi)發(fā)者必知的 11 個(gè) Python GUI 庫(kù)
10款 Web開(kāi)發(fā)最佳的 Python 框架
推薦 GitHub 上100天學(xué)習(xí) Python的開(kāi)源項(xiàng)目
Python繪圖還在用Matplotlib?out了 !發(fā)現(xiàn)一款手繪可視化神器!
學(xué)習(xí)路線
工具
Python 最強(qiáng) IDE 詳細(xì)使用指南!
一款 Python 自動(dòng)搶票神器,收藏起來(lái)回家不愁!
實(shí)踐和數(shù)據(jù)分析
Python 開(kāi)發(fā)植物大戰(zhàn)僵尸游戲
一鍵分析你上網(wǎng)行為,看你是在認(rèn)真工作還是摸魚(yú)
10個(gè)經(jīng)典的小技巧:快速用 Python 進(jìn)行數(shù)據(jù)分析
爬蟲(chóng)
我給曾經(jīng)暗戀的初中女同學(xué),用Python實(shí)現(xiàn)了她飛機(jī)上刷抖音
為了能早點(diǎn)買房,我用 Python 預(yù)測(cè)房?jī)r(jià)走勢(shì)!
被女朋友三番五次拉黑后,我用 Python 寫(xiě)了個(gè)“舔狗”必備神器
誰(shuí)偷偷刪了你的微信?別慌!Python 揪出來(lái)為了給女友挑合適的內(nèi)衣,我用 ?Python 爬了天貓內(nèi)衣店的數(shù)據(jù)Python爬完數(shù)據(jù)后,我終于買車不用坐引擎蓋哭啦
—?END?—
想要了解更多資訊
點(diǎn)這里??關(guān)注我,記得標(biāo)星呀~
想要了解更多資訊,請(qǐng)掃描上方二維碼,關(guān)注j計(jì)算機(jī)人工智能方向的研究
