卷積類型總結

1. 標準卷積 (Convolution)

在這里插入圖片描述

  • 原理: 一個包含 K 個濾波器的卷積層(每個濾波器大小為 FxF x C_in)在輸入特征圖上滑動。在每個位置,濾波器與輸入圖像的局部區域進行逐元素相乘再求和(點積運算),得到一個輸出值。滑動完整個輸入后,每個濾波器生成一個二維特征圖(或稱激活圖)。K 個濾波器就產生 K 個特征圖,即輸出通道數為 C_out = K
  • 關鍵參數:
    • 核大小 (Kernel Size - F): 感受野大小,決定了看到輸入中多大區域(如 3x3, 5x5)。
    • 步長 (Stride - S): 卷積核每次滑動的像素數。S=1 每次移動 1 像素,輸出較大;S=2 每次移動 2 像素,輸出縮小約一半。
    • 填充 (Padding - P): 在輸入特征圖邊界外圍填充像素(通常為 0)。"valid" 表示不填充;"same" 表示填充使得輸出空間尺寸(寬/高)與輸入相同(當 S=1 時)。
    • 輸入通道數 (C_in): 輸入數據的通道數(如 RGB 圖像 C_in=3)。
    • 輸出通道數 (C_out / K): 使用的濾波器數量,決定輸出特征圖的深度。
  • 輸出尺寸計算 (每個空間維度): W_out = (W_in - F + 2P) / S + 1 (結果向下取整)
  • 計算量: 高。每個輸出像素需要 F * F * C_in 次乘加操作。總計算量 ≈ W_out * H_out * C_out * F * F * C_in
  • 例子 (輸入 8x8x3):
    • 使用 K=43x3 卷積核 (F=3)。
    • 步長 S=1,填充 P=0 (valid)。
    • 輸出形狀:6x6x4

特征圖和卷積核通道大小一樣;通道一一對應進行卷積操作,再相加得到最后一張特征圖。


2. 步長卷積 (Strided Convolution)

  • 原理: 是標準卷積的一個特例,其步長 S > 1。主要目的是對特征圖進行下采樣(Downsampling),顯著減少特征圖的空間尺寸(寬/高)和后續計算量。步長 S=2 是最常用的下采樣方式。
  • 效果: 實現了空間維度的降維,同時(通常)增加通道維度以捕獲更抽象的特征。
  • 輸出尺寸計算: 同標準卷積公式 W_out = (W_in - F + 2P) / S + 1
  • 例子 (輸入 8x8x3):
    • 使用 K=63x3 卷積核 (F=3)。
    • 步長 S=2,填充 P=1 (常用 "same" 填充策略,這里 P=1 使得 (8-3+2)/2+1=4,是整數)。
    • 輸出形狀:4x4x6。空間尺寸減半 (8->4),通道數增加 (3->6)。

3. 反卷積 / 轉置卷積 (Deconvolution / Transposed Convolution)

在這里插入圖片描述

  • 原理: 不是真正的卷積逆運算。它的目的是上采樣(Upsampling),即增大特征圖的空間尺寸(寬/高)。可以理解為一種“逆向”的、帶步長的卷積過程:
    1. 在輸入特征圖的像素之間插入 (S-1) 個零 (S 是設定的上采樣步長,通常為 2)。
    2. 在擴展后的特征圖上進行一個標準的卷積操作(通常 F=34, S=1, 并配合適當的填充 P)。
  • 效果: 將低分辨率、高通道數的特征圖,上采樣為高分辨率、低通道數(或保持通道數)的特征圖。常用于圖像分割(U-Net)、生成模型(GANs)中的解碼器部分。
  • 輸出尺寸計算 (常見公式): W_out = S * (W_in - 1) + F - 2P (另一種理解:可以看作是步長為 S 的標準卷積的梯度計算過程,導致輸出尺寸放大)。
  • 例子 (輸入 4x4x6,上采樣回接近 8x8):
    • 輸入形狀:4x4x6 (例如步長卷積的輸出)。
    • 使用 K=33x3 卷積核 (F=3) 進行轉置卷積。
    • 上采樣步長 S=2
    • 填充 P=1 (常用設置,確保輸出尺寸計算為整數)。
    • 計算過程:
      • 4x4 輸入的空間維度上,每個像素之間插入 (2-1)=1 個零。行間、列間都插零。
      • 插入零后,特征圖尺寸變為 (4 + (4-1)*1) = 7 -> 7x7x6 (更準確:原 4x4,行間插 1 行零 -> 變成 7x4,再在列間插 1 列零 -> 變成 7x7)。
      • 7x7x6 的特征圖上,進行標準的 3x3 卷積 (S=1, P=1)。
      • 標準卷積輸出尺寸:(7 - 3 + 2*1) / 1 + 1 = (6) + 1 = 7 -> 7x7x3
    • 輸出形狀:7x7x3 (接近原始的 8x8x3)。可以看到空間尺寸從 4x4 增大到了 7x7,通道數從 6 減少回 3

