深度學習之CNN網絡簡介

CNN網絡簡單介紹

1.概述

卷積神經網絡(Convolutional Neural Network,CNN)是一種專門用于處理具有網格狀結構數據的深度學習模型。

? CNN網絡主要有三部分構成:卷積層、池化層和全連接層構成,其中卷積層負責提取圖像中的局部特征;池化層用來大幅降低運算量并特征增強;全連接層類似神經網絡的部分,用來輸出想要的結果。

特點

CNN 網絡主要應用于視覺處理,通常位于神經網絡的前端(上游),通過卷積層和池化層自動提取圖像的局部和全局特征,生成緊湊且有區分度的表示,為后續網絡(如全連接層)進行分類或其他任務提供高效輸入,同時減少計算復雜度和參數量。

為什么會說減少參數量?

如果用全連接神經網絡處理圖片,每個像素點都會對應一組參數,因此參數量非常大;而使用卷積神經網絡時,通過卷積核的權重共享機制,一個卷積核就可以作用于整個圖像區域,從而大幅減少參數數量,同時提取局部特征。

2.卷積層

卷積層(Convolutional Layer是 CNN 的核心組成部分,主要作用是從輸入圖像中自動提取局部特征。通過卷積核在圖像上滑動,卷積層能夠捕捉邊緣、紋理、形狀等低級特征,并通過多層堆疊逐步抽象成更高級的語義特征。同時,卷積核的權重共享機制大幅減少了參數量,使網絡在保持空間結構信息的同時,提高了特征提取效率。

卷積核:卷積核是卷積運算過程中必不可少的一個“工具”,其本質上是一個的矩陣。

在定義卷積核時我們需要考慮:

  • 卷積核的個數:卷積核的個數決定了輸出特征矩陣的通道數也就是outfeature的個數。
  • 卷積核的大小(size):一般的卷積核大小為奇數×奇數,如3×3、5×5.

例如一個3*3的卷積核:

在這里插入圖片描述

卷積運算:

卷積的過程是利用卷積核圖像上進行滑動計算,從左到右,從上往下,每滑動到一個位置,卷積核和圖像進行點對點的相乘并相加,最后得到一個新的值,將這個新值添加到特征圖中,整個圖片卷積結束后得到一個新的特征圖。

在這里插入圖片描述

在這里插入圖片描述

卷積的重要性在于它可以將圖像中的特征與卷積核進行卷積操作,從而提取出圖像中的特征。(類比:卷積核像一個小模板,它在圖像上滑動,輸出值越大,就表示該區域“越像”卷積核所關注的特征模式(例如邊緣方向或紋理)。)

應用Pytorch框架自定義卷積層:

from torch import nnclass MyNet(nn.module):def __init__(self):super(MyNet, self).__init__()self.conv = nn.Conv2d(in_channels=32,  # 輸入通道out_channels=128,  # 輸出通道kernel_size=(5, 5),  # 卷積核大小stride=1,  # 步長padding=0,  # 填充bias=True)def forward(self,x):x = self.conv(x)return xmodel = MyNet()
model(img) # img為需要處理的圖片
  • in_channels:輸入數據的通道數
  • out_channels:輸出數據的通道數,這個參數決定了你有多少個卷積核。
  • kernel_size:卷積核大小
  • stride:卷積操作的步長,默認為1。
  • padding:邊緣填充值,默認為0(不進行填充)
  • bias:布爾值,是否設置偏置

注意:

  1. 每個卷積核得到一個新的特征圖,即有多少個卷積核就有多少個特征圖,多通道圖片卷積得到的新圖片為當前卷積核對每個通道卷積后按位相加得到的最終圖。
  2. 在傳入圖片時,數據格式為(N, C, H, W)。N表示批次數(樣本個數)、C表示通道數、H表示高、W表示寬。

特征圖大小(圖片尺寸)計算:

特征圖大小計算公式:
N=W?F+2PS+1 N=\frac{W-F+2P}{S}+1 N=SW?F+2P?+1

  • W:輸入圖片的大小
  • F:卷積核大小
  • S:步長
  • P:邊緣是否填充,填充為1,否則為0
  • N:輸出圖片的大小

3.池化層

池化層通常緊跟在卷積層之后,用于下采樣和特征壓縮。

下采樣: 減少數據的空間或時間分辨率,保留主要信息同時壓縮數據量。

所以池化層的作用就是減少一定的數據量但同時保留重要的數據。

池化層的運算與卷積相似,他們都采用了滑動窗口的思想,通過對局部的數據進行處理輸出一個新的圖像。

池化層主要分為兩種——最大池化和平均池化。

應用Pytorch創建池化層:

pool = nn.MaxPool2d(kernel_size=3,stride=1,padding=0,dilation=1,return_indices=True
)out = pool(img)

kernel:池化窗口大小,int或tuple,如3表示窗口大小為3×3

stride:步長

padding:邊緣填充

dilation:池化窗口內部元素的間隔

return_indices:是否返回新圖像中的像素點在原圖像中的下標,最大池化使用。

  • 最大池化

在這里插入圖片描述

左側為輸入圖像,右側為輸出圖像。最大池化就是取局部區域的最大值作為新圖像像素點的像素值。最大池化在提取圖像中的紋理、形狀等方面具有很好的效果。

  • 平均池化

將局部區域中的值取平均作為池化后的值,這樣可以得到整體特征的平均值。平均池化在提取圖像中的整體特征、減少噪聲等方面具有較好的效果。

在這里插入圖片描述

優點:

  1. 降低特征圖的尺寸,減少計算量,提升模型運行效率。
  2. 池化操作可以帶來特征的平移、旋轉等不變性,這有助于提高模型對輸入數據的魯棒性。
  3. 池化層通常是非線性操作,可以增強網絡的表達能力,進一步提升模型的性能。

缺點:可能會丟失一些信息。

總結

  1. 降低特征圖的尺寸,減少計算量,提升模型運行效率。
  2. 池化操作可以帶來特征的平移、旋轉等不變性,這有助于提高模型對輸入數據的魯棒性。
  3. 池化層通常是非線性操作,可以增強網絡的表達能力,進一步提升模型的性能。

缺點:可能會丟失一些信息。

總結

? CNN 網絡通常位于神經網絡的前端(上游),主要由卷積層和池化層組成,用于自動提取圖像特征、減少計算量,并增強模型的魯棒性和表達能力,從而提升整體性能。

以上內容是博主學習深度學習的一些總結筆記,若文章中出現錯誤請及時指正博主,感謝瀏覽☆嚕~☆

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

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

相關文章

【微實驗】基頻提取的MATLAB實現(優化版)

前情提要: 【超詳細】科普:別再只會用自相關!YIN 和 PYIN 如何破解音頻隱藏密碼?-CSDN博客 【微實驗】媽媽我的MATLAB會識別聲音的基頻了!-CSDN博客 今天用MATLAB把算法封裝成函數,然后調用對比結果。 …

開發 npm 包【詳細教程】(含發布 npm 包,版本號升級,修改包后重新發布等)

1. 給 npm 包取個【唯一】的名字! npm 包命名規范 只能包含小寫字母(a-z)、數字(0-9)、連字符(-) 和 下劃線(_),不能包含空格、大寫字母、標點符號&#xff…

Secure 第三天作業

實驗需求:1.參考以上拓撲所示,完成以下需求:1) 配置各設備 IP 地址2) 配置 ZBFW,Inside-1 和 nside-2 屬于內部 Zone,Outside-1 屬于外部 Zonezone security insidezone security outsidezone-p…

