深度學習】--卷積神經網絡

???????

卷積神經網絡

卷積神經網絡(Convolutional Neural Network,簡稱CNN)是一種深度學習模型,特別適用于處理具有網格結構的數據。主要目的是自動地、層次化地從原始數據中學習有效的特征表示,以完成特定的任務,如圖像識別、分類、檢測、分割等。

一、畫面不變性

什么是畫面不變性呢?我們知道一個物體,不管將其如何變換旋轉都能夠將其識別為同一個物體,這就是畫面不變性。比如:

不管上圖中物體如何的變換,我們都希望所建立的網絡可以盡可能的滿足這些不變性特點。

二、圖像識別
我們知道傳統的神經網絡,訓練時會將圖形展開,使得在訓練時網絡模型的記憶比較刻板,比如下圖中,我們進行訓練時讓神經網絡記住正確的目標,但是當正確的圖形變換一個位置時就無法識別了。

那么對于傳統神經網絡該怎么解決這個問題呢?

解決辦法是:用大量物體位于不同位置的數據訓練,同時增加網絡的隱藏層個數從而擴大網絡學習這些變體的能力。

三、卷積網絡

結構

卷積神經網絡的結構:由輸入層、卷積層、激活層、池化層、全連接層、輸出層組成

1. 原理
類比自然界的動物,不同的物種有自己獨有的特征,比如小狗的叫聲是“汪汪汪”,小貓是“喵”,這就是這兩個動物的區別,我們人類也可以通過這種方法來區分二者。

同樣的,卷積神經網絡也是同樣的道理,卷積網絡將圖片劃分出幾個特征點,在識別圖片時,找尋圖片中是否有符合特征點的信息。

比如上圖中,卷積網絡如何將右邊手寫的“x”圖片識別成x?

將標準的x圖片劃分出三個特征,x圖片由上方的三個小部分組成,手寫“x”圖片中有包含第二部分的特征,沒有另外兩部分特征,那這我們怎么判斷它到底是還是不是呢?

就像是每個動物都有自己重要的特征,我們可以通過調整三個部分特征的權重,來決定所識別的圖片是否是x圖片。

所以,綜上所述:卷積就是對圖像(不同的數據窗口數據)和卷積核(一組固定的權重:因為每個神經元的多個權重固定,所以又可以看做一個恒定的濾波器filter)做內積(逐個元素相乘再求和)的操作就是所謂的『卷積』操作,也是卷積神經網絡的名字來源。

2. 卷積層
卷積操作:
卷積操作中需要注意的:

步長stride:每次滑動的位置步長。
卷積核的個數:決定輸出的depth厚度。同時代表卷積核的個數以及濾波器的個數。
填充值zero-padding:在外圍邊緣補充若干圈0,方便從初始位置以步長為單位可以剛好滑倒末尾位置,通俗地講就是為了總長能被步長整除。

對于卷積層,可以形象的將卷積核當作是每個人的眼睛,每個眼睛都能得到一個特征圖,不同的眼睛(卷積核)看到的圖片是不一樣的,這樣我們就能得到多個不同的特征圖。

尋找目標特征:
我們都知道卷積是通過與卷積核的內積得到特征圖,但是,我們如何精準的找到卷積出來的特征圖是不是我們的目標呢?

以鳶尾花為例:

我們的目標是識別圖片中的花朵是不是鳶尾花,那我們卷積時尋找的特征圖,當然得是關于鳶尾花的特征,盡量減少其余噪聲的影響。這就要通過調整卷積核中的參數來調整特征目標:

一開始的卷積核是隨機的,在最后的結果中同正確結果做比對,如果有誤差,再返回卷積層中,更新調整卷積核的參數重新計算特征圖,使得最后的特征圖是目標特征。

特征圖計算:
計算圖片經過卷積后獲得的特征圖大小。

3. 池化層
池化層的作用:
一種降采樣,減小數據的空間大小,因此參數的數量和計算量也會下降,這在一定程度上也控制了過擬合。

常見的池化層:
最大池化、平均池化、全局平均池化、全局最大池化。

平均池化(average pooling):計算圖像區域的平均值作為該區域池化后的值。

最大池化(max pooling):選圖像區域的最大值作為該區域池化后的值。是最為常見的。

通常來說,CNN的卷積層之間都會周期性地插入池化層。

我們偏常用的池化方法是最大池化,最大池化的原理分析:
最大池化的主要功能是壓縮,卻不會損壞識別結果。 這意味著卷積后的特征圖中有對于識別物體不必要的冗余信息。