反卷積(轉置卷積)卷積是對輸入圖像提取出特征(可能尺寸會變小),而所謂的“反卷積”便是進行相反的操作。但這里說是“反卷積”并不嚴謹,因為并不會完全還原到跟輸入圖像一樣,一般是還原后的尺寸與輸入圖像一致,主要用于向上采樣。從數學計算上看,“反卷積”相當于是將卷積核轉換為稀疏矩陣后進行轉置計算,因此,也被稱為“轉置卷積”。如上圖,在2x2的輸入圖像上應用步長為1、邊界全0填充的3x3卷積核,進行轉置卷積(反卷積)計算,向上采樣后輸出的圖像大小為4x4。


4. 可分離卷積 (Separable Convolution)

  • 原理: 將一個標準的 F x F 卷積分解為兩個連續的、計算量更小的操作
    1. 深度卷積 (Depthwise Convolution - DWConv): 對輸入的每個通道單獨使用一個 F x F 卷積核進行空間卷積。輸入有 C_in 個通道,就使用 C_inF x F x 1 的濾波器。通道之間不混合。 輸出還是 C_in 個通道。
    2. 逐點卷積 (Pointwise Convolution - PWConv / 1x1 Convolution): 使用 K1x1 x C_in 的卷積核。它只關注通道維度的混合,將深度卷積輸出的 C_in 個通道的信息線性組合成 C_out (即 K) 個通道。不改變空間尺寸。
  • 效果: 大幅降低計算量和參數量,同時基本保持了標準卷積的表達能力(尤其當空間相關性和通道相關性可以解耦時)。是輕量化網絡的基礎。
  • 計算量對比 (標準 vs 可分離):
    • 標準 FxF Conv: W_out * H_out * C_out * F * F * C_in
    • 可分離 Conv (DW+PW):
      • DWConv: W_out * H_out * C_in * F * F * 1 (每個通道獨立計算)
      • PWConv: W_out * H_out * C_out * 1 * 1 * C_in
      • 總計: W_out * H_out * C_in * (F*F + C_out)
    • 計算量減少比例: (F*F + C_out) / (F*F * C_out)。例如 F=3, C_in=C_out=32,比例約為 (9+32)/(9*32) = 41/288 ≈ 1/7
  • 例子 (輸入 8x8x3):
    • 目標輸出通道數 C_out=4
    • 步驟1: 深度卷積 (DWConv)
      • 使用 33x3x1 的濾波器 (因為輸入有 3 個通道)。
      • 每個濾波器只在對應的一個輸入通道上滑動卷積 (S=1, P=0)。輸出 36x6 的特征圖 ((8-3+0)/1+1=6)。
      • DW 輸出形狀:6x6x3
    • 步驟2: 逐點卷積 (PWConv / 1x1 Conv)
      • 使用 41x1x3 的濾波器。
      • 6x6x3 的輸入上滑動 (S=1, P=0)。每個 1x1 核與所有 3 個通道的同一位置像素做點積,輸出 1 個像素值。4 個濾波器產生 4 個通道。
      • 最終輸出形狀:6x6x4 (與標準 3x3 卷積 S=1, P=0 的結果相同)。
    • 關鍵: 可分離卷積 (3x3 DW + 1x1 PW) 達到了和標準 3x3 卷積相同的空間變換 (8x8->6x6) 和通道變換 (3->4),但計算量和參數大大減少。

