自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

帶你認識9種常用卷積神經(jīng)網(wǎng)絡(luò)

人工智能 深度學習
在卷積神經(jīng)網(wǎng)絡(luò)中,通過使用filters提取不同的特征,這些filters的權(quán)重是在訓練期間自動學習的,然后將所有這些提取的特征“組合”以做出決策。

進行卷積的目的是從輸入中提取有用的特征。在圖像處理中,可以選擇各種各樣的filters。每種類型的filter都有助于從輸入圖像中提取不同的特征,例如水平/垂直/對角線邊緣等特征。在卷積神經(jīng)網(wǎng)絡(luò)中,通過使用filters提取不同的特征,這些filters的權(quán)重是在訓練期間自動學習的,然后將所有這些提取的特征“組合”以做出決策。

目錄:

  1. 2D卷積
  2. 3D卷積
  3. 1*1卷積
  4. 空間可分離卷積
  5. 深度可分離卷積
  6. 分組卷據(jù)
  7. 擴展卷積
  8. 反卷積
  9. Involution

2D卷積

單通道:在深度學習中,卷積本質(zhì)上是對信號按元素相乘累加得到卷積值。對于具有1個通道的圖像,下圖演示了卷積的運算形式:

這里的filter是一個3 x 3的矩陣,元素為[[0,1,2],[2,2,0],[0,1,2]]。filter在輸入數(shù)據(jù)中滑動。在每個位置,它都在進行逐元素的乘法和加法。每個滑動位置以一個數(shù)字結(jié)尾,最終輸出為3 x 3矩陣。

多通道:由于圖像一般具有RGB3個通道,所以卷積一般多用于多通道輸入的場景。下圖演示了多通道輸入場景的運算形式:

這里輸入層是一個5 x 5 x 3矩陣,有3個通道,filters是3 x 3 x 3矩陣。首先,filters中的每個kernels分別應(yīng)用于輸入層中的三個通道,執(zhí)行三次卷積,產(chǎn)生3個尺寸為3×3的通道:

然后將這三個通道相加(逐個元素相加)以形成一個單個通道(3 x 3 x 1),該通道是使用filters(3 x 3 x 3矩陣)對輸入層(5 x 5 x 3矩陣)進行卷積的結(jié)果:

3D卷積

在上一個插圖中,可以看出,這實際上是在完成3D-卷積。但通常意義上,仍然稱之為深度學習的2D-卷積。因為filters的深度和輸入層的深度相同,3D-filters僅在2個維度上移動(圖像的高度和寬度),得到的結(jié)果為單通道。通過將2D-卷積的推廣,在3D-卷積定義為filters的深度小于輸入層的深度(即卷積核的個數(shù)小于輸入層通道數(shù)),故3D-filters需要在三個維度上滑動(輸入層的長、寬、高)。在filters上滑動的每個位置執(zhí)行一次卷積操作,得到一個數(shù)值。當filters滑過整個3D空間,輸出的結(jié)構(gòu)也是3D的。2D-卷積和3D-卷積的主要區(qū)別為filters滑動的空間維度,3D-卷積的優(yōu)勢在于描述3D空間中的對象關(guān)系。3D關(guān)系在某一些應(yīng)用中十分重要,如3D-對象的分割以及醫(yī)學圖像的重構(gòu)等。

1*1卷積

對于1*1卷積而言,表面上好像只是feature maps中的每個值乘了一個數(shù),但實際上不僅僅如此,首先由于會經(jīng)過激活層,所以實際上是進行了非線性映射,其次就是可以改變feature maps的channel數(shù)目。

上圖中描述了:在一個維度為 H x W x D 的輸入層上的操作方式。經(jīng)過大小為 1 x 1 x D 的filters的 1 x 1 卷積,輸出通道的維度為 H x W x 1。如果我們執(zhí)行 N 次這樣的 1 x 1 卷積,然后將這些結(jié)果結(jié)合起來,我們能得到一個維度為 H x W x N 的輸出層。

空間可分離卷積

在一個可分離卷積中,我們可以將內(nèi)核操作拆分成多個步驟。我們用y = conv(x,k)表示卷積,其中y是輸出圖像,x是輸入圖像,k是內(nèi)核。這一步很簡單。接下來,我們假設(shè)k可以由下面這個等式計算得出:k = k1.dot(k2)。這將使它成為一個可分離的卷積,因為我們可以通過對k1和k2做2個一維卷積來取得相同的結(jié)果,而不是用k做二維卷積。

以通常用于圖像處理的Sobel內(nèi)核為例。你可以通過乘以向量[1,0,-1]和[1,2,1] .T獲得相同的內(nèi)核。在執(zhí)行相同的操作時,你只需要6個而不是9個參數(shù)。

