卷積神經網路四種卷積型別
卷積神經網路四種卷積型別
https://blog.csdn.net/weixin_42137700/article/details/85043644
一般卷積
首先,我們需要就定義卷積層的一些引數達成一致。
卷積核大小(Kernel Size) :卷積核定義了卷積的大小範圍,二維卷積核最常見的就是 3*3 的卷積核。
步長(Stride) :步長定義了當卷積核在影像上面進行卷積操作的時候,每次卷積跨越的長度。在預設情況下,步長通常為 1,但我們也可以採用步長是 2 的下采樣過程,類似於 MaxPooling 操作。
填充(Padding) :卷積層採用一定數量的輸入通道(I),並且設計特定數量的輸出通道(O)。每一層所需的引數可以通過 I*O*K 來進行計算,其中 K 等於卷積核的數量。
輸入和輸出管道 (Input & Output Channels):卷積層採用一定數量的輸入通道
使用核心大小為3,步長為1和填充的2D卷積
擴張的卷積
使用3核心進行2D卷積,擴充套件率為2且無填充
擴張的卷積為卷積層引入另一個引數,稱為 擴張率 。這定義了卷積核中值之間的間距。擴張率為2的3x3核心與5x5核心具有相同的視野,而僅使用9個引數。想象一下,獲取一個5x5核心並刪除每一個第二列和第二行(間隔刪除),就是我們介紹的卷積。
這以相同的計算成本提供了更寬的視野。擴張卷積在實時分割領域中特別受歡迎。如果您需要廣泛的視野並且無法承受多個卷積或更大的核,請使用它們。
轉置卷積
(又稱解卷積或分數跨度卷積)
有些訊息來源使用名稱deconvolution,這是不合適的,因為它不是解卷積。為了使事情更糟,確實存在解卷積,但它們在深度學習領域並不常見。實際的反摺積會使卷積過程恢復。想象一下,將影像輸入到單個卷積層中。現在取出輸出,將它扔進一個黑盒子裡然後再出現原始影像。這個黑盒子進行反摺積。它是卷積層的數學逆。
轉置卷積有點類似,因為它產生與假設的反摺積層相同的空間解析度。但是,對值執行的實際數學運算是不同的。轉置卷積層執行常規卷積,但恢復其空間變換。
2D 卷積,沒有填充,步幅為2,核心為3
此時你應該很困惑,讓我們看一個具體的例子。將5×5的影像送入卷積層。步幅設定為2,填充停用,核心為3x3。這導致2x2影像。
如果我們想要反轉這個過程,我們需要逆數學運算,以便從我們輸入的每個畫素生成9個值。然後,我們以2的步幅遍歷輸出影像。這將是反摺積。
轉換2D卷積,沒有填充,步幅為2,核心為3
轉置卷積不會這樣做。唯一的共同點是它保證輸出也是5x5影像,同時仍然執行正常的卷積操作。為此,我們需要在輸入上執行一些花哨的填充。
正如您現在可以想象的那樣,此步驟不會從上面顛倒過程。至少不涉及數值。
它只是從之前重建空間解析度並執行卷積。這可能不是數學逆,但對於編碼器 - 解碼器架構,它仍然非常有用。這樣我們就可以將影像的升級與卷積相結合,而不是進行兩個單獨的處理。
可分離的卷積
在可分離的卷積中,我們可以將核心操作分成多個步驟。讓我們將卷積表示為 y = conv(x,k) ,其中 y 是輸出影像, x 是輸入影像, k 是核。簡單。接下來,假設k可以通過以下公式計算: k = k1.dot(k2) 。這將使它成為可分離的卷積,因為我們可以通過用k1和k2進行2個1D卷積來得到相同的結果,而不是用k進行2D卷積。
Sobel X 和Y濾鏡
以Sobel核心為例,它通常用於影像處理。你可以通過乘以向量[1,0,-1]和[1,2,1] .T得到相同的核心。在執行相同操作時,這將需要6個而不是9個引數。上面的例子顯示了所謂的 空間可分卷積 ,據我所知,它不用於深度學習。
編輯:實際上,通過堆疊1xN和Nx1核心層,可以建立與空間可分離卷積非常相似的東西。這最近在一個名為EffNet的架構中使用,顯示了有希望的結果。
在神經網路中,我們通常使用稱為 深度可分離卷積的 東西 。 這將執行空間卷積,同時保持通道分離,然後進行深度卷積。在我看來,通過一個例子可以最好地理解它。
假設我們在16個輸入通道和32個輸出通道上有一個3x3卷積層。詳細情況是,32個3x3核遍歷16個通道中的每個通道,產生512(16x32)個特徵對映。接下來,我們通過新增它們來合併每個輸入通道中的1個特徵圖。由於我們可以做32次,我們得到了我們想要的32個輸出通道。
對於同一示例中的深度可分離卷積,我們遍歷16個通道,每個通道有1個3x3核心,為我們提供了16個特徵對映。現在,在合併任何東西之前,我們遍歷這16個特徵對映,每個特徵對映有32個1x1卷積,然後才開始將它們加在一起。這導致656(16x3x3 + 16x32x1x1)引數與上面的4608(16x32x3x3)引數相反。
該示例是深度可分離卷積的特定實現,其中所謂的 深度乘數 為1.這是迄今為止這種層的最常見設定。我們這樣做是因為空間和深度資訊可以解耦的假設。看一下Xception模型的表現,這個理論似乎有效。由於其有效使用引數,深度可分離卷積也用於移動裝置。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2285393/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 卷積神經網路卷積神經網路
- 卷積神經網路概述卷積神經網路
- 解密卷積神經網路!解密卷積神經網路
- 5.2.1 卷積神經網路卷積神經網路
- 卷積神經網路CNN卷積神經網路CNN
- 卷積神經網路-AlexNet卷積神經網路
- 卷積神經網路-1卷積神經網路
- 卷積神經網路-2卷積神經網路
- 卷積神經網路-3卷積神經網路
- 全卷積神經網路FCN卷積神經網路
- 深度剖析卷積神經網路卷積神經網路
- 卷積神經網路中的Winograd快速卷積演算法卷積神經網路演算法
- 【Python】keras卷積神經網路識別mnistPythonKeras卷積神經網路
- 卷積神經網路進行影像識別卷積神經網路
- 第四周:卷積神經網路 part 3卷積神經網路
- (四)卷積神經網路 -- 8 網路中的網路(NiN)卷積神經網路
- (四)卷積神經網路 -- 12 稠密連線網路(DenseNet)卷積神經網路SENet
- CNN神經網路之卷積操作CNN神經網路卷積
- 卷積神經網路 part2卷積神經網路
- 14 卷積神經網路(進階)卷積神經網路
- 卷積神經網路(CNN)詳解卷積神經網路CNN
- 何為神經網路卷積層?神經網路卷積
- Tensorflow-卷積神經網路CNN卷積神經網路CNN
- 神經網路之卷積篇:詳解卷積步長(Strided convolutions)神經網路卷積IDE
- 吳恩達《卷積神經網路》課程筆記(1)– 卷積神經網路基礎吳恩達卷積神經網路筆記
- TensorFlow 卷積神經網路之貓狗識別卷積神經網路
- 卷積神經網路鼻祖LeNet網路分析卷積神經網路
- 帶你認識9種常用卷積神經網路卷積神經網路
- 神經網路之卷積篇:詳解單層卷積網路(One layer of a convolutional network)神經網路卷積
- 卷積神經網路:Convolutional Neural Networks(CNN)卷積神經網路CNN
- 卷積神經網路(Convolutional Neural Network,CNN)卷積神經網路CNN
- 直白介紹卷積神經網路(CNN)卷積神經網路CNN
- 卷積神經網路—基本部件(2)卷積神經網路
- 卷積神經網路-啟用函式卷積神經網路函式
- 深度學習三:卷積神經網路深度學習卷積神經網路
- 一文看懂卷積神經網路卷積神經網路
- FSNet:利用卷積核概要進行深度卷積神經網路的壓縮卷積神經網路
- 7、卷積神經網路基礎卷積神經網路