卷積神經網絡 - 卷積層

卷積神經網絡一般由卷積層、匯聚層和全連接層構成,本文我們來學習卷積層。

卷積層(Convolutional Layer)是卷積神經網絡(CNN)的核心組件,專門用于處理具有網格結構的數據(如圖像、音頻、時間序列等)。它的核心思想是通過局部連接權重共享,高效提取數據的局部特征。

一、核心思想:用“滑動窗口”提取局部特征

假設你正在觀察一張貓的圖片:

  • 全連接層:需要將整張圖片的像素展開成一維向量,每個像素與神經元獨立連接,導致參數爆炸。

  • 卷積層:像用放大鏡掃描圖片,每次只觀察一個小窗口(如3×3的區域),通過重復使用同一組權重(卷積核)掃描全圖。

類比
卷積層相當于一組“可學習的特征探測器”,每個探測器(卷積核)專門捕捉一種局部模式(如邊緣、紋理、顏色過渡等)。

卷積層在CNN中的輸出通常用一個三維張量表示,其結構為 (H, W, D):

  • H(高度)和 W(寬度):對應卷積后得到的特征圖的空間尺寸。這個尺寸取決于原始輸入圖像的大小、卷積核尺寸、步幅(stride)和填充(padding)策略。
  • D(深度或通道數):對應卷積層使用的濾波器(卷積核)的個數。每個濾波器在整個輸入上滑動后會生成一個二維特征圖,這些二維特征圖堆疊起來形成第三個維度。

舉個例子:

假設輸入是一張尺寸為32×32的RGB彩色圖像(即32×32×3),我們在卷積層中使用了16個大小為5×5的卷積核(每個卷積核的深度與輸入通道一致,即5×5×3)。如果采用適當的填充(例如“same”填充)和步幅為1,那么卷積層輸出的特征圖尺寸依然為32×32。因此,輸出張量的尺寸就是 32×32×16。

這種三維表示方式能保留圖像的空間結構(高度和寬度),同時通過多個濾波器提取不同的局部特征(深度),為后續的層提供豐富的特征信息。

卷積層的三維結構表示如下:

二、卷積層的數學操作

1. 單通道輸入(灰度圖像)
  • 輸入矩陣:X(尺寸?H×W,如5×5)

  • 卷積核:K(尺寸?Kh×Kw?,如3×3)

  • 輸出特征圖:Y(尺寸?(H?Kh+1)×(W?Kw+1))

計算示例
輸入矩陣:

[[1, 2, 3, 4, 5],[6, 7, 8, 9, 10],[11,12,13,14,15],[16,17,18,19,20],[21,22,23,24,25]]

卷積核:

[[1, 0, -1],[1, 0, -1],[1, 0, -1]]

輸出計算(以左上角3×3區域為例):

Y[0,0]=1×1+2×0+3×(?1)+6×1+7×0+8×(?1)+11×1+12×0+13×(?1)=?24

負值表示檢測到從亮到暗的垂直邊緣

2. 多通道輸入(如RGB圖像)
  • 輸入:Cin??個通道的矩陣(尺寸?H×W×Cin?)

  • 卷積核:每個輸出通道對應?Cin??個核(尺寸?Kh×Kw)

  • 輸出:CoutCout??個特征圖(尺寸?H′×W′×Cout)

參數計算
參數總量 =?Kh×Kw×Cin×Cout+Cout(含偏置項)

三、特征映射的概念

