深度學習04 卷積神經網絡CNN

卷積神經網絡與人工神經網絡關系與區別

概念

卷積神經網絡(Convolutional Neural Network, CNN)是人工神經網絡(Artificial Neural Network, ANN)的一種特殊形式,兩者在核心思想和基礎結構上存在關聯,但在設計目標、網絡結構和應用場景上有顯著差異。

結構

卷積神經網絡對比人工神經網絡引入卷積層池化層等專用層,卷積層通過局部連接和權值共享提取局部特征,池化層降低數據維度

應用領域?

ANN??:廣泛用于分類、回歸、預測等任務,如金融風險評估、文本分類

CNN??:專精于計算機視覺(圖像分類、目標檢測)、語音識別和自然語言處理(如文本分類)等領域

圖像的概念

圖像的相關概念:
  • ??Height (H)??:圖像高度,單位像素
  • ??Width (W)??:圖像寬度,單位像素
  • ??Channels (C)??:顏色通道數,單位“個”
    • ??RGB圖像??:3通道(紅、綠、藍),每個通道值范圍0(黑)~255(白)
    • ??灰度圖像??:1通道(0~255)
    • ??二值圖像??:1通道(0或1)

Numpy表示:形狀:(Height, Width, Channels)

PyTorch表示:形狀:(Channels, Height, Width)

圖像的加載

了解了圖像的概念后,圖像的加載就是由一個三維矩陣或者三個三維矩陣來進行表示:

矩陣的值就是像素的位置以及像素的色彩

圖像加載的3個api:

imread():?讀取圖片像素等信息
imshow()? 根據像素等信息畫圖
imsave()? 保存圖片

CNN卷積神經網絡介紹

卷積神經網絡可以簡單理解為包含卷積層和池化層的神經網絡模型,主要用于圖形方面

組成及作用

輸入層,卷積層,激勵層,池化層,全連接層


卷積層:提取圖像特征圖

????????濾波器/卷積核(filter):帶有共享參數的神經元,有多少濾波器就是有多少個神經元

????????卷積基本計算
?? ?????????根據卷積核大小對特征圖進行點乘運算
?? ?????????點乘運算結果=新特征圖1個特征值

????????

????????Padding(填充)

????????通過上面的卷積計算過程,最終的特征圖比原始圖像小很多,如果想要保持經過卷積后的圖像大小不變, 可以在原圖周圍添加 Padding 來實現。

Padding(填充)操作是一種用于在輸入特征圖的邊界周圍添加額外像素(通常是零)。

????????Stride(步長)

????????Stride(步長)指的是卷積核在圖像上滑動時的步伐大小,即每次卷積時卷積核在圖像中向右(或向下)移動的像素數。步長直接影響卷積操作后輸出特征圖的尺寸,以及計算量和模型的特征提取能力。
????????

????????多通道卷積計算

????????實際中的圖像都是多個通道組成,多通道卷積計算方法如下:

  • 當輸入有多個通道(Channel), 例如 RGB 三個通道, 此時要求卷積核需要擁有相同的通道數(圖像有多少通道,每個卷積核就有多少通道).
  • 每個卷積核通道與對應的輸入圖像的各個通道進行卷積.
  • 將每個通道的卷積結果按位相加得到最終的特征圖.

具體操作如下圖:padding補0,步長為1,通道為3

????????
?????????特征圖大小

輸出特征圖的大小與以下參數息息相關:

  • size: 卷積核/過濾器大小,一般會選擇為奇數,比如有 1*1, 3*35*5

  • Padding: 零填充的方式

  • Stride: 步長

那計算方法如下圖所示:

  • 輸入圖像大小: W x W

  • 卷積核大小: F x F

  • Stride: S

  • Padding: P

  • 輸出圖像大小: N x N

卷積層API介紹

conv = nn.Conv2d(in_channels, out_channels, kernel_size, stride, padding)