5. 深度可分離卷積 (Depthwise Separable Convolution)

在這里插入圖片描述

  • 原理: 就是上面描述的可分離卷積 (Depthwise Conv + Pointwise Conv)! 這兩個術語在絕大多數現代深度學習文獻和框架(如 TensorFlow, PyTorch)中被視為同義詞。它是 MobileNet 等高效架構的核心組件。
  • 強調點: 它明確包含了兩個步驟:1) 按通道分離的空間卷積 (Depthwise),2) 通道混合卷積 (Pointwise/1x1)。
  • 例子: 同上 可分離卷積的例子。輸入 8x8x3 -> DWConv (3x3, S=1, P=0) -> 6x6x3 -> PWConv (1x1, C_out=4) -> 6x6x4

深度可分離卷積由兩步組成:深度卷積和1x1卷積。首先,在輸入層上應用深度卷積。如下圖,使用3個卷積核分別對輸入層的3個通道作卷積計算,再堆疊在一起。


6. 空洞卷積 / 擴張卷積 (Dilated / Atrous Convolution)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

  • 原理: 在標準卷積核的權重元素之間注入空洞(Dilation Rate - D)D=1 是標準卷積。D=2 表示核元素之間間隔 1 個像素(實際感受野等效于 (F + (F-1)*(D-1)) x (F + (F-1)*(D-1)),但參數數量不變)。卷積核在輸入上滑動時,只計算有實心權重的位置。
  • 目的: 在不增加參數數量、不減小特征圖尺寸(通常 S=1, P 適當)的前提下,顯著增大感受野 (Receptive Field)。這對于捕獲圖像中更大范圍的上下文信息(如語義分割、目標檢測中大物體)非常關鍵,避免了頻繁下采樣帶來的信息損失。
  • 輸出尺寸計算: 同標準卷積公式 W_out = (W_in + 2P - [ (F-1)*D + 1 ]) / S + 1。等效核大小 F_eff = F + (F-1)*(D-1)
  • 例子 (輸入 8x8x3):
    • 使用 K=23x3 卷積核 (F=3)。
    • 擴張率 D=2
    • 步長 S=1,填充 P=2 (常用 "same" 填充策略,這里 P=2 使得 (8 - [ (3-1)*2 + 1 ] + 2*2) /1 +1 = (8 - [5] +4) +1 = 8,保持尺寸)。
    • 等效感受野: 3 + (3-1)*(2-1) = 3 + 2*1 = 5x5。這個 3x3 空洞卷積核實際“看到”的區域相當于一個標準的 5x5 區域,但只用了 3x3=9 個參數。
    • 輸出尺寸:(8 - [ (3-1)*2 + 1 ] + 2*2) / 1 + 1 = (8 - 5 + 4) + 1 = 8。輸出通道 C_out=2
    • 輸出形狀:8x8x2。空間尺寸不變 (8x8),感受野增大到 5x5 (相比標準 3x33x3 感受野)。

為擴大感受野,在卷積核里面的元素之間插入空格來“膨脹”內核,形成“空洞卷積”(或稱膨脹卷積),并用膨脹率參數L表示要擴大內核的范圍,即在內核元素之間插入L-1個空格。當L=1時,則內核元素之間沒有插入空格,變為標準卷積。


