神經網絡常用卷積總結

      網友投稿 928 2022-05-30

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

      目錄:

      2D卷積

      神經網絡常用卷積總結

      3D卷積

      1*1卷積

      空間可分離卷積

      深度可分離卷積

      分組卷據

      擴展卷積

      反卷積

      Involution

      2D卷積

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

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

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

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

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

      3D卷積

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

      1*1卷積

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

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

      空間可分離卷積

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

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

      深度可分離卷積

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

      一般來說,兩個神經網絡層間應用了多個過濾器,現在假設過濾器個數為 128。128 次 2D 卷積得到了 128 個 5 x 5 x 1 的輸出映射。然后將這些映射堆疊為一個大小為 5 x 5 x 128 的單個層。空間維度如高和寬縮小了,而深度則擴大了。如下圖所示:

      接下來看看使用深度可分離卷積如何實現同樣的轉換。首先,我們在輸入層上應用深度卷積。我們在 2D 卷積中分別使用 3 個卷積核(每個過濾器的大小為 3 x 3 x 1),而不使用大小為 3 x 3 x 3 的單個過濾器。每個卷積核僅對輸入層的 1 個通道做卷積,這樣的卷積每次都得出大小為 5 x 5 x 1 的映射,之后再將這些映射堆疊在一起創建一個 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 的映射,之后再將這些映射堆疊在一起創建一個 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 的層。

      分組卷積

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

      擴張卷積

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

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

      反卷積

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

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

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

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

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

      1.輸入圖片每個像素進行一次full卷積,根據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

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

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

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

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

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

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

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

      參考鏈接

      1.https://www.zhihu.com/question/54677157

      2.https://blog.csdn.net/gwplovekimi/article/details/89890510

      3.https://blog.csdn.net/qq_38906523/article/details/80520950

      AI 深度學習

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:【大咖布道】證券行業規模化敏捷的核心能力演進案例
      下一篇:Java面向對象知識點拆分(一)
      相關文章
      国产亚洲精AA在线观看SEE| 亚洲中文字幕无码爆乳AV | 亚洲国产精品一区二区三区久久| 亚洲日韩AV一区二区三区四区 | 亚洲成人中文字幕| 亚洲国产精品嫩草影院在线观看| 国内精品99亚洲免费高清| 亚洲av无码成人精品区在线播放| 亚洲a无码综合a国产av中文| 亚洲人成色77777在线观看| 亚洲最大的成人网站| 亚洲精品国产综合久久久久紧| 中文字幕精品三区无码亚洲| 在线综合亚洲欧洲综合网站| 亚洲中文字幕乱码一区| 2020久久精品亚洲热综合一本| 亚洲国产区男人本色在线观看| 久久综合久久综合亚洲| 亚洲日韩av无码中文| 丰满亚洲大尺度无码无码专线 | 亚洲AV无码精品国产成人| 亚洲AV性色在线观看| 国产精品亚洲五月天高清| 国产亚洲精品美女久久久久| 自拍偷自拍亚洲精品播放| 亚洲?V乱码久久精品蜜桃| 亚洲日韩VA无码中文字幕| 国产亚洲视频在线播放| 亚洲国产精品SSS在线观看AV| 国产成A人亚洲精V品无码性色| 亚洲av鲁丝一区二区三区| 亚洲色图黄色小说| 亚洲一区电影在线观看| 亚洲人成网亚洲欧洲无码| 亚洲XX00视频| 国产亚洲一区二区三区在线| 亚洲情a成黄在线观看动漫尤物| 亚洲卡一卡2卡三卡4麻豆| 亚洲一区二区观看播放| 国产亚洲精品国产福利在线观看| 国产精品亚洲αv天堂无码|