"""
參數說明:
in_channels: 輸入通道數,RGB圖片一般是3
out_channels: 輸出通道,也可以理解為卷積核kernel的數量
kernel_size:卷積核的高和寬設置,一般為3,5,7...
stride:卷積核移動的步長
?? ?整數stride:表示在所有維度上使用相同的步長 stride=2 表示在水平和垂直方向上每次移動2個像素
?? ?元組stride: 允許在不同維度上設置不同的步長 stride=(2, 1) 表示在水平方向上步長為2,在垂直方向上步長為1
padding:在四周加入padding的數量,默認補0
?? ?padding=0:不進行填充。
?? ?padding=1:在每個維度上填充 1 個像素(常用于保持輸出尺寸與輸入相同 padding=輸入形狀大小-輸出形狀大小)。
?? ?padding='same'(從 PyTorch 1.9+ 開始支持):讓輸出特征圖的尺寸與輸入保持一致。PyTorch會自動計算需要的填充量。stride必須等于1,不支持跨行,因為計算padding時可能出現小數
?? ?padding=kernel_size-1:Full Padding 完全填充
"""

池化層:降維(只在H,W上降維,與神經元無關)

池化層Pooling主要目的是降低維度,從而減少計算了,減少內存消耗,并提高模型的魯棒性

魯棒性(Robustness),又稱健壯性或穩健性,是系統在面臨內部結構變化、外部環境擾動或不確定性因素時,仍能維持其核心功能穩定運行的能力

池化層的計算

有點類似卷積層計算,但沒有神經元參與

最大池化(Max Pooling) :通過池化窗口進行最大池化,取窗口中的最大值作為輸出

?平均池化(Avg Pooling) :取窗口內的所有值的均值作為輸出

Padding(填充)