7. 深度擴張卷積 / 擴張深度卷積 (Dilated Depthwise Convolution)

  • 原理:空洞卷積 (Dilated Conv) 的思想應用于深度卷積 (Depthwise Conv) 步驟。即在深度可分離卷積中,深度卷積部分使用帶有空洞率 D 的卷積核。
  • 結構:
    1. 擴張深度卷積 (Dilated Depthwise Conv): 對輸入的每個通道單獨使用一個 F x F擴張率為 D 的卷積核進行空間卷積。輸出通道數仍為 C_in
    2. 逐點卷積 (Pointwise Conv / 1x1 Conv): 不變,使用 K1x1 x C_in 的卷積核混合通道,輸出 C_out 個通道。
  • 目的: 在保持深度可分離卷積低計算量、低參數量優點的同時,利用空洞卷積增大感受野的優點。這對于構建高效的、能捕獲大范圍上下文的模型(如實時語義分割)至關重要。
  • 計算量: 與標準深度可分離卷積類似,但深度卷積步驟的感受野更大。
    • Dilated DWConv: W_out * H_out * C_in * F * F * 1 (計算量不變,因為參數數量和計算位置數量沒變,只是采樣位置間隔變大了)
    • PWConv: W_out * H_out * C_out * 1 * 1 * C_in (不變)
  • 例子 (輸入 8x8x3):
    • 目標輸出通道數 C_out=4
    • 步驟1: 擴張深度卷積 (Dilated DWConv)
      • 使用 33x3x1 D=2 的濾波器。
      • 步長 S=1,填充 P=2 (為了保持輸出空間尺寸為 8x8,需要計算 P。等效核大小 F_eff=5,要維持 8x8 輸出,P 需滿足 (8 - 5 + 2P)/1 +1 = 8 -> (3 + 2P) = 7 -> 2P=4 -> P=2)。
      • 每個擴張卷積核在其對應的輸入通道上進行空洞卷積。感受野等效 5x5
      • Dilated DW 輸出形狀:8x8x3
    • 步驟2: 逐點卷積 (PWConv / 1x1 Conv)
      • 使用 41x1x3 的濾波器 (S=1, P=0)。
      • 8x8x3 的輸入上操作,輸出 8x8 的空間圖,每個位置混合 3 個通道成 1 個值(共 4 個通道)。
      • 最終輸出形狀:8x8x4
    • 關鍵: 最終輸出保持了輸入的 8x8 空間分辨率(得益于 S=1, P=2),同時每個位置在深度卷積階段就具有了 5x5 的感受野(比標準 3x3 深度卷積的 3x3 感受野大),而計算量和參數仍然遠小于一個標準的 5x5 卷積或一個帶空洞的標準卷積。

總結對比表 (以 8x8x3 輸入為例)

卷積類型主要參數/操作輸出形狀 (示例)核心目的/特點計算量/參數量特點
標準卷積F=3, K=4, S=1, P=06x6x4基礎特征提取
步長卷積F=3, K=6, S=2, P=14x4x6下采樣 (減小尺寸,增加通道/抽象)低于標準卷積 (尺寸減小)
反卷積/轉置卷積F=3, K=3, S=2, P=1 (上采樣)7x7x3上采樣 (增大尺寸)中高
可分離卷積 (深度可分離)F_dw=3, K_pw=4, S=1, P_dw=0 (DW->PW)6x6x4極大降低計算量/參數,保持表達能力 (空間分離+通道混合)極低 (約標準 FxF1/(F*F))
空洞/擴張卷積F=3, K=2, S=1, P=2, D=28x8x2增大感受野 (5x5等效),不減小尺寸/不增參同標準 FxF 卷積 (參數/計算量不變)
深度擴張卷積F_dw=3, D_dw=2, P_dw=2, K_pw=4, S_dw=1, S_pw=1 (Dilated DW -> PW)8x8x4低計算量/參數 + 大感受野 (DW感受野5x5,輸出尺寸不變)極低 (同標準深度可分離)

關鍵點回顧:

  • 標準卷積: 基石,計算量大。
  • 步長卷積: 高效下采樣。
  • 反卷積: 上采樣工具。
  • (深度)可分離卷積: 輕量化的核心手段,MobileNet等的基礎。
  • 空洞卷積: 擴大感受野的利器,不損失分辨率/不增參,常用于密集預測任務。
  • 深度擴張卷積: 結合了輕量化 (可分離)大感受野 (空洞) 的雙重優勢,是構建高效高性能模型(尤其在移動端和邊緣設備上)的重要組件。