深度可分離卷積

空間可分離卷積(上一小節(jié)),而在深度學習中,深度可分離卷積將執(zhí)行一個空間卷積,同時保持通道獨立,然后進行深度卷積操作。假設(shè)我們在一個16輸入通道和32輸出通道上有一個3x3的卷積層。那么將要發(fā)生的就是16個通道中的每一個都由32個3x3的內(nèi)核進行遍歷,從而產(chǎn)生512(16x32)的特征映射。接下來,我們通過將每個輸入通道中的特征映射相加從而合成一個大的特征映射。由于我們可以進行此操作32次,因此我們得到了期望的32個輸出通道。那么,針對同一個示例,深度可分離卷積的表現(xiàn)又是怎樣的呢?我們遍歷16個通道,每一個都有一個3x3的內(nèi)核,可以給出16個特征映射?,F(xiàn)在,在做任何合并操作之前,我們將遍歷這16個特征映射,每個都含有32個1x1的卷積,然后才逐此開始添加。這導致與上述4608(16x32x3x3)個參數(shù)相反的656(16x3x3 + 16x32x1x1)個參數(shù)。下面再進行詳細說明。前面部分所提到的 2D 卷積核 1x1 卷積。讓我們先快速過一下標準的 2D 卷積。舉一個具體的案例,假設(shè)輸入層的大小為 7 x 7 x 3(高 x 寬 x 通道),過濾器大小為 3 x 3 x 3,經(jīng)過一個過濾器的 2D 卷積后,輸出層的大小為 5 x 5 x 1(僅有 1 個通道)。如下圖所示:

一般來說,兩個神經(jīng)網(wǎng)絡(luò)層間應(yīng)用了多個過濾器,現(xiàn)在假設(shè)過濾器個數(shù)為 128。128 次 2D 卷積得到了 128 個 5 x 5 x 1 的輸出映射。然后將這些映射堆疊為一個大小為 5 x 5 x 128 的單個層??臻g維度如高和寬縮小了,而深度則擴大了。如下圖所示:

接下來看看使用深度可分離卷積如何實現(xiàn)同樣的轉(zhuǎn)換。首先,我們在輸入層上應(yīng)用深度卷積。我們在 2D 卷積中分別使用 3 個卷積核(每個過濾器的大小為 3 x 3 x 1),而不使用大小為 3 x 3 x 3 的單個過濾器。每個卷積核僅對輸入層的 1 個通道做卷積,這樣的卷積每次都得出大小為 5 x 5 x 1 的映射,之后再將這些映射堆疊在一起創(chuàng)建一個 5 x 5 x 3 的圖像,最終得出一個大小為 5 x 5 x 3 的輸出圖像。這樣的話,圖像的深度保持與原來的一樣。

深度可分離卷積—第一步:在 2D 卷積中分別使用 3 個卷積核(每個過濾器的大小為 3 x 3 x 1),而不使用大小為 3 x 3 x 3 的單個過濾器。每個卷積核僅對輸入層的 1 個通道做卷積,這樣的卷積每次都得出大小為 5 x 5 x 1 的映射,之后再將這些映射堆疊在一起創(chuàng)建一個 5 x 5 x 3 的圖像,最終得出一個大小為 5 x 5 x 3 的輸出圖像。深度可分離卷積的第二步是擴大深度,我們用大小為 1x1x3 的卷積核做 1x1 卷積。每個 1x1x3 卷積核對 5 x 5 x 3 輸入圖像做卷積后都得出一個大小為 5 x 5 x1 的映射。

這樣的話,做 128 次 1x1 卷積后,就可以得出一個大小為 5 x 5 x 128 的層。

分組卷積

Group convolution 分組卷積,最早在AlexNet中出現(xiàn),由于當時的硬件資源有限,訓練AlexNet時卷積操作不能全部放在同一個GPU處理,因此作者把feature maps分給多個GPU分別進行處理,最后把多個GPU的結(jié)果進行融合。

下面描述分組卷積是如何實現(xiàn)的。首先,傳統(tǒng)的 2D 卷積步驟如下圖所示。在這個案例中,通過應(yīng)用 128 個過濾器(每個過濾器的大小為 3 x 3 x 3),大小為 7 x 7 x 3 的輸入層被轉(zhuǎn)換為大小為 5 x 5 x 128 的輸出層。針對通用情況,可概括為:通過應(yīng)用 Dout 個卷積核(每個卷積核的大小為 h x w x Din),可將大小為 Hin x Win x Din 的輸入層轉(zhuǎn)換為大小為 Hout x Wout x Dout 的輸出層。在分組卷積中,過濾器被拆分為不同的組,每一個組都負責具有一定深度的傳統(tǒng) 2D 卷積的工作。下圖的案例表示得更清晰一些。