卷積層中的“特征映射”(Feature Map)是指通過卷積核(濾波器)對輸入數據進行局部運算后產生的一組輸出矩陣,每個矩陣對應一種特定的特征響應。通俗地講,可以這樣理解:

  • 局部響應:每個卷積核在輸入圖像上滑動,對每個局部區域計算加權和(加上偏置,并通過激活函數處理),這個計算結果反映了該區域是否包含卷積核所“關注”的特定模式(例如邊緣、紋理、角點等)。

  • 特征“激活”圖:卷積核得到的輸出矩陣就是一個特征映射。矩陣中每個數值代表在對應位置上該特征出現的強度。比如,一個專門檢測垂直邊緣的濾波器,會在圖像中存在垂直邊緣的區域輸出較高的激活值。

  • 多通道組合:通常一個卷積層會有多個卷積核,每個核負責提取不同的特征。這樣,該層的輸出就不只是一個矩陣,而是多個矩陣的組合(通道),每個通道對應一個特征映射,整體提供了豐富的局部特征信息。

  • 空間信息保留:特征映射保留了輸入圖像的空間結構,只不過經過濾波器轉換成了另一種表示。這種空間保持性使得后續層能夠進一步組合這些局部特征,形成更高層次的語義理解。

總之,特征映射就是卷積層對輸入局部區域進行特定模式檢測后輸出的“圖像”,反映了卷積核在整個輸入上的響應情況。這一過程使得網絡能從原始像素中自動學習并提取有意義的局部特征,為進一步的圖像理解和分類提供基礎。

四、卷積層的核心特性

1. 局部連接(Local Connectivity)
  • 原理:每個神經元僅連接輸入的一個局部區域。

  • 優勢

    • 減少參數量(如3×3卷積核僅需9個權重,而全連接層需連接所有像素)。

    • 聚焦局部特征,避免全局噪聲干擾。

2. 權重共享(Weight Sharing)
  • 原理:同一卷積核在不同位置重復使用。

  • 優勢

    • 參數效率極高(1個核掃描全圖)。

    • 捕捉平移不變性(無論貓耳朵在圖像左側還是右側,同一核均可檢測)。

3. 平移不變性(Translation Invariance)
  • 原理:物體在圖像中的位置變化不影響檢測結果。

  • 實現:通過滑動窗口覆蓋所有位置,同一核在不同位置激活相同特征。

五、卷積層的實際效果

1. 淺層卷積:邊緣與紋理檢測
  • 示例核

    • 水平邊緣檢測:[[1,1,1], [0,0,0], [-1,-1,-1]]

    • 垂直邊緣檢測:[[1,0,-1], [1,0,-1], [1,0,-1]]

2. 深層卷積:抽象語義提取
  • 組合低級特征:如通過邊緣檢測結果組合出車輪、窗戶等物體部件。

  • 高級語義:最終識別出“汽車”“人臉”等復雜概念。

3. 特征圖可視化
  • 淺層特征:顯示邊緣、顏色塊等低級模式。

  • 深層特征:對應抽象形狀或物體部件。

六、卷積層與全連接層的對比

特性卷積層全連接層
連接方式局部連接 + 權重共享全局連接 + 獨立參數
參數量與輸入尺寸無關與輸入尺寸成正比
空間信息保留保留多維結構(如圖像的2D布局)展平為一維向量(丟失結構)
適用場景圖像、視頻、語音等網格數據簡單分類任務

七、卷積層的核心價值

  1. 高效特征提取:通過滑動窗口和權重共享,以極少的參數捕捉局部模式。

  2. 層次化學習:淺層提取邊緣/紋理,深層組合抽象語義。

  3. 空間不變性:無論目標在圖像中的位置如何,均能穩定檢測。

實際應用建議

  • 圖像分類:堆疊多個卷積層,逐步抽象特征。

  • 目標檢測:用卷積層生成候選區域(如Faster R-CNN)。

  • 語義分割:全卷積網絡(FCN)保持空間分辨率。

最終理解
卷積層是CNN的“智能掃描儀”,通過可學習的局部模板,在數據中逐段尋找重復出現的模式。這種設計既保留了空間/時序結構,又避免了參數冗余,是處理網格化數據的基石。

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

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

相關文章

Vue3全局化配置(ConfigProvider)