通過結合使用這些不同類型的卷積操作,可以設計出適應各種需求(精度、速度、模型大小、感受野)的卷積神經網絡架構。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/910052.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910052.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910052.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HP iLO使用實例:Integrated Lights-Out

文章目錄 參考名詞解釋iLODMTF SMASH CLP命令HP提供的命令VSPBIOS啟動順序BIOS指令啟動時報的電源錯誤如果ilo登陸不上去參考 ilo命令 https://support.hpe.com/hpesc/public/docDisplay?docId=c03334058 名詞解釋 iLO 從字面理解:Integrated Lights-Out,就是整合燈出;…

【前端隱蔽 Bug 深度剖析:SVG 組件復用中的 ID 沖突陷阱】

前端隱蔽 Bug 深度剖析:SVG 組件復用中的 ID 沖突陷阱 創建時間: 2025/6/20 類型: 🔍 Bug 深度分析 難度: ????? 高級 關鍵詞: SVG、ID 沖突、Vue 組件、隱蔽 Bug、技術分析 📖 引言 在前端開發的世界里,有一類 Bug 特別令…

IDEA 中 Tomcat 部署 Java Web 項目(Maven 多模塊 非 Maven 通用版)

引言 Java Web 開發中,Tomcat 是最常用的 Servlet 容器,而項目類型通常分為 Maven 管理(依賴自動處理、多模塊聚合) 和 非 Maven 純手工管理(手動引入 jar 包、配置項目結構)。本文覆蓋 兩種項目類型 的 T…

當建筑學會“行走”:MiC建筑如何重塑醫療空間

當塔吊林立的工地被智能化工廠取代,當混凝土現澆的轟鳴被精密模塊的無聲拼接覆蓋,建筑行業正經歷著自鋼筋混凝土革命以來最深刻的范式轉移。模塊化集成建筑(MiC)技術,這場以“制造組裝”為核心的新型工業化浪潮&#x…

計算機網絡八股第二期

計算機網絡八股第二期 1.講一講從輸入網址到網頁顯示之間發生了什么(從網絡的角度) 想想一下你從網店買一本書,從輸入網址到網頁顯示其實和你從網店買一本書差不多,網店發給你的是實體而網絡傳輸的是文字,圖片等等資…

FPGA基礎 -- Verilog 的值變轉儲文件(VCD:Value Change Dump)

Verilog 的“值變轉儲文件(VCD:Value Change Dump)”,這是一項在仿真調試中至關重要的技術,可以幫助你“看見”RTL中每個信號隨時間的變化過程。 一、什么是 Verilog 的值變轉儲文件(VCD) VCD …

流水燈芯片74HC138 → 74HC164 → 74HC595核心功能、引腳作用及芯片定位

一、74HC138:精準的“8選1開關” 核心作用 用3根控制線(A0-A2)實現8路嚴格單選,同一時刻僅1路輸出低電平(其他7路高電平)。 📌 本質:二進制地址譯碼器,不是數據寄存器。…

鴻蒙Next倉頡語言開發實戰教程:懶加載

今天要分享的是倉頡開發語言中的懶加載。 先和初學者朋友們解釋一下什么是懶加載。懶加載在代碼中叫做LazyForEach,看到名字你一定能猜到它和ForEach的功能類似。只不過和ForEach的一次性加載所有數據不同,懶加載會根據屏幕可使區域按需加載數據&#x…

Linux 內核同步管理全解:原理 + 實戰 + 考點

🔥 推薦:《Yocto項目實戰教程:高效定制嵌入式Linux系統》 京東正版促銷,歡迎支持原創! 鏈接:https://item.jd.com/15020438.html 一、為什么需要同步機制? Linux 是一個支持 多核并發 搶占式調…

效果成本雙突破!快手提出端到端生成式推薦系統OneRec!