擴張卷積

擴張卷積引入另一個卷積層的參數(shù)被稱為擴張率。這定義了內(nèi)核中值之間的間距。擴張速率為2的3x3內(nèi)核將具有與5x5內(nèi)核相同的視野,而只使用9個參數(shù)。 想象一下,使用5x5內(nèi)核并刪除每個間隔的行和列。(如下圖所示)系統(tǒng)能以相同的計算成本,提供更大的感受野。擴張卷積在實時分割領(lǐng)域特別受歡迎。 在需要更大的觀察范圍,且無法承受多個卷積或更大的內(nèi)核,可以才用它。

直觀上,空洞卷積通過在卷積核部分之間插入空間讓卷積核「膨脹」。這個增加的參數(shù) l(空洞率)表明了我們想要將卷積核放寬到多大。下圖顯示了當 l=1,2,4 時的卷積核大小。(當l=1時,空洞卷積就變成了一個標準的卷積)。

反卷積

這里提到的反卷積跟1維信號處理的反卷積計算是很不一樣的,F(xiàn)CN作者稱為backwards convolution,有人稱Deconvolution layer is a very unfortunate name and should rather be called a transposed convolutional layer. 我們可以知道,在CNN中有con layer與pool layer,con layer進行對圖像卷積提取特征,pool layer對圖像縮小一半篩選重要特征,對于經(jīng)典的圖像識別CNN網(wǎng)絡(luò),如IMAGENET,最后輸出結(jié)果是1X1X1000,1000是類別種類,1x1得到的是。FCN作者,或者后來對end to end研究的人員,就是對最終1x1的結(jié)果使用反卷積(事實上FCN作者最后的輸出不是1X1,是圖片大小的32分之一,但不影響反卷積的使用)。這里圖像的反卷積與圖6的full卷積原理是一樣的,使用了這一種反卷積手段使得圖像可以變大,F(xiàn)CN作者使用的方法是這里所說反卷積的一種變體,這樣就可以獲得相應(yīng)的像素值,圖像可以實現(xiàn)end to end。

目前使用得最多的deconvolution有2種:

方法1:full卷積, 完整的卷積可以使得原來的定義域變大

方法2:記錄pooling index,然后擴大空間,再用卷積填充。圖像的deconvolution過程如下:

輸入:2x2, 卷積核:4x4, 滑動步長:3, 輸出:7x7

即輸入為2x2的圖片經(jīng)過4x4的卷積核進行步長為3的反卷積的過程

1.輸入圖片每個像素進行一次full卷積,根據(jù)full卷積大小計算可以知道每個像素的卷積后大小為 1+4-1=4, 即4x4大小的特征圖,輸入有4個像素所以4個4x4的特征圖

2.將4個特征圖進行步長為3的fusion(即相加); 例如紅色的特征圖仍然是在原來輸入位置(左上角),綠色還是在原來的位置(右上角),步長為3是指每隔3個像素進行fusion,重疊部分進行相加,即輸出的第1行第4列是由紅色特陣圖的第一行第四列與綠色特征圖的第一行第一列相加得到,其他如此類推。

可以看出反卷積的大小是由卷積核大小與滑動步長決定, in是輸入大小, k是卷積核大小, s是滑動步長, out是輸出大小

得到 out = (in - 1) * s + k

上圖過程就是, (2 - 1) * 3 + 4 = 7

Involution

論文: Involution: Inverting the Inherence of Convolution for Visual Recognition (CVPR'21)

代碼開源地址: https://github.com/d-li14/involution

盡管神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)發(fā)展迅速,但卷積仍然是深度神經(jīng)網(wǎng)絡(luò)架構(gòu)構(gòu)建的主要組件。從經(jīng)典的圖像濾波方法中得到的靈感,卷積核具有2個顯著的特性Spatial-agnostic和Channel-specific。在Spatial上,前者的性質(zhì)保證了卷積核在不同位置之間的共享,實現(xiàn)了平移不變性。在Channel域中,卷積核的頻譜負責收集編碼在不同Channel中的不同信息,滿足后一種特性。此外,自從VGGNet出現(xiàn)以來,現(xiàn)代神經(jīng)網(wǎng)絡(luò)通過限制卷積核的空間跨度不超過3*3來滿足卷積核的緊湊性。

一方面,盡管Spatial-Agnostic和Spatial-Compact的性質(zhì)在提高效率和解釋平移不變性等價方面有意義,但它剝奪了卷積核適應(yīng)不同空間位置的不同視覺模式的能力。此外,局部性限制了卷積的感受野,對小目標或者模糊圖像構(gòu)成了挑戰(zhàn)。另一方面,眾所周知,卷積核內(nèi)部的通道間冗余在許多經(jīng)典深度神經(jīng)網(wǎng)絡(luò)中都很突出,這使得卷積核對于不同通道的靈活性受到限制。

