【機器學習300問】103、簡單的經典卷積神經網絡結構設計成什么樣?以LeNet-5為例說明。

? ? ? ? 一個簡單的經典CNN網絡結構由:輸入層、卷積層、池化層、全連接層和輸出層,這五種神經網絡層結構組成。它最最經典的實例是LeNet-5,它最早被設計用于手寫數字識別任務,包含兩個卷積層、兩個池化層、幾個全連接層,以及最后的輸出層。

一、先用文字介紹一下這五層分別在做什么

(1)輸入層

????????輸入通常是經過預處理的圖像數據,例如,將圖像調整到特定尺寸(如32x32x3)并進行歸一化,使得像素值范圍在0到1之間,或者被標準化為均值為0,標準差為1的形式。

(2)卷積層

? ? ? ? 卷積層是CNN的關鍵組成部分,又可以拆分成下面4分部分逐一理解:

  • 卷積核(Filter/Kernels):每個卷積層包含多個可學習的濾波器(或稱為卷積核),這些濾波器在輸入圖像上滑動,執行卷積操作(相乘后求和),從而檢測圖像中的特定特征,如邊緣、線條、紋理等。
  • 步長(Stride):濾波器在圖像上移動的步長,決定了輸出特征圖的空間分辨率。
  • 填充(Padding):通常為了保持輸出特征圖的尺寸或避免邊界信息的丟失,會在圖像邊緣添加零(Zero Padding)。
  • 激活函數:如ReLU(Rectified Linear Unit)用于增加網絡的非線性。

(3)池化層

? ? ? ? 池化層的負責減少特征圖的空間尺寸,降低計算復雜度,同時保持最重要的特征。最常見的池化類型是最大池化(Max Pooling),它在每個池化區域取最大值作為輸出。池化同樣有步長和大小的參數,比如常用的2x2大小,步長為2。

(4)全連接層

????????在一系列卷積和池化層之后,特征圖會被展平(Flatten)成一維向量,然后傳遞給全連接層。全連接層負責將學到的特征映射到分類標簽或其他輸出形式。全連接層是傳統神經網絡的一部分,常用于模型的最終分類或回歸任務。

(5)輸出層

????????對于分類任務,輸出層通常使用Softmax激活函數,將神經元的輸出轉換為概率分布,表示每個類別的預測概率。輸出層的神經元數量等于分類任務的類別總數。

二、再用可視化加深對經典CNN結構的理解

(1)經典CNN結構?

LeNet-5網絡結構圖(英文)

????????CNN有個特點,5個層組成(輸入層、卷積層、池化層、全連接層和輸出層),在神經網絡的隱藏層部分,卷積層和池化層交替出現,最后跟上幾個全連接層再跟輸出層。

????????重復的卷積層與池化層的組合目的是為了學習更深層次、更復雜的特征,每次這樣的組合都會使網絡能夠捕捉到更高層次的抽象特征,如從邊緣逐步過渡到形狀、紋理乃至對象的部分和整體。

LeNet-5網絡結構圖(中文)

(2)這樣的網絡結構設計會出現一種現象

????????經過這樣的網絡結構后,圖像的尺寸(n_H,n_W)會減小,圖像的通道數n_C會增大。?這種變化反映了網絡從原始像素數據中提取并逐步構建更高級、更抽象特征的過程。對此現象稍作解釋:

① 圖像尺寸減小

  • 卷積層:卷積層本身不一定會減少圖像尺寸,但可以通過設置合適的填充(padding)和步長(stride)來控制輸出尺寸。無填充且步長大于1的卷積會縮小輸出尺寸。
  • 池化層:池化層的主要作用之一就是減少空間維度(高度和寬度),通常在每個維度上減半,從而顯著減小圖像尺寸,同時保持最重要的特征。

② 通道數增大

  • 卷積層:每個卷積層通過不同的卷積核學習不同的特征,每個卷積核會產生一個新的通道。因此,卷積層后的通道數通常會增加,具體增加的數量等于該層中濾波器(卷積核)的數量。
  • 池化層:池化操作不會改變通道數,它只影響空間維度。
  • 全連接層:進入全連接層之前,所有之前的層(包括卷積層和池化層)的輸出會被“展平”成一維向量,此時不再討論“通道”這個概念,而是關注于神經元的總數。

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

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

相關文章

ansible批量漏洞升級openssh版本

1、ansible宿主機準備好環境,并寫好hosts文件 [rootoxidized ansible]# cat hosts [all] 10.10.200.33 10.10.200.34 10.10.200.35跑playbook之前記得提前發送秘鑰 ssh-copy-id 10.10.200.33/34/352、下載好安裝包,然后編寫yml [rootoxidized ansible]…

【實用的 IDEA 配置和操作技巧總結】

前置知識 IDEA的設置快捷鍵為ctrlalts鍵,后文介紹IDEA常見的配置就不再贅述這一點了。 基礎配置 取消默認打開上次項目 日常開發都會打開不同的項目,初次安裝IDEA之后,每次打開IDEA都會開啟上一次啟動的項目,所以我們需要進入設…

0基礎學習Mybatis系列數據庫操作框架——Mysql的Geometry數據處理之WKB方案

大綱 序列化反序列化完整TypeHandlerSQL XML完整XML Mapper測試代碼代碼 在《0基礎學習Mybatis系列數據庫操作框架——Mysql的Geometry數據處理之WKT方案》中,我們介紹WTK方案的優點,也感受到它的繁瑣和缺陷。比如: 需要借助ST_GeomFromText…

element+ 引入圖標報錯 Failed to resolve import “@element-plus/icons-vue“ from “