近日,快手推薦模型團隊提出了一個端到端生成式推薦系統OneRec,該系統采用Encoder-Decoder架構,引入了基于獎勵機制的偏好對齊方法,借助強化學習增強模型效果,可在獎勵模型引導下直接生成契合用戶偏好的視頻內容。通過極…

flex布局 項目屬性

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>flex布局 項目屬性</title> <link href"css/k.css" rel"stylesheet" /> </head> <bod…

SpringBoot擴展——應用Web Service!

應用Web Service Web Service是一個SOA&#xff08;面向服務的編程&#xff09;架構&#xff0c;這種架構不依賴于語言&#xff0c;不依賴于平臺&#xff0c;可以在不同的語言之間相互調用&#xff0c;通過Internet實現基于HTTP的網絡應用間的交互調用。Web Service是一個可以…

EasyExcel學習筆記

EasyExcel學習 一、EasyExcel簡介 一、EasyExcel是什么 EasyExcel是一個基于Java的簡單、省內存的讀寫Excel的阿里開源項目。在盡可能節約內存的情況下支持讀寫百M的Excel。 官網&#xff1a;https://easyexcel.opensource.alibaba.com/ 學習Easyexcel前需要了解導入和導出…

day4課程

1整體認識和路由配置 2二級分類面包屑導航實現 3基礎商品列表渲染 4列表篩選功能實現 5列表無限加載功能實現 6定制路由滾動行為 7詳情頁整體認識和路由配置 8詳情頁基礎數據渲染 9詳情頁基礎組件封裝和數據渲染 10適配不同title和數據列表 11小圖切換大圖 12滑塊跟隨鼠標移動 …

kubeadm worker節點加入master失敗

文章目錄 1、操作2、問題現象3、問題原因4、問題解決4.1、重新生成token4.2、重新生成hash值 5、驗證 1、操作 執行以下命令&#xff0c;讓worker節點加入到master節點 kubeadm join 103.123.222.241:6443 --token vxe3v1.wzpnks8v1vbbtsu0 --discovery-token-ca-cert-hash s…

二十二、【用戶管理與權限 - 篇四】后端權限定義:模型與 API 實現

【用戶管理與權限 - 篇四】后端權限定義:模型與 API 實現 前言準備工作第一部分:設計并創建 `Permission` 模型第二部分:更新 `Role` 模型以關聯 `Permission`第三部分:生成并應用數據庫遷移第四部分:創建 Serializers第五部分:創建 ViewSets第六部分:注冊 API 路由第七…

猜數字小游戲微信流量主小程序開源

這個智力小游戲采用了數字華容道的玩法&#xff0c;玩家需要通過移動數字方塊&#xff0c;將數字按順序排列完成游戲。代碼嚴格遵循微信小程序的目錄結構&#xff0c;包含以下部分&#xff1a; 完整的小程序配置文件&#xff08;app.js、app.json、app.wxss&#xff09; 游戲頁…

探秘阿里云EBS存儲:云計算的存儲基石

一、引言 在云計算時代&#xff0c;數據如同企業的生命線&#xff0c;數據存儲的重要性不言而喻。隨著企業數字化轉型的加速&#xff0c;海量數據的存儲與高效管理成為亟待解決的問題。云存儲以其卓越的靈活性、可擴展性和成本效益&#xff0c;逐漸成為眾多企業的首選方案。在…

音視頻之H.264的可伸縮編碼SVC

系列文章&#xff1a; 1、音視頻之視頻壓縮技術及數字視頻綜述 2、音視頻之視頻壓縮編碼的基本原理 3、音視頻之H.264/AVC編碼器原理 4、音視頻之H.264的句法和語義 5、音視頻之H.264/AVC解碼器的原理和實現 6、音視頻之H.264視頻編碼傳輸及其在移動通信中的應用 7、音視…

Anaconda安裝env,yml一直卡在Solving environment:不動

如果在使用conda env creat -f env.yml時候&#xff0c;anaconda一直卡住&#xff0c;如下 可以嘗試下面操作。 conda config --set solver libmamba # 使用libmamba引擎&#xff08;Conda≥22.11&#xff09; conda env create -f env.yaml # 重新嘗試