Linux應用層-5.計算機網絡(菜鳥學習筆記)

計算機網絡的核心是連接與通信,從底層的物理信號到上層的應用服務,各層協議協同工作---------------------------------------------------------------------------------------一.計算機網絡分類(按范圍)1?個人區域網&#xff…

[論文閱讀] 人工智能 + 軟件工程 | 大型語言模型對決傳統方法:多語言漏洞修復能力大比拼

大型語言模型對決傳統方法:多語言漏洞修復能力大比拼 論文閱讀:On the Evaluation of Large Language Models in Multilingual Vulnerability RepairarXiv:2508.03470 On the Evaluation of Large Language Models in Multilingual Vulnerability Repair…

計算機網絡2-3:傳輸方式

目錄 串行傳輸和并行傳輸 同步傳輸和異步傳輸 單工、半雙工以及全雙工通信 總結 串行傳輸和并行傳輸 并行傳輸的優點是速度為串行傳輸的n倍,但也存在一個嚴重的缺點即成本高 同步傳輸和異步傳輸 單工、半雙工以及全雙工通信 總結

文檔生成PPT軟件哪個好?深度測評8款word轉ppt生成工具

在日常辦公與教學場景中,如何高效地將Word文檔內容轉化為專業PPT,一直是職場人士、教育工作者及內容創作者的共同痛點。隨著AI技術的普及,一鍵式轉換工具應運而生,它們不僅能精準識別Word中的標題與段落結構,還能自動套…

Azimutt:一款免費開源的多功能數據庫工具

Azimutt 是一款支持數據庫設計、表結構探索與分析、數據查詢以及數據庫文檔生成功能的全棧工具。 Azimutt 是一個免費開源的項目,源代碼托管在 GitHub: https://github.com/azimuttapp/azimutt 功能特性 多數據庫支持:包括主流數據庫 MySQ…

智算賦能:移動云助力“世界一流數據強港”建設之路