element 引入圖標報錯 Internal server error: Failed to resolve import “element-plus/icons-vue” from “src\components\TimeLine.vue”. Does the file exist? 原因:element-plus需要單獨引入 icons 文檔 pnpm install element-plus/icons-vue之后就可以…

350種類型、10W+量級的API,企業應該怎么管?

忽如一夜春風來,萬物皆可API。 在互聯網時代,API無處不在:企業對外開放的數據、服務和業務能力,以API的形式提供給合作方;企業內部應用與應用、App與App之間的通信,通過API進行;甚至應用內部的…

php 連接sqlserver步驟

1.首先要確定使用的是sqlserver的哪個版本,比如sqlserver2012 2.確定服務器是64位還是32位的 3.確認一下使用php的哪個版本,比如php7.1 SQL Server 的 Microsoft PHP 驅動程序 Microsoft Drivers for PHP 支持矩陣 - PHP drivers for SQL Server | Mi…

Flutter 中的 CupertinoTabView 小部件:全面指南

Flutter 中的 CupertinoTabView 小部件:全面指南 在 Flutter 中,CupertinoTabView 是 Cupertino 組件庫中的一個 widget,它用于創建 iOS 風格的標簽頁視圖。這個 widget 通常與 CupertinoTabScaffold 結合使用,提供了一個底部帶有…

怎么做好客戶信息管理?

根據Forrester的調查表示,客戶滿意度的影響可能會使某些行業的收入每年增加高達 10 億美元。而提升客戶滿意度的關鍵環節便是做好客戶信息管理。但企業在進行客戶信息管理中往往會遇到以下問題: 客戶信息亂:客戶信息存在各個 Excel表格、個人…

PMP報考條件怎么查詢?如何判定自己是否符合條件?

PMP報考條件在PMI官網上就可以查詢,PMP報考條件只需要符合項目管理培訓經歷和項目管理經驗兩個方面的要求即可,大家可以對照下方的規定判斷自己是否符合PMP報名條件 PMP報考條件 以下是PMI(中國)官網對于PMP報名條件的規定&…

優秀的數據分析師需要具備哪些?

在數據驅動的時代,數據分析師的角色越來越被重視。本文將探討優秀數據分析師必備的三大核心能力,并通過實際案例說明如何將這些能力轉化為業務價值,幫助你在職業道路上更進一步。 在數字化迅速發展的今天,數據分析師扮演著極其重要…

ubuntu strace命令

strace 是 Linux 系統中的一個調試工具,用于跟蹤并記錄系統調用(system calls)和信號(signals)。在 Ubuntu 中,strace 命令可以幫助開發者和系統管理員了解一個程序在運行時如何與操作系統內核進行交互&…

TypeScript常見面試題第八節

題目三十六:什么是參數解構? 一、講解視頻 TS面試題三十六:什么是參數解構? 二、題目解析 本題目考察 ts 中的解構,解構是一種特殊語法,可以將對象解構到一個或多個局部變量中,可展開操作符相反,展開是允許將一個數組展開為另一個數組,或將一個對象展開為另一個對象,…

vue+antd實踐:在輸入框光標處插入內容

今天來看一個很簡單的需求。 需求描述:在輸入框光標處,插入指定的內容。 效果如下: 實現思路:剛開始還在想怎么獲取光標的位置,但是發現所做的項目是基于vue3antd組件,那么不簡單了嘛,只要調…

JAVA自制小游戲之推箱子

給家里孩子實現益智游戲開發,教會他怎么使用編程。以下是一個簡單的推箱子游戲的Java實現,包含兩個關卡: 這個程序包含兩個關卡,每個關卡都是一個字符串表示的地圖。游戲會提示玩家輸入移動方向(WASD),然后根據輸入的方向移動玩家。如果玩家成功將所有的箱子推到目標位…

配置物聯網平臺 保姆級教程

一、云平臺配置(我們這里使用阿里云) 1、注冊和登錄 (1)找到云平臺官網,點擊右上角的注冊登錄,完成之后,進行實名認證,任選一種認證方式。 ??????? 2、實例的開通和創建 …

Scala環境的搭建

要搭建Scala,我們必須先下載java,由于我的電腦已經搭建好了環境,因此我這里用截圖來教大家搭建環境。 可以從網上搜索安裝包對其進行安裝 IntelliJ IDEA – 領先的 Java 和 Kotlin IDE 不建議下載最新版的,大家下載的版本可以下…

本殺小程序開發實戰手冊:從構思到上線

一、引言 隨著移動互聯網的快速發展,劇本殺作為一種新興的娛樂方式,受到了越來越多年輕人的喜愛。為了滿足市場需求,開發一款劇本殺小程序成為了許多創業者和開發者的選擇。本文將從構思、設計、開發到上線等方面,為您詳細解析劇…

第52期|GPTSecurity周報

GPTSecurity是一個涵蓋了前沿學術研究和實踐經驗分享的社區,集成了生成預訓練Transformer(GPT)、人工智能生成內容(AIGC)以及大語言模型(LLM)等安全領域應用的知識。在這里,您可以找…

萬界星空科技定制化MES系統幫助實現數字化生產

由于不同企業的生產流程、需求和目標各異,MES管理系統的個性化和定制化需求也不同。有些企業需要將MES管理系統與ERP等其他管理系統進行集成,以實現全面的信息共享和協同工作。有些企業需要將MES管理系統與SCADA等控制系統進行集成,以實現實時…

windows ollama 指定模型下載路徑

為Ollama指定模型的下載路徑 在Windows系統中&#xff0c;如果想為Ollama指定模型的下載路徑&#xff0c;可以通過設置環境變量來實現。以下是詳細的步驟&#xff1a; 確定默認下載路徑&#xff1a; 默認情況下&#xff0c;Ollama的模型可能會下載到C:\Users\<用戶名>…