為了克服上述限制,本文作者提出了被稱為involution的操作,與標準卷積相比,involution具有對稱反向特性,即Spatial-Specific和Channel-Agnostic。具體地說,involution核在空間范圍上是不同的,但在通道上是共享的。由于involution核的空間特性,如果將其參數(shù)化為卷積核等固定大小的矩陣,并使用反向傳播算法進行更新,則會阻礙學習到的對合核在不同分辨率的輸入圖像之間的傳輸。在處理可變特征分辨率的最后,屬于特定空間位置的involution核可能僅在對應(yīng)位置本身的傳入特征向量的條件下作為實例生成。此外,作者還通過在通道維數(shù)上共享involution核來減少核的冗余。

綜合上述2個因素,involution運算的計算復(fù)雜度隨特征通道數(shù)量線性增加,動態(tài)參數(shù)化involution核在空間維度上具有廣泛的覆蓋。通過逆向設(shè)計方案,本文提出的involution具有卷積的雙重優(yōu)勢:

1:involution可以在更廣闊的空間中聚合上下文,從而克服了對遠程交互進行建模的困難

2:involution可以在不同位置上自適應(yīng)地分配權(quán)重,從而對空間域中信息最豐富的視覺元素進行優(yōu)先排序。

大家也都知道最近基于Self-Attention進一步的研究表明,很多任務(wù)為了捕獲特征的長期依賴關(guān)系提出使用Transformer來進行建模。在這些研究中,純粹的Self-Attention可以被用來構(gòu)建具有良好性能的獨立模型。而本文將揭示Self-Attention是通過一個復(fù)雜的關(guān)于核結(jié)構(gòu)的公式來對鄰近像素之間的關(guān)系進行建模,其實也就是involution化的特殊情況。相比之下,本文所采用的核是根據(jù)單個像素生成的,而不是它與相鄰像素的關(guān)系。更進一步,作者在實驗中證明,即使使用簡單版本,也可以實現(xiàn)Self-Attention的精確。

involution的計算過程如下圖所示:

針對輸入feature map的一個坐標點上的特征向量,先通過 ∅ (FC-BN-ReLU-FC)和reshape (channel-to-space)變換展開成kernel的形狀,從而得到這個坐標點上對應(yīng)的involution kernel,再和輸入feature map上這個坐標點鄰域的特征向量進行Multiply-Add得到最終輸出的feature map。具體操作流程和tensor形狀變化如下:

另外作者基于MM系列代碼,實現(xiàn)了mmclassficton、mmsegmentation、mmdetection中的部分模型。

 

責任編輯:張燕妮 來源: 華為云開發(fā)者社區(qū)
相關(guān)推薦

2022-04-07 09:01:52

神經(jīng)網(wǎng)絡(luò)人工智能

2017-05-04 18:30:34

大數(shù)據(jù)卷積神經(jīng)網(wǎng)絡(luò)

2020-09-18 11:40:44

神經(jīng)網(wǎng)絡(luò)人工智能PyTorch

2019-01-05 08:40:17

VGG神經(jīng)網(wǎng)絡(luò)

2022-10-11 23:35:28

神經(jīng)網(wǎng)絡(luò)VGGNetAlexNet

2017-04-18 12:21:01

神經(jīng)網(wǎng)絡(luò)深度學習設(shè)計模式

2018-04-08 11:20:43

深度學習

2020-03-25 09:48:10

AI芯片神經(jīng)網(wǎng)絡(luò)

2017-11-29 14:41:48

神經(jīng)網(wǎng)絡(luò)遞歸神經(jīng)網(wǎng)絡(luò)RNN

2025-02-21 08:29:07

2017-04-26 09:30:53

卷積神經(jīng)網(wǎng)絡(luò)實戰(zhàn)

2024-09-20 07:36:12

2024-10-28 00:38:10

2024-11-15 13:20:02

2019-06-06 09:00:02

卷積神經(jīng)網(wǎng)絡(luò)CNNAI

2017-11-24 11:10:39

神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)全連接神經(jīng)網(wǎng)絡(luò)

2022-06-16 10:29:33

神經(jīng)網(wǎng)絡(luò)圖像分類算法

2024-10-05 23:00:35

2025-03-31 09:52:00

2018-08-27 17:05:48

tensorflow神經(jīng)網(wǎng)絡(luò)圖像處理
點贊
收藏

51CTO技術(shù)棧公眾號