觀察上圖,我們之前就提到過,卷積神經網絡可以將不同位置的相同物體給識別成同一個物體,在這里就給體現出來了。我們看到第一行三個圖片中,目標物體(黑色標注)在圖片的不同位置,它們經過卷積之后,得到了第二行的三個特征圖,我們再將特征圖進行最大池化,發現池化后的壓縮結果都為3,將其識別為了同一個特征,其余的噪聲影響都被處理了。

池化層操作方法:
與卷積層類似,池化層運算符由一個固定形狀的窗口組成,該窗口根據其步幅大小在輸入的所有區域上滑動,為固定形狀窗口(有時稱為 池化窗口)遍歷的每個位置計算一個輸出。 然而,不同于卷積層中的輸入與卷積核之間的互相關計算,池化層不包含參數。

4. 全連接層
當抓取到足以用來識別圖片的特征后,接下來的就是如何進行分類。 全連接層(也叫前饋層)就可以用來將最后的輸出映射到線性可分的空間。 通常卷積網絡的最后會將末端得到的長方體平攤(flatten)成一個長長的向量,并送入全連接層配合輸出層進行分類。

四、感受野

在卷積神經網絡中,感受野(Receptive Field)是一個核心概念,它指的是網絡中每一層輸出的特征圖(feature map)上的像素點在輸入圖片上映射的區域大小。換句話說,感受野描述了某一層神經元所“看到”的輸入圖像的區域范圍。

例如圖片是3通道:

卷積核為3個7 x 7的,則卷積核所需要的參數個數為:3 x (3 x 7 x 7)=441個

卷積核為3個3 x 3的3層,則卷積核所需要的參數個數為:3 x (3 x 3 x 3)+3 x (3 x 3 x 3) +3 x (3 x 3 x 3) =243個

同樣的效果,后者需要調整的參數更小,自然使用后者更好啦!

總結
本篇介紹了卷積神經網絡的結構以及它的優點:

卷積神經網絡能夠將變換的物體識別出來。
卷積神經網絡的結構:由輸入層、卷積層、激活層、池化層、全連接層、輸出層組成。
什么是感受野。
?

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

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

相關文章

RK3588部署YOLOv8姿態估計

1. YOLOv8姿態估計與部署 姿態估計(Pose estimation)是一項涉及識別圖像中關鍵點位置的任務。 關鍵點可以表示對象的各個部分,如關節、地標或其他獨特特征,關鍵點的位置通常表示為一組2D[x, y]或3D[x, y, visible]坐標。 YOLOv8-Pose人體姿態估計,會先檢測出圖像中…

信創之-麒麟v10服務器安裝tengine(已完成)

之前的文章太長了,所以單獨寫背景:java8springbootnginxredissqlserverwindows server2000目前java8已經更換,windows也已經更換,sqlserver也已經更換成dm8其實java的靜態文件目錄,可以很好處理前端網站了,…

Redis進階(上)

Redis系統架構中各個處理模塊是干什么的? Redis 系統架構 本課時,我將進一步分析 Redis 的系統架構,重點講解 Redis 系統架構的事件處理機制、數據管理、功能擴展、系統擴展等內容。 事件處理機制 Redis 組件的系統架構如圖所示,主…

【K8s】整體認識K8s之監控與升級/ETCD的備份和恢復/kustomization/CRD

metrics-server 先說一下metrics-server,這是一個聚合器,專門用來顯示集群的資源使用情況,主要是內存和cpu。 安裝 metrics-server kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.7.0/comp…

【數據分享】多份土地利用矢量shp數據分享-澳門

而今天要說明數據就是多份土地利用矢量shp數據分享-澳門。數據介紹▲ 土地利用數據(2025年)▲土地利用數據(2018年)▲ 30m土地利用數據(2023年)▲ 公路鐵路道路河流水系數據概況其他概況注:本文…

增強現實—Gated-attention architectures for task-oriented language grounding

🌟🌟 歡迎來到我的技術小筑,一個專為技術探索者打造的交流空間。在這里,我們不僅分享代碼的智慧,還探討技術的深度與廣度。無論您是資深開發者還是技術新手,這里都有一片屬于您的天空。讓我們在知識的海洋中…

CC攻擊的技術分析與防御策略

CC攻擊(Challenge Collapsar Attack)是一種針對Web應用的拒絕服務攻擊方式,其主要通過模擬正常用戶行為來消耗服務器資源。為了更好地理解這種攻擊,讓我們詳細分析其技術原理及防御策略。CC攻擊的技術原理CC攻擊主要是通過發送大量…

【圖論】分層圖