2024年5月,某創新產業園區智算中心正式揭牌成立。臺下響起的掌聲不僅是對一個項目的祝賀,更是客戶對未來的期許—— 推動產業結構優化升級,領跑數字經濟轉型發展。5家500強企業、8家上市企業、17家獨角獸企業……該創新產業園區在成為“世界一…

達夢自定義存儲過程實現獲取表完整的ddl語句

--導出表的ddl CREATE OR REPLACE PROCEDURE show_create_table( db IN varchar(255), tb IN varchar(255)) ASsql1 text;ret text : ;cmt text :;sql2 text :; BEGINFOR WSX IN (select TABLEDEF(db,tb) as ddl from dual) LOOPret: ret||WSX.DDL;END LOOP;ret : ret||chr(10…

【ARM】keil提示UVISION: Error: Encountered an improper argument

1、 文檔目標 解決MDK退出debug模式后,提示UVISION: Error: Encountered an improper argument。 2、 問題場景 在退出Debug模式的時候,彈出提示窗口,提示:UVISION: Error: Encountered an improper argument。(如圖…

【2025最新版】PDF24 Creator,PDF編輯,合并分割,格式轉換全能工具箱,本地離線版本,完全免費!

軟件介紹(文末獲取)這款軟件于1999年開發,至今已經有26年了,這26年里它都完全免費!簡潔的操作界面,讓用戶輕松上手,高效完成 PDF 文件的處理,方便又實用。這次給大家帶來的是一個本地…

如何使用VLLM進行openai/gpt-oss系列推理與支持工具調用

OpenAI時隔6年再次推出開源模型gpt-oss系列,本次gpt-oss系列包含兩個模型gpt-oss-120b與gpt-oss-20b。由于模型原生支持一種新的量化技術MXFP4,所以模型的部署所需的顯存也顯著的降低。openai/gpt-oss-20b 只需要大概16GB的顯存openai/gpt-oss-120b 需要…

SVN 查看歷史信息

SVN 查看歷史信息 引言 Subversion(簡稱SVN)是一個開源的版本控制系統,廣泛應用于軟件開發中。查看SVN的歷史信息對于了解代碼變更、追蹤問題來源以及理解項目發展歷程具有重要意義。本文將詳細介紹如何在SVN中查看歷史信息。 SVN歷史信息概述…

vue+flask山西非遺文化遺產圖譜可視化系統

文章結尾部分有CSDN官方提供的學長 聯系方式名片 文章結尾部分有CSDN官方提供的學長 聯系方式名片 關注B站,有好處!編號:F068 項目介紹: 本系統主要實現了以下功能: 非遺項目知識圖譜可視化 非遺項目可視化關鍵詞分析 …

Jetson NX Python環境搭建:使用APT輕松安裝NumPy, scikit-learn, OpenCV

引言 在NVIDIA Jetson NX等ARM架構的嵌入式AI板子上搭建Python開發環境,特別是安裝像NumPy、OpenCV這樣包含C/C底層代碼的科學計算庫時,經常會遇到編譯失敗、耗時過長或依賴沖突等問題。這些問題尤其在通過pip從源代碼編譯安裝時更為突出,例如…

Spring Boot項目中線程池的全面教程

一、線程池基礎概念與重要性1.1 為什么需要線程池在Spring Boot應用中,線程池是一種至關重要的并發編程工具,它通過??復用線程資源??顯著提升系統性能。主要優勢包括:??減少開銷??:避免頻繁創建和銷毀線程帶來的性能損耗?…

機器學習第八課之K-means聚類算法

目錄 簡介 一、K-means 的核心思想 二、K-means 聚類的工作流程 1. 確定聚類數量 K 2.初始化 K 個簇中心 3.簇分配:將數據點分配到最近的簇 4.更新簇中心:重新計算每個簇的中心 5.判斷是否收斂 6.輸出聚類結果 三、聚類效果評價方式 四、k-…

【P21】OpenCV Python——RGB和BGR,HSV和HSL顏色空間,及VScode中報錯問題解決

P21 1 RGB和BGR2 HSV和HSL,YUV2.1 HSV2.1. 色調H2.1.2 飽和度S2.1.3 明度V2.2 HSL2.3 YUV3 顏色空間轉換實戰4 VScode中報錯問題5 Windows 下 VScode 路徑格式(VScode很強大,路徑格式寫法自由多樣)RGB/BGR人眼識別的顏色 &#xf…

.NET 應用程序 Linux下守護進程腳本編寫

下面的腳本是生產可用,可靠的sh腳本,用于監控 .NET 應用程序并自動重啟。假如你打包發布到Linux的程序名稱為MyAspDemo;推薦打包模式為框架依賴:需要在Linux上安裝對應的donet版本;1.在Linux下新建一個文件&#xff0c…