【卷積神經(jīng)網(wǎng)絡(luò)】為什么卷積哪兒都能用?

視頻內(nèi)容講述的很好,利用數(shù)字圖像處理的過程形象描述了卷積是怎么運(yùn)作的,非常容易理解。
不過,可能有人還是無法理解卷積在卷積神經(jīng)網(wǎng)絡(luò)中是怎么“卷”的,作為數(shù)字圖像處理兼機(jī)器學(xué)習(xí)的小白,我來說說我對(duì)卷積神經(jīng)網(wǎng)絡(luò)的理解。(為了看懂以下內(nèi)容,建議預(yù)習(xí)一下全連接神經(jīng)網(wǎng)絡(luò)的原理)
首先就以目前使用的最廣泛的圖像分類模型vgg16為例子。

可能看到圖片上面一堆五顏六色的方塊和一堆數(shù)字,看著就是一頭霧水。
其實(shí)并不難理解,每一個(gè)方塊代表卷積神經(jīng)網(wǎng)絡(luò)的1層,其中黑色方塊是卷積層,紅色方塊是池化層,藍(lán)色方塊是全連接層(即全連接神經(jīng)網(wǎng)絡(luò)的部分),棕色部分嚴(yán)格來說不是一個(gè)層次,只是在最后添加了softmax激活函數(shù)用來規(guī)格化分類輸出。
那旁邊的數(shù)字是什么呢?類比輸入的224x224x3的圖像,每一個(gè)層次,其實(shí)都可以抽象為一組特征圖。就比如輸入圖像是由3張224x224的特征圖構(gòu)成(分別是圖片的RGB部分),最先出現(xiàn)的兩個(gè)卷積層224x224x64,相當(dāng)于這兩層分別儲(chǔ)存了64張224x224的特征圖。第一次池化后,兩層卷積層112x112x128,相當(dāng)于這兩層分別儲(chǔ)存了128張112x112的特征圖,以此類推。哪怕是全連接層,也可以抽象成4096張1x1的特征圖。實(shí)際上,全連接層在工程實(shí)現(xiàn)上就是1x1卷積。
然后最難理解的地方來了,輸入的3張224x224的特征圖,進(jìn)入卷積層是怎么變成64張224x224的特征圖的?其實(shí)和我們想象的卷積操作略有區(qū)別,卷積核是3維的,并且卷積核不止一個(gè)。

(拿我答辯時(shí)的PPT偷懶,LOL)
在上圖中,卷積核的尺寸是3x3x3,多出來的維度正好對(duì)應(yīng)輸入圖像的RGB三個(gè)通道。但這個(gè)卷積核,在行為上還是2維卷積。
可以這樣簡(jiǎn)單的理解,使用3個(gè)卷積核分別對(duì)原圖的RGB通道卷積,得到三張圖,然后將這三張圖加起來,就得到了1張224x224的特征圖。如果需要得到64張?zhí)卣鲌D,那就用64個(gè)3x3x3卷積核卷積,就得到了64x224x224的卷積層。
在卷積神經(jīng)網(wǎng)絡(luò)中,卷積核的大小是怎么決定的呢?卷積核的寬度,高度由模型設(shè)計(jì)者自行決定,在vgg16中使用的均為3x3卷積核。而卷積核的層數(shù)必須與輸入的特征圖個(gè)數(shù)匹配。還是以vgg16的第二個(gè)64x224x224的卷積層為例子,輸入為第一個(gè)64x224x224的卷積層,則需要使用64個(gè)3x3x64的卷積核與第一層卷積得到第二層。
把卷積層搞懂了,池化就非常簡(jiǎn)單了。用人話來說就是把特征圖的尺寸縮小了,就跟你在PS里調(diào)整圖像大小是一個(gè)道理。通過池化,可以將之前卷積學(xué)到的特征整合并簡(jiǎn)化,以供后續(xù)的層次繼續(xù)提取更宏觀的特征,并過渡到全連接層。
卷積神經(jīng)網(wǎng)絡(luò)有很多優(yōu)點(diǎn),但其最偉大之處就是能大幅度減少參數(shù)數(shù)量,使得訓(xùn)練大型模型成為可能。其中,卷積核代替全連接構(gòu)成了前后特征聯(lián)系的橋梁。還是以vgg16的第一個(gè)224x224x64為例子,如果是全連接的,則參數(shù)個(gè)數(shù)是m*n,即224*224*3*224*224*64 = 4.83×1011,而使用3x3卷積核代替全連接,只需要訓(xùn)練卷積核上的參數(shù),參數(shù)個(gè)數(shù)僅有3x3x3x64=1728個(gè),也能起到將特征A映射到特征B的作用。你可以嘗試計(jì)算一下,vgg16雖然做了13次卷積映射,但參數(shù)量?jī)H有1.47×10?個(gè),還沒達(dá)到最后3次全連接的參數(shù)量1.23×10?的零頭。如果全換成全連接層,則參數(shù)數(shù)量會(huì)達(dá)到1.83×1013!需要使用66TB的空間存儲(chǔ)參數(shù)!而VGG16這種能分1000多個(gè)類別的分類模型,僅僅需要500M左右的空間。所以卷積神經(jīng)網(wǎng)絡(luò),可以說是人工智能領(lǐng)域最偉大的發(fā)明,沒有之一。