使用內(nèi)核大小為3,步長(zhǎng)為1和填充的2D卷積
一般卷積
首先,我們需要就定義卷積層的一些參數(shù)達(dá)成一致。
卷積核大小(KernelSize):卷積核定義了卷積的大小范圍,二維卷積核最常見的就是3*3的卷積核。
步長(zhǎng)(Stride):步長(zhǎng)定義了當(dāng)卷積核在圖像上面進(jìn)行卷積操作的時(shí)候,每次卷積跨越的長(zhǎng)度。在默認(rèn)情況下,步長(zhǎng)通常為1,但我們也可以采用步長(zhǎng)是2的下采樣過程,類似于MaxPooling操作。
填充(Padding):卷積層采用一定數(shù)量的輸入通道(I),并且設(shè)計(jì)特定數(shù)量的輸出通道(O)。每一層所需的參數(shù)可以通過I*O*K來進(jìn)行計(jì)算,其中K等于卷積核的數(shù)量。
輸入和輸出管道(Input&OutputChannels):卷積層采用一定數(shù)量的輸入通道
擴(kuò)張的卷積
使用3內(nèi)核進(jìn)行2D卷積,擴(kuò)展率為2且無填充
擴(kuò)張的卷積為卷積層引入另一個(gè)參數(shù),稱為擴(kuò)張率。這定義了卷積核中值之間的間距。擴(kuò)張率為2的3x3內(nèi)核與5x5內(nèi)核具有相同的視野,而僅使用9個(gè)參數(shù)。想象一下,獲取一個(gè)5x5內(nèi)核并刪除每一個(gè)第二列和第二行(間隔刪除),就是我們介紹的卷積。
這以相同的計(jì)算成本提供了更寬的視野。擴(kuò)張卷積在實(shí)時(shí)分割領(lǐng)域中特別受歡迎。如果您需要廣泛的視野并且無法承受多個(gè)卷積或更大的核,請(qǐng)使用它們。
轉(zhuǎn)置卷積
(又稱解卷積或分?jǐn)?shù)跨度卷積)
有些消息來源使用名稱deconvolution,這是不合適的,因?yàn)樗皇墙饩矸e。為了使事情更糟,確實(shí)存在解卷積,但它們?cè)?a target="_blank">深度學(xué)習(xí)領(lǐng)域并不常見。實(shí)際的反卷積會(huì)使卷積過程恢復(fù)。想象一下,將圖像輸入到單個(gè)卷積層中。現(xiàn)在取出輸出,將它扔進(jìn)一個(gè)黑盒子里然后再出現(xiàn)原始圖像。這個(gè)黑盒子進(jìn)行反卷積。它是卷積層的數(shù)學(xué)逆。
轉(zhuǎn)置卷積有點(diǎn)類似,因?yàn)樗a(chǎn)生與假設(shè)的反卷積層相同的空間分辨率。但是,對(duì)值執(zhí)行的實(shí)際數(shù)學(xué)運(yùn)算是不同的。轉(zhuǎn)置卷積層執(zhí)行常規(guī)卷積,但恢復(fù)其空間變換。
2D卷積,沒有填充,步幅為2,內(nèi)核為3
此時(shí)你應(yīng)該很困惑,讓我們看一個(gè)具體的例子。將5×5的圖像送入卷積層。步幅設(shè)置為2,填充停用,內(nèi)核為3x3。這導(dǎo)致2x2圖像。
如果我們想要反轉(zhuǎn)這個(gè)過程,我們需要逆數(shù)學(xué)運(yùn)算,以便從我們輸入的每個(gè)像素生成9個(gè)值。然后,我們以2的步幅遍歷輸出圖像。這將是反卷積。
轉(zhuǎn)換2D卷積,沒有填充,步幅為2,內(nèi)核為3
轉(zhuǎn)置卷積不會(huì)這樣做。唯一的共同點(diǎn)是它保證輸出也是5x5圖像,同時(shí)仍然執(zhí)行正常的卷積操作。為此,我們需要在輸入上執(zhí)行一些花哨的填充。
正如您現(xiàn)在可以想象的那樣,此步驟不會(huì)從上面顛倒過程。至少不涉及數(shù)值。
它只是從之前重建空間分辨率并執(zhí)行卷積。這可能不是數(shù)學(xué)逆,但對(duì)于編碼器-解碼器架構(gòu),它仍然非常有用。這樣我們就可以將圖像的升級(jí)與卷積相結(jié)合,而不是進(jìn)行兩個(gè)單獨(dú)的處理。
可分離的卷積
在可分離的卷積中,我們可以將內(nèi)核操作分成多個(gè)步驟。讓我們將卷積表示為y=conv(x,k),其中y是輸出圖像,x是輸入圖像,k是核。簡(jiǎn)單。接下來,假設(shè)k可以通過以下公式計(jì)算:k=k1.dot(k2)。這將使它成為可分離的卷積,因?yàn)槲覀兛梢酝ㄟ^用k1和k2進(jìn)行2個(gè)1D卷積來得到相同的結(jié)果,而不是用k進(jìn)行2D卷積。
Sobel X和Y濾鏡
以Sobel內(nèi)核為例,它通常用于圖像處理。你可以通過乘以向量[1,0,-1]和[1,2,1].T得到相同的內(nèi)核。在執(zhí)行相同操作時(shí),這將需要6個(gè)而不是9個(gè)參數(shù)。上面的例子顯示了所謂的空間可分卷積,據(jù)我所知,它不用于深度學(xué)習(xí)。
編輯:實(shí)際上,通過堆疊1xN和Nx1內(nèi)核層,可以創(chuàng)建與空間可分離卷積非常相似的東西。這最近在一個(gè)名為EffNet的架構(gòu)中使用,顯示了有希望的結(jié)果。
在神經(jīng)網(wǎng)絡(luò)中,我們通常使用稱為深度可分離卷積的東西。這將執(zhí)行空間卷積,同時(shí)保持通道分離,然后進(jìn)行深度卷積。在我看來,通過一個(gè)例子可以最好地理解它。
假設(shè)我們?cè)?6個(gè)輸入通道和32個(gè)輸出通道上有一個(gè)3x3卷積層。詳細(xì)情況是,32個(gè)3x3核遍歷16個(gè)通道中的每個(gè)通道,產(chǎn)生512(16x32)個(gè)特征映射。接下來,我們通過添加它們來合并每個(gè)輸入通道中的1個(gè)特征圖。由于我們可以做32次,我們得到了我們想要的32個(gè)輸出通道。
對(duì)于同一示例中的深度可分離卷積,我們遍歷16個(gè)通道,每個(gè)通道有1個(gè)3x3內(nèi)核,為我們提供了16個(gè)特征映射。現(xiàn)在,在合并任何東西之前,我們遍歷這16個(gè)特征映射,每個(gè)特征映射有32個(gè)1x1卷積,然后才開始將它們加在一起。這導(dǎo)致656(16x3x3+16x32x1x1)參數(shù)與上面的4608(16x32x3x3)參數(shù)相反。
該示例是深度可分離卷積的特定實(shí)現(xiàn),其中所謂的深度乘數(shù)為1.這是迄今為止這種層的最常見設(shè)置。我們這樣做是因?yàn)榭臻g和深度信息可以解耦的假設(shè)。看一下Xception模型的表現(xiàn),這個(gè)理論似乎有效。由于其有效使用參數(shù),深度可分離卷積也用于移動(dòng)設(shè)備。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4777瀏覽量
100955 -
圖像
+關(guān)注
關(guān)注
2文章
1088瀏覽量
40515 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5510瀏覽量
121340
原文標(biāo)題:卷積神經(jīng)網(wǎng)絡(luò)四種卷積類型
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論