Stride(步長

?

多通道池化計算

在處理多通道輸入數據時,池化層對每個輸入通道分別池化,而不是像卷積層那樣將各個通道的輸入相加。這意味著池化層的輸出和輸入的通道數是相等

池化只在寬高維度上池化在通道上是不發生池化(池化前后,多少個通道還是多少個通道)

?

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

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

相關文章

vue基礎之組件通信(VUE3)

文章目錄 前言一、父子組件通信1.父組件向子組件通信2.子組件向父組件通信3.ref父組件直接操作子組件通信。 二、跨代通信1. 跨層級通信2.事件總線通信 總結 前言 vue3的組件通信和vue2相比在語法上會有些差距,且vue3有的通信方式也在功能上比vue2更加完善&#xf…

【RidgeUI AI+系列】中文重復統計器

中文重復統計器 文字重復統計是一個使用文本處理工具, 輸入文本內容并指定最小詞長度后, 就能自動高亮顯示重復的詞。 本教程將會借助AI實現這個應用的開發 頁面腳本編寫 該工具的基礎流程較為清晰:用戶輸入一段文字后,調用提取…

代碼隨想錄|圖論|05島嶼數量(深搜DFS)

leetcode:99. 島嶼數量 題目 題目描述: 給定一個由 1(陸地)和 0(水)組成的矩陣,你需要計算島嶼的數量。島嶼由水平方向或垂直方向上相鄰的陸地連接而成,并且四周都是水域。你可以假設矩陣外均…

數據結構-第二節-堆棧與隊列

一、概念: 堆棧與隊列也是線性表,但是: 堆棧:只能在一個端進行插入刪除,此端稱為棧頂。(特點:后來居上) 隊列:在一端進行插入(隊尾)&#xff0…

HarmonyNext動畫大全02-顯式動畫

HarmonyOS NEXT顯式動畫詳解 1. 核心接口 顯式動畫通過animateTo接口實現,主要特點包括: 觸發方式:需主動調用接口觸發動畫 參數配置 : animateTo({duration: 1000, // 動畫時長(ms)curve: Curve.Ease, // 動畫曲線delay: 200…

芯谷科技--高壓降壓型 DC-DC 轉換器D7005

在當今電子設備日益復雜且對電源性能要求極高的背景下,一款高效、穩定的電源管理芯片至關重要。 D7005憑借其卓越的性能和廣泛的應用適配性,成為眾多工程師在設計電源方案時的優選。 產品簡介 D7005 是一款高效、高壓降壓型 DC-DC 轉換器,具…

MySQL的GTID詳解

GTID(Global Transaction Identifier,全局事務標識符)是MySQL 5.6及以上版本引入的重要特性,用于在主從復制環境中唯一標識每個事務,簡化復制管理、故障轉移和數據一致性維護。以下從多維度詳細介紹GTID: …

專題:2025中國游戲科技發展研究報告|附130+份報告PDF、原數據表匯總下載

原文鏈接:https://tecdat.cn/?p42756 本報告匯總解讀基于艾瑞咨詢《2025中國游戲科技發展白皮書》、伽馬數據《2025年1-3月中國游戲產業季度報告》、嘉世咨詢《2025中國單機游戲市場現狀報告》等多份行業研報數據。當《黑神話:悟空》以虛幻引擎5復刻東…

【數據挖掘】數據挖掘綜合案例—銀行精準營銷

要求: 1、根據相關的信息預測通過電話推銷,用戶是否會在銀行進行存款 2、數據bank.csv,約4520條數據,17個屬性值 提示: 17個屬性,分別是年齡,工作類型,婚姻狀況,受教育…

postgresql查看鎖的sql語句

發現一個查看postgresql鎖比較好的sql語句,參考鏈接地址如下 鏈接地址 查看鎖等待sql witht_wait as(select a.mode,a.locktype,a.database,a.relation,a.page,a.tuple,a.classid,a.granted,a.objid,a.objsubid,a.pid,a.virtualtransaction,a.virtualxid,a.trans…

JSON 格式詳解

JSON 格式詳解 隨著互聯網的發展和各種 Web 應用程序的普及,數據交換已經成為了我們日常開發中的重要環節。而在各種數據交換格式中,JSON(JavaScript Object Notation)作為一種輕量級的數據交換格式,以其簡潔、易于閱…

原型設計Axure RP網盤資源下載與安裝教程共享

對于初學者來說,我們熟悉一下其定義:?Axure RP是一款常用的快速原型設計工具?,主要用于創建應用軟件或Web網站的線框圖、流程圖、原型和規格說明文檔,廣泛應用于產品經理、UI/UX設計師等專業領域。?? 主要用戶群體&#xff1…

iframe嵌套 redirect中轉頁面 route跳轉

需求是項目A要使用iframe內嵌項目B的頁面, 由于需要嵌套的頁面很多,每個頁面路徑和參數又各不相同, 所以我們在項目B里做了一個中轉頁面,這樣就能自己掌控項目A傳遞過來的東西了; routes.js 增加一個菜單:…

IP數據報 封裝成 MAC幀 ( 目的MAC地址6B 源MAC地址6B 類型2B 數據部分 FCS校驗和4B )

將 IP 數據報(Internet Protocol Datagram)封裝成 MAC 幀 需要在數據鏈路層添加適當的頭部信息,以便在局域網內進行傳輸。這個過程涉及將網絡層(IP 層)的數據通過數據鏈路層(MAC 層)封裝成適合物…

Note2.4 機器學習:Batch Normalization Introduction

Batch Normalization(批標準化,BN)通過標準化數據的操作,使得損失函數的優化地形(optimization landscape)更加平滑,從而達到更好地訓練效果。BN常用于卷積神經網絡(CNN)…

IDEA在AI時代的智能編程實踐:從工蜂到通義靈碼的效能躍遷??

引言? 在騰訊云工作期間,我曾使用?工蜂的AI代碼補全功能,結合IntelliJ IDEA(以下簡稱IDEA)極大提升了開發效率。如今離開騰訊云,面對外部開發環境,如何繼續利用AI提升編碼效率?本文將系統梳理…

MySQL 慢查詢日志詳解

慢查詢日志(Slow Query Log)是 MySQL 提供的一種核心性能優化工具,用于記錄執行時間超過指定閾值的 SQL 語句。通過分析這些日志,可以定位數據庫性能瓶頸,優化低效查詢,提升系統整體效率。 一、慢查詢日志的…

UV安裝Python指南總結

UV安裝Python指南總結 UV是一個Python包管理工具,它可以幫助我們安裝和管理Python版本。以下是關于UV安裝Python的主要功能和用法總結。 基本使用 安裝最新版Python uv python install注意:UV使用Astral的python-build-standalone項目提供的Python發行版,而不是…

運維基礎-MYSQL數據庫-筆記

序 欠10年前自己的一份筆記,獻給今后的自己。 數據庫介紹 數據的時代 涉及的數據量大數據不隨程序的結束而消失數據被多個應用程序共享大數據 數據庫的發展史 萌芽階段:文件系統 使用磁盤文件來存儲數據初級階段:第一代數據庫 出現了網狀…

從GPTs到Real智能體:目前常見的幾種創建智能體方式

文章目錄 智能體的三個發展階段低階智能體(面向過程) VS 高階智能體(面向目標)主流智能體創建平臺實踐基礎型平臺cherry-studio豆包訊飛星火騰訊元器 高階智能體開發體系cline開發套件Coze平臺Dify開源框架Manus突破性方案 技術演進趨勢總結 智能體的三個發展階段 當前智能體技…