一、分層圖的核心思想 分層圖是一種將圖的不同狀態拆分為多個“層”的建模方法,每層對應一種特定狀態。通過這種方式,可以將復雜的狀態轉移問題轉化為多層圖中的最短路徑問題。 核心特點: 層內邊:表示普通操作(如正常行…

當穩定幣開始生息:USDT0 與 Berachain 的二次進化故事

如果說過去幾年,穩定幣是 DeFi 世界里最安穩的一塊基石,那么 2025 年的 Berachain 正在把它們重新塑造成一種新的資產類型。在這條新興的公鏈上,穩定幣不再只是 “資金的搬運工”,而是搖身一變,成為能生息、能博弈、能…

Kafka、RabbitMQ 與 RocketMQ 在高并發場景下的高可用與性能對比分析

Kafka、RabbitMQ 與 RocketMQ 在高并發場景下的高可用與性能對比分析 消息隊列作為分布式系統中常見的異步解耦組件,在高并發場景下對可用性和性能提出了極高的要求。本文基于生產環境需求,深入分析 Kafka、RabbitMQ 與 RocketMQ 三大主流消息中間件在高…

深入理解 HTTP 與 HTTPS:區別以及 HTTPS 加密原理

目錄 一、HTTP 與 HTTPS 的基本概念 二、HTTP 與 HTTPS 的核心區別 三、為什么需要 HTTPS? 四、HTTPS 的加密通信原理(核心) 1. 客戶端發起 HTTPS 請求 2. 服務端返回 SSL/TLS 證書 3. 客戶端驗證證書 4. 客戶端生成對稱密鑰并用公鑰…

零售行業的 AI 革命:從用戶畫像到智能供應鏈,如何讓 “精準營銷” 不再是口號?

AI 浪潮下的零售變革?在科技飛速發展的今天,人工智能(AI)正以前所未有的態勢席卷全球,深刻地改變著各行各業的運營模式和發展軌跡,零售行業自然也難以置身事外。AI 技術憑借其強大的數據處理能力、精準的分析預測能力…

PyTorch 面試題及詳細答案120題(96-105)-- 性能優化與調試

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。 前后端面試題-專欄總目錄 文章目錄 一、本文面試題目錄 96. 如何查看PyTorch模型的…

Linux 孤兒進程 (Orphan Process)

🎁個人主頁:工藤新一 🔍系列專欄:C面向對象(類和對象篇) 🌟心中的天空之城,終會照亮我前方的路 🎉歡迎大家點贊👍評論📝收藏?文章 文章目錄孤…

Linux Tun/Tap 多隊列技術

🔥 Linux Tun/Tap 多隊列技術 引用:Linux tun/tap 驅動多隊列模式(C/C) 📖 引言 Tun/Tap 是 Linux 內核提供的虛擬網絡設備,廣泛應用于 VPN、虛擬化、網絡隧道等領域。傳統單隊列模式在高吞吐量場景下存…

docker 啟動一個clickhouse , docker 創建ck數據庫

1. 拉鏡像:docker pull clickhouse/clickhouse-server2. 創建容器并且啟動命令:docker run -d --name clickhouse-server \-p 8123:8123 -p 9000:9000 \clickhouse/clickhouse-server3. 日志文件的映射,可以自己配置下,目前創建的…

合約服務架構-OOP 方式

文章目錄前言🎯 經典的面向對象編程!1. 🏗? **封裝 (Encapsulation)**2. 🧬 **繼承 (Inheritance)**3. 🎭 **多態 (Polymorphism)**4. 🎨 **抽象 (Abstraction)**🏛? 設計模式的應用1. **工廠…

C# 生成器模式(一個投資跟蹤程序)

一個投資跟蹤程序 我們考慮一個稍微簡單一點的例子,在這個例子中,用一個類構造一個用戶界面。假設我 們要編寫一個程序來跟蹤投資的效益。我們有股票、債券和基金等投資項目,對每一種投資項 目都要顯示持有量的列表,這樣就能夠選擇…

【DBCExcelConvent】CAN報文解析輔助工具之DBC與Excel互轉

前言 CAN總線翻譯文件DBC是整車解析過程中非常核心的一部分,因此為了能被各大CAN工具解析,它也有自己的一套編碼規則。但并不是無時無刻都有條件打開該文件,對于工程師而言。其實比較直觀和通用的大多數還是Excel表格。因此,為了打…

如何將iPhone日歷傳輸到電腦

iPhone日歷是i設備上一個非常出色的內置應用程序,可以幫助你創建、查看和管理日程或事件。對于所有iPhone用戶來說,在iPhone日歷上添加新事件非常容易。然而,當涉及到將日歷從iPhone傳輸到電腦時,許多人可能會感到困惑&#xff0c…