參考鏈接:
第一個鏈接:
https://towardsdatascience.com/types-of-convolutions-in-deep-learning-717013397f4d
第二個鏈接:
https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1
其他不錯的幫助理解的鏈接:(算是第二個鏈接的中文版)
https://www.yanxishe.com/blogDetail/10032
下面以2維卷積為例。
一算行、卷積定義相關(guān)參數(shù)
- 核的大斜霞觥(kernel size): 卷積的可視域(the field of view of the convolution)2D卷積核的大小通常為3:即3*3像素
- 步長(stride): 核在遍歷圖片時的步長。默認值通常為1振湾。在降采樣或者最大池化(maxpooling)時候,步長可以取為2千贯。
- 填充(padding):填充是對樣本進行邊界填充孕似。有填充的卷積會保持輸出和出入的維度一致竞思。無填充的核大于1的卷積會切掉一些邊界表谊。
- 輸入和出入通道(Input & Output Channels):一個卷積層需要有特定數(shù)目的輸入通道(I)并且計算產(chǎn)出特定數(shù)目的輸出通道(O)。對于這樣的層盖喷,所需參數(shù)的數(shù)目為 IOK爆办。K為核內(nèi)包含的值的數(shù)目。
2維卷積: kernel size = 3, stride = 1 , padding
這個圖可以這么理解课梳,藍色部分為原圖距辆,綠色部分為結(jié)果,白色虛線部分為padding暮刃。經(jīng)過padding跨算,藍色部分和綠色部分的size保持了一致
二、 卷積的常見類型
1. 膨脹卷積(Dilated Convolutions)
膨脹卷積引入了膨脹率(dilation rate)椭懊。膨脹率是核中每個值之間的距離诸蚕。一個膨脹率為2的33的核與一個55的核有相同的視野,唯一的區(qū)別就是3*3的核只有9個參數(shù)氧猬。
膨脹卷積的好處是在相同的計算成本下背犯,提供了更寬的可視域。膨脹卷積在實時分割領(lǐng)域非常流行盅抚。當你需要比較寬闊的可視域(field of view)同時又沒有多卷積或者更大核的條件時漠魏,可以采用膨脹卷積。
藍色部分是原圖泉哈,綠色部分是卷積結(jié)果蛉幸。
卷積結(jié)果要比原圖小
2. 轉(zhuǎn)置卷積(Transposed Convolutions)
有的文章把它稱為解卷積(deconvolutions),這并不合適因為它并不是解卷積丛晦。
舉個例子奕纫,一個卷積層的輸入是55的一張圖,步長為2烫沙,沒有padding匹层,kernel的尺寸是33。最終我們會得到2*2的一張圖锌蓄,如下圖所示:
如果我們需要把這個過程倒過來升筏,我們需要逆向的數(shù)學操作,即對每一個輸入像素瘸爽,我們都需要產(chǎn)生一個3*3的矩陣您访。再之后,我們用步長為2穿過整個輸出圖片剪决。但是這個過程稱為解卷積(deconvolution)
轉(zhuǎn)置卷積并不是這么做的灵汪。轉(zhuǎn)置卷積和解卷積的相同點是檀训,輸出圖片的尺寸都是5*5,但是他用了一個正常的卷積操作來達到目的享言。我們需要對輸入進行一些技巧性的padding峻凫,再旋轉(zhuǎn)卷積核,再進行正向卷積览露。
參考鏈接
對稱padding和不對稱padding下的轉(zhuǎn)置卷積:
情況1:
情況2:
3. 可分割卷積(Separable Convolutions)
暫時用不到
三荧琼、多通道卷積
多通道的例子:
- RGB三通道圖像
- 卷積神經(jīng)網(wǎng)絡(luò)中的層,每一層由多個通道組成差牛,每一個通道描述前一層的不同方面命锄。
問題:如何實現(xiàn)不同深度的層之間的過渡?如何將深度為N的層轉(zhuǎn)化為深度為M的層多糠?
名詞理解:
層(layer)累舷,過濾器(filter):同一層級
通道(channel),卷積核(kernel):下個層級
特征映射(feature map)夹孔,通道(channel):同一個概念。一層可以有多個通道/特征映射析孽。
通道用來形容層的架構(gòu)搭伤,卷積核用來形容過濾器的架構(gòu)。
卷積核和過濾器常惩嗨玻可以交替使用怜俐,但是還是有一些細微差別:卷積核是指由權(quán)重組成的二維數(shù)組,過濾器是由多個卷積核堆疊形成為3維架構(gòu)邓尤,每個卷積核都是獨一無二的拍鲤,強調(diào)了輸入通道的不同方面。下圖展示了兩者的區(qū)別:
過濾器是卷積核的集合
注意:在一個卷積層中的每一個過濾器產(chǎn)生且僅產(chǎn)生一個通道汞扎。
如下圖季稳,輸入層有3個通道,過濾器的每一個核掃過他們對應(yīng)的輸入通道澈魄,得到了對應(yīng)的執(zhí)行卷積后的3個通道景鼠。
之后這3個通道通過元素級別的加法合并在了一起變成了單通道。
以上是權(quán)重(weights)進行卷積的結(jié)果痹扇。下面我們來看偏差(bias)如何進行卷積铛漓。每一個output filter 有一個偏差(bias)項。偏差加在輸出通道上形成最終的輸出鲫构。
同樣浓恶,我們可以將這個過程視為一個3D過濾器滑動通過輸入層。這個3D過濾器的深度和輸入層的深度是相同的(通道數(shù)=卷積核數(shù))结笨。但是這個3D過濾器僅沿著兩個方向移動包晰。在每一個滑過的位置湿镀,都執(zhí)行元素級別的加法和乘法,最終得出一個數(shù)值杜窄。
示意圖.png
總結(jié):如何在不同深度的層之間實現(xiàn)過渡肠骆?
假設(shè)輸入層有Din個通道,輸出層的通道數(shù)量目標為Dout塞耕。我們需要將Dout個過濾器應(yīng)用到輸入層中蚀腿,每個過濾器都有Din個卷積核,提供1個輸出通道扫外。在應(yīng)用了Dout個過濾器后莉钙,Dout個通道可以共同組成一個輸出層。
示意圖.png
四筛谚、1*1卷積
暫時用不到及老,不深入探究
[圖片上傳失敗...(image-ee895d-1595472486778)]