效果如下圖: 在線預覽 APIs ConfigProvider 參數說明類型默認值theme主題對象Theme{}abstractboolean是否不存在 DOM 包裹元素truetagstringConfigProvider 被渲染成的元素,abstract 為 true 時有效‘div’ Theme Type 名稱說明類型默認值common?全…

LabVIEW煙氣速度場實時監測

本項目針對燃煤電站煙氣流速實時監測需求,探討了靜電傳感器結構與速度場超分辨率重建方法,結合LabVIEW多板卡同步采集與實時處理技術,開發出一個高效的煙氣速度場實時監測系統。該系統能夠在高溫、高塵的復雜工況下穩定運行,提供高…

若依excel工具類導出excel模板數據帶下拉映射

導出模板代碼&#xff0c;原理是combo屬性 傳遞一個數組 里面是label下拉數組。 Overridepublic void downloadTemplate(HttpServletResponse response) {ExcelUtil<ThMachineryManageExcel> util new ExcelUtil<>(ThMachineryManageExcel.class);List<SysDist…

3.8 Spring Boot監控:Actuator+Prometheus+Grafana可視化

在Spring Boot應用中&#xff0c;通過整合Actuator、Prometheus和Grafana可以構建完整的監控體系&#xff0c;實現指標采集、存儲和可視化。以下是具體實現步驟&#xff1a; 一、Spring Boot Actuator 配置 作用&#xff1a;暴露應用健康指標、性能數據等監控端點。 1. 添加依…

啟幕數據結構算法雅航新章,穿梭C++夢幻領域的探索之旅——二叉樹序列構造探秘——堆的奧義與實現詩篇

人無完人&#xff0c;持之以恒&#xff0c;方能見真我&#xff01;&#xff01;&#xff01; 共同進步&#xff01;&#xff01; 文章目錄 一、堆的定義與結構二、堆的實現1.堆的初始化和銷毀堆的初始化堆的銷毀 2.向上調整算法和入堆向上調整算法入堆 3.向下調整算法和出堆頂數…

“Failed to Load SteamUI.dll” 錯誤詳解:全面解析與高效解決方案,助你快速修復 Steam 客戶端問題

在使用 Steam 客戶端時&#xff0c;你是否遇到過 failed to load steamui.dll 錯誤&#xff1f;這個令人頭疼的問題可能導致 Steam 無法正常啟動&#xff0c;影響游戲體驗。Failed to load steamui.dll 錯誤通常與文件損壞、系統配置或軟件沖突有關&#xff0c;但無需擔心&…

STM32 DAC詳解:從原理到實戰輸出正弦波

目錄 一、DAC基礎原理1.1 DAC的作用與特性1.2 DAC功能框圖解析 二、DAC配置步驟2.1 硬件配置2.2 初始化結構體詳解 三、DAC數據輸出與波形生成3.1 數據格式與電壓計算3.2 正弦波生成實戰3.2.1 生成正弦波數組3.2.2 配置DMA傳輸3.2.3 定時器觸發配置 四、常見問題與優化建議4.1 …

CNN 稠密任務經典結構

FCN UNet FPN FCNUNETFPNpadding無&#xff08;逐漸變小&#xff09; 有&#xff08;左右對稱&#xff09;上采樣 雙線性雙線性 最近鄰跳躍鏈接 相加 Cropcat 1x1卷積相加 三個網絡差不多&#xff0c;UNet名字最直觀&#xff0c;后續流傳…

AI學習第二天--監督學習 半監督學習 無監督學習

目錄 1. 監督學習&#xff08;Supervised Learning&#xff09; 比喻&#xff1a; 技術細節&#xff1a; 形象例子&#xff1a; 2. 無監督學習&#xff08;Unsupervised Learning&#xff09; 比喻&#xff1a; 技術細節&#xff1a; 形象例子&#xff1a; 3. 半監督學…

Elasticsearch:為推理端點配置分塊設置

推理端點對一次可處理的文本量有限&#xff0c;具體取決于模型的輸入容量。分塊&#xff08;Chunking&#xff09; 是指將輸入文本拆分成符合這些限制的小塊的過程&#xff0c;在將文檔攝取到 semantic_text 字段時會進行分塊。分塊不僅有助于保持輸入文本在可處理范圍內&#…

Unity打包Android平臺調用sherpa-onnx

https://github.com/xue-fei/sherpa-onnx-unity 最初測試了PC的Win和Linux平臺&#xff0c;直接從nuget緩存包中拷貝相關文件&#xff0c;按示例寫了語音轉文字和文字轉語音的測試代碼&#xff0c;功能都正常。 然后是Android端&#xff0c;看了示例發現有編譯好的jni.so之類的…

傳統會議室接入神旗視訊-2 Android會議室大屏設備 (Maxhub, Newline, TCL等)

隨著企業對視頻會議安全性、穩定性和統一管理的需求日益增長&#xff0c;私有化視頻會議系統憑借其全平臺兼容性、高安全性部署和智能化會控能力&#xff0c;成為政企客戶的核心選擇。Android會議室大屏設備&#xff08;Maxhub, Newline, TCL等&#xff09;作為國內主流智能會議…

個人blog系統 前后端分離 前端js后端go

系統設計&#xff1a; 1.使用語言&#xff1a;前端使用vue&#xff0c;并使用axios向后端發送數據。后端使用的是go的gin框架&#xff0c;并使用grom連接數據庫實現數據存儲讀取。 2.設計結構&#xff1a; 最終展示&#xff1a;僅展示添加模塊&#xff0c;其他模塊基本相似 前…

分支結構- P5717-三角形分類-第二十一天

洛谷題單 第二十一天&#xff1a;3.18&#xff08;周二&#xff09; 題目&#xff1a;分支結構–P5717 代碼 #include <stdio.h>//本題目卡住的點&#xff1a;1.邏輯問題 2.對if-else if-else結構的運行理解&#xff0c;導致了邏輯混亂//注意&#xff1a;程序會組個…

華為OD機試 - 最長回文字符串 - 貪心算法(Java 2024 E卷 100分)

題目描述 如果一個字符串正讀和反讀都一樣(大小寫敏感),則稱之為一個「回文串」。例如: level 是一個「回文串」,因為它的正讀和反讀都是 level。art 不是一個「回文串」,因為它的反讀 tra 與正讀不同。Level 不是一個「回文串」,因為它的反讀 leveL 與正讀不同(因大小…

C語言文件操作入門

本節重點 理解文件的形式與基本概念二進制文件與文本文件文件的打開與關閉文件讀寫函數、文件緩沖區 正文開始--------------------------------------------------------------------------------------------------------------------- 一、為什么使用文件 程序運行時數據存…

Doris:聯邦認證

LDAP? 接入第三方 LDAP 服務為 Doris 提供驗證登錄和組授權服務。 LDAP 驗證登錄? LDAP 驗證登錄指的是接入 LDAP 服務的密碼驗證來補充 Doris 的驗證登錄。Doris 優先使用 LDAP 驗證用戶密碼&#xff0c;如果 LDAP 服務中不存在該用戶則繼續使用 Doris 驗證密碼&#xff…

stm32第六天繼電器

一&#xff1a;繼電器 1.繼電器的工作原理 繼電器是一個電控開關&#xff0c;工作原理基于電磁感應&#xff0c;繼電器包括一個電磁線圈和一組觸點。常用于控制高電流或高電壓的電路&#xff0c;例如自動控制原理&#xff0c;電力系統和自動化設備中&#xff0c;由于可靠性和電…

Vue渲染函數 - render 函數

文章目錄 Vue渲染函數 - render 函數1. 什么是 render 函數2、頁面展示過程3、render 函數的參數4. 如何使用&#xff08;1&#xff09;基本渲染&#xff08;2&#xff09;傳遞屬性和事件&#xff08;3&#xff09;條件渲染 5. render 函數的實際使用6.View Design 組件中的使用…