PyTorch深度神經網絡(前饋、卷積神經網絡)

文章目錄

  • 神經網絡概述
    • 神經元模型
    • 多層感知機
    • 前饋神經網絡
      • 網絡拓撲結構
      • 數學表示
      • 基本傳播公式
      • 符號說明
      • 整體函數視角
  • 卷積神經網絡
    • 卷積神經網絡發展簡史
      • 第一代(1943-1980)
      • 第二代(1985-2006)
      • 第三代(2006-至今)
        • 快速發展期(2006-2012)
        • 爆發期(2012-)
    • 卷積神經網絡的結構
      • 1. 卷積層
      • 2. 激活函數層
      • 3. 池化層
      • 4. 全連接層
    • 卷積神經網絡類型
      • AlexNet
      • VGGNet
      • GoogLeNet
      • RestNet

神經網絡概述

神經元模型

  • 在神經網絡中,神經元處理單元可以表示不同的對象,例如特征、字母、概念,或者一些有意義的抽象模式。網絡中處理單元的類型分為三類:輸入單元、輸出單元和隱單元。
    • 輸入單元接收外部世界的信號與數據
    • 輸出單元實現系統處理結果的輸出
    • 隱單元是處在輸入和輸出單元之間,不能由系統外部觀察的單元。
  • 神經元間的連接權值反映了單元間的連接強度,信息的表示和處理體現在網絡處理單元的連接關系中。
    在這里插入圖片描述
    x 1 , . . . , x n x_1,...,x_n x1?,...,xn?是從其他神經元傳來的輸入信號, w i j w_{ij} wij?表示從神經元 j j j到神經元 i i i的連接權值,神經元的輸出可以表示為向量相乘的形式:
    n e t i = X W y i = f ( n e t i ) = f ( X W ) net_i=XW \\ y_i=f(net_i)=f(XW) neti?=XWyi?=f(neti?)=f(XW)
  • 如果神經元的凈激活為正,則稱該神經元處于激活狀態或興奮狀態,如果神經元的凈激活為負,則稱神經元處于抑制狀態。

多層感知機

  • 多層感知機(Multi-Layer Perceptron,MLP)是一種前向結構的人工神經網絡,用于映射一組輸入向量到一組輸出向量。MLP可以認為是一個有向圖,由多個節點層組成,每一層全連接到下一層。除輸入節點外,每個節點都是一個帶有非線性激活函數的神經元。
  • 多層感知機由輸入層,隱藏層,輸出層,權重和偏置,激活函數組成。
  • 輸入層:接收外部信息,并傳遞信息到網絡中。輸入層中的節點并不進行任何計算。
  • 隱藏層:一個或多個隱藏層位于輸入層和輸出層之間。每個隱藏層都包含若干神經元,這些神經元具有非線性激活函數,如Sigmoid或Tanh函數。隱藏層的神經元與前一層的所有神經元全連接,并且它們的輸出會作為信號傳遞到下一層。
  • 輸出層:輸出層產生網絡的最終輸出,用于進行預測或分類。輸出層神經元的數量取決于要解決的問題類型,例如在二分類問題中通常只有一個輸出神經元,而在多分類問題中則可能有多個輸出神經元。
  • 權重和偏置:連接兩個神經元的權重表示這兩個神經元之間聯系的強度。每個神經元還有一個偏置項,它幫助調整神經元激活的難易程度。
  • 激活函數:激活函數引入非線性因素,使得神經網絡能夠學習和模擬更復雜的關系。沒有激活函數的神經網絡將無法解決線性不可分的問題。
    在這里插入圖片描述
  • 多層感知機通過在訓練過程中不斷調整連接權重和偏置來學習輸入數據中的模式。這種調整通常是通過反向傳播算法實現的,該算法利用輸出誤差來更新網絡中的權重,以減少預測錯誤。
  • MLP是感知機的推廣,克服了感知機不能對線性不可分數據進行識別的弱點。MLP本身可以使用任何形式的激活函數,如階梯函數或邏輯S形函數(Logistic Sigmoid Function),但為使用反向傳播算法進行有效學習,激活函數必須限制為可微函數。由于雙曲正切(Hyperbolic Tangent)函數及邏輯S形函數具有良好的可微性,所以經常被用作激活函數。
  • 反向傳播算法,在模式識別領域已經成為標準的監督學習算法,并在計算神經學及并行分布式處理領域中獲得廣泛研究。MLP已被證明是一種通用的函數近似方法,可以被用來擬合復雜的函數,或解決分類問題。
  • 具體隱藏層神經元數量取決于樣本中蘊含規律的個數以及復雜程度,而樣本蘊含規律的個數往往和樣本數量有關系。確定網絡隱藏層參數的一個辦法是將隱藏層個數設置為超參,使用驗證集驗證,選擇在驗證集中誤差最小的作為神經網絡的隱藏層節點個數。還有就是通過簡單的經驗設置公式來確定隱藏層神經元個數:
    l = m + n + α l 為隱藏層節點個數, m 是輸入層節點個數, n 是輸出層節點個數, α 一般是 1 ? 100 的常數 l=\sqrt[]{m+n}+\alpha \\ l為隱藏層節點個數,m是輸入層節點個數,n是輸出層節點個數,\alpha一般是1-100的常數 l=m+n ?+αl為隱藏層節點個數,m是輸入層節點個數,n是輸出層節點個數,α一般是1?100的常數

前饋神經網絡

  • 在前饋神經網絡(Feedforward Neural Network,FNN)中,每一層的神經元可以接收前一層神經元的信號,并產生信號輸出到下一層。整個網絡中無反饋,信號從輸入層向輸出層單向傳播。

網絡拓撲結構

  • 輸入層:第0層神經元(直接接收原始數據)
  • 隱藏層:中間所有非線性變換層
  • 輸出層:最后一層神經元(產生最終預測結果)
  • 單向傳播:信號從輸入層→隱藏層→輸出層單向流動,無反饋回路

數學表示

基本傳播公式

z ( l ) = W ( l ) ? a ( l ? 1 ) + b ( l ) a ( l ) = f l ( z ( l ) ) \begin{aligned} z^{(l)} &= W^{(l)} \cdot a^{(l-1)} + b^{(l)} \\ a^{(l)} &= f_l(z^{(l)}) \end{aligned} z(l)a(l)?=W(l)?a(l?1)+b(l)=fl?(z(l))?

符號說明

符號含義維度
l l l網絡層索引標量
m ( l ) m^{(l)} m(l) l l l層神經元數量標量
f l ( ? ) f_l(\cdot) fl?(?) l l l層激活函數非線性函數
W ( l ) W^{(l)} W(l)權重矩陣 R m ( l ) × m ( l ? 1 ) \mathbb{R}^{m^{(l)} \times m^{(l-1)}} Rm(l)×m(l?1)
b ( l ) b^{(l)} b(l)偏置向量 R m ( l ) \mathbb{R}^{m^{(l)}} Rm(l)
z ( l ) z^{(l)} z(l)凈輸入向量 R m ( l ) \mathbb{R}^{m^{(l)}} Rm(l)
a ( l ) a^{(l)} a(l)輸出向量 R m ( l ) \mathbb{R}^{m^{(l)}} Rm(l)

整體函數視角

將網絡視為復合函數:
a ( L ) = φ ( X , W , b ) a^{(L)} = \varphi(X, W, b) a(L)=φ(X,W,b)
其中:

  • 輸入 a ( 0 ) = X a^{(0)} = X a(0)=X
  • 參數 W = { W ( 1 ) , . . . , W ( L ) } W=\{W^{(1)},...,W^{(L)}\} W={W(1),...,W(L)}, b = { b ( 1 ) , . . . , b ( L ) } b=\{b^{(1)},...,b^{(L)}\} b={b(1),...,b(L)}
  • 輸出 a ( L ) a^{(L)} a(L) 為最終預測結果

卷積神經網絡

  • 卷積神經網絡(Convolutional Neural Networks,CNN)是一類包含卷積計算且具有深度結構的前饋神經網絡,它是深度學習框架中的代表算法之一。

卷積神經網絡發展簡史

第一代(1943-1980)

  • 1943年:Warren & Walter提出神經元數學模型
  • 1958年:Frank實現首個感知機(IBM704),完成形狀分類
  • 特點:單層結構,僅解決線性問題

第二代(1985-2006)

  • 1985年:Hinton提出BP算法和多隱含層結構
  • 1988年:Wei Zhang提出SIANN(醫學圖像應用)
  • 1989年:LeCun首創卷積概念(早期LeNet)
  • 1998年:LeNet-5加入池化層,MNIST準確率98%
  • 瓶頸:受限于計算硬件發展

第三代(2006-至今)

快速發展期(2006-2012)
  • 2006年:Hinton提出DBN深度置信網絡
爆發期(2012-)
  • 2012年:AlexNet奪冠ImageNet
  • 后續模型:ZFNet、VGGNet、GoogLeNet、ResNet、DPRSNet
  • 驅動因素:大數據+GPU算力提升

卷積神經網絡的結構

  • 卷積神經網絡中隱含層低層中的卷積層與池化層交替連接高層由全連接層構成

1. 卷積層

功能:通過卷積核(Filter)提取輸入特征
特性

  • 由可學習的卷積單元組成(通過反向傳播優化)
  • 低層提取基礎特征(邊緣/線條),高層提取抽象特征
  • 卷積核在輸入圖像上滑動進行局部區域卷積運算

關鍵參數

參數作用影響
卷積核尺寸局部感受區域大小尺寸↑→提取特征更復雜
步長(Stride)滑動步距步長↑→輸出尺寸↓
填充(Padding)邊緣補零層數保持特征圖尺寸,減少邊緣信息丟失

2. 激活函數層

  • 作用:引入非線性變換(真實數據多為非線性)
  • 特性要求:非線性,連續可微,單調性
  • 常用函數:Sigmoid、Tanh 、ReLU(最常用)

3. 池化層

  • 作用:壓縮特征圖,提取主要特征,簡化網絡計算的復雜度。
  • 池化方式:均值池化,最大池化
    在這里插入圖片描述

4. 全連接層

  • 全連接層位于卷積神經網絡的最后位置。用于給出最后的分類結果。
  • 在全連接層中,特征會失去空間結構,展開為特征向量,并把由前面層級所提取到的特征進行非線性組合得到輸出
    f ( x ) = W ? x + b x 為全連接層的輸入, W 為權重系數, b 為偏置 f(x)=W^{*}x+b \\ x為全連接層的輸入,W為權重系數,b為偏置 f(x)=W?x+bx為全連接層的輸入,W為權重系數,b為偏置
  • 全連接層連接所有特征輸出至輸出層,對于圖像分類問題,輸出層使用邏輯函數或歸一化指數函數輸出分類標簽;在圖像識別問題中,輸出層輸出為物體的中心坐標、大小和分類;在語義分割中,則直接輸出每個像素的分類結果。

卷積神經網絡類型

AlexNet

  • AlexNet是一種具有里程碑意義的深度卷積神經網絡。AlexNet在2012年的ImageNet大規模視覺識別挑戰賽獲得冠軍,標志深度學習時代的來臨,并奠定了卷積神經網絡在計算機視覺領域的絕對地位。
  • AlexNet的成功在于引入新的技術和訓練方法,包括ReLU激活函數、Dropout正則化以及使用GPU進行加速訓練。這些技術的應用極大地提高了網絡的性能,并且對后續的深度學習模型設計產生了深遠的影響。
  • AlexNet的網絡結構包括 5 5 5個卷積層和 3 3 3個全連接層。它的輸入圖像尺寸為 227 × 227 × 3 227×227×3 227×227×3(實際輸入尺寸應為 227 × 227 227×227 227×227,由于卷積核大小和步長的設置,之前有文獻提到 224 × 224 224×224 224×224)。網絡中使用了 96 96 96 11 × 11 11×11 11×11的卷積核對輸入圖像進行特征提取,步長為 4 4 4,沒有使用填充。
    在這里插入圖片描述

VGGNet

  • VGGNet探索網絡深度與其性能的關系,通過構筑 16 19 16~19 16?19層深的卷積神經網絡, T o p 5 Top5 Top5誤差率為 7.5 7.5% 7.5,采用 3 x 3 3x3 3x3的卷積核與 2 x 2 2x2 2x2的池化核,網絡結構如圖所示。
    在這里插入圖片描述
  • VGGNet包含很多級別的網絡,深度從11層到19層不等,最常用的是VGG-16和VGG-19。
  • VGGNet把網絡分成了5段,每段都把多個3x3的網絡串聯在一起,每段卷積后接一個最大池化層,最后是3個全連接層和一個Softmax層。

  • VGGNet 核心創新
  1. 小卷積核堆疊設計

    • 使用多層3×3小卷積核替代單層大卷積核(如用2層3×3代替1層5×5)
    • 優勢:增強特征提取能力(感受野相同但非線性更強),顯著減少參數量(2層3×3:18n vs 1層5×5:25n)
  2. 高效訓練策略

    • 多尺度訓練與交替訓練結合
    • 關鍵層預訓練技術
    • 效果:大幅縮短收斂周期
  • 局限性:全連接層過多(3個FC層);導致參數量爆炸(占模型總參數90%+);內存/計算資源消耗大

GoogLeNet

  • GoogLeNet是由谷歌的研究院提出的卷積神經網絡,獲得2014年的ILSVRC比賽分類任務的冠軍,Top5誤差率僅為6.656%。
  • GoogLeNet的網絡共有22層,但參數僅有700萬個,比之前的網絡模型少很多。
  • 一般來說,提升網絡性能最直接的辦法就是增加網絡深度,隨之增加的還有網絡中的參數,但過量的參數容易產生過擬合,也會增大計算量。GoogLeNet采用稀疏連接解決這種問題,為此提出了inception結構。
    在這里插入圖片描述
  • 在inception結構中,同時采用 1 × 1 、 3 × 3 、 5 × 5 1\times1、3\times3、5\times5 1×13×35×5卷積核是為了將卷積后的特征保持一致,便于融合 s t r i d e = 1 stride=1 stride=1 p a d d i n g padding padding分別為 0 、 1 、 2 0、1、2 012,卷積后就可得到相同維度的特征,最后進行拼接,將不同尺度的特征進行融合,使得網絡可以更好地提取特征。

RestNet

  • 隨著神經網絡深度的增加,模型準確率會先上升,然后達到飽和,持續增加深度時,準確率會下降;因為隨著層數的增多,會出現梯度爆炸或衰減現象,梯度會隨著連乘變得不穩定,數值會特別大或者特別小。因此,網絡性能會變得越來越差。
  • ResNet通過在網絡結構中引入殘差網絡來解決此類問題。殘差網絡結構如圖所示。

在這里插入圖片描述

  • 殘差網絡是跳躍結構,殘差項原本是帶權重的,但ResNet用恒等映射。在圖5-7中,輸入為x,期望輸出為H(x),通過捷徑連接的方式將x傳到輸出作為初始結果,輸出為 H ( x ) = F ( x ) + x H(x)=F(x)+x H(x)=F(x)+x,當 F ( x ) = 0 F(x)=0 F(x)=0時, H ( x ) = x H(x)=x H(x)=x。于是,ResNet相當于將學習目標改變為殘差F(x)=H(x)-x,因此,后面的訓練目標就是要將殘差結果逼近于0。
  • ResNet通過提出殘差學習,將殘差網絡作為卷積神經網絡的基本結構,通過恒等映射來解決因網絡模型層數過多導致的梯度爆炸或衰減問題,可以最大限度地加深網絡,并得到非常好的分類效果。

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

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

相關文章

三軸云臺之控制算法協同技術篇

三軸云臺的控制算法協同技術是確保云臺在復雜動態環境下實現高精度、高穩定性運動控制的核心,其技術體系涵蓋多傳感器融合、多算法協同以及多目標優化三個關鍵維度。以下從技術架構與實現路徑展開分析: 一、多傳感器融合:構建環境感知基礎 三…

Adobe DC 2025安裝教程

一.軟件下載 點此下載 二.軟件安裝

[Java實戰]Spring Boot 整合 Freemarker (十一)

[Java實戰]Spring Boot 整合 Freemarker (十一) 引言 Apache FreeMarker 作為一款高性能的模板引擎,憑借其簡潔語法、卓越性能和靈活擴展性,在 Java Web 開發中占據重要地位。結合 Spring Boot 的自動化配置能力,開發者能快速構建動態頁面、…

DeepSeek:開啟能源領域智能化變革新時代

目錄 一、DeepSeek 與能源領域變革的邂逅1.1 DeepSeek 在人工智能領域的地位與特點1.2 能源行業面臨的挑戰與變革需求1.3 DeepSeek 在能源領域應用的重要性和意義 二、能源政策解讀與科普新助手2.1 能源政策解讀的深度變革2.2 能源科普的創新使者 三、能源項目可行性分析新利器…

uniapp設置 overflow:auto;右邊不顯示滾動條的問題

設置了overflow:auto;或者其它overflow的屬性不顯示滾動條是因為在uniapp中默認隱藏了滾動條 解決方法: //強制顯示滾動條 ::-webkit-scrollbar {width: 8px !important;background: #ccc !important;display: block !important;}//設置滾動條顏色.cu-…

hyper-v安裝ubuntu后時磁盤空間擴容

使用hyper-v創建虛擬機Ubuntu 22.04,直接使用的是磁盤鏡像,原磁盤空間只有12GB,明顯不夠用呀,現在想要擴展到50GB,準備開始。 1、先關閉Ubuntu,再hyper-v管理器中調整磁盤容量到50GB 2、進入虛擬機 3、準備…

Prometheus 的介紹與部署(入門)

一、什么是Prometheus; 1.介紹 Prometheus 是一個功能強大的監控工具,適用于各種環境。通過簡單的安裝和配置,可以快速實現對系統和服務的監控。無論是單機環境、容器化環境還是 Kubernetes 集群,Prometheus 都能提供靈活…

Angular 知識框架

一、Angular 基礎 1. Angular 簡介 Angular 是什么? 基于 TypeScript 的前端框架(Google 維護)。 適用于構建單頁應用(SPA)。 核心特性 組件化架構 雙向數據綁定 依賴注入(DI) 模塊化設計…

注解和 XML 兩種方式有什么區別?

注解和 XML 是兩種常見的配置方式(尤其在 Java 開發中,如 Spring 框架),它們的主要區別體現在配置方式、代碼耦合性、可讀性、維護性等方面。以下是兩者的對比: 1. 配置方式 注解(Annotation) 在…

Python爬蟲實戰:研究攔截器,實現逆向解密

1. 案例背景與研究目標 1.1 研究背景 在數字化時代,網絡數據成為重要資源。許多網站通過加密技術保護數據傳輸,如電商平臺的價格信息常以加密形式存在。爬蟲技術與逆向工程的結合,為合法獲取和分析此類數據提供了解決方案。 1.2 研究目標 開發完整的 Python 爬蟲系統,實現…

Math工具類全面指南

Math工具類全面指南 前言一、Math 類的基礎特性1.1 類的聲明與常量1.2 數據類型支持 二、基礎算術運算2.1 絕對值運算2.2 取整運算2.2.1 floor():向下取整2.2.2 ceil():向上取整2.2.3 round():四舍五入取整 2.3 最大值與最小值 三、三角函數與…

嵌入式C語言中指針的不同類型及其特點分析

在 C 語言中,指針的類型主要可以分為以下幾類: 1.1 基本類型指針 基本類型指針是指指向基礎數據類型的指針,通常用于存儲變量的地址。它們的類型與指向的變量類型相同。常見的基本類型指針包括: 整型指針:int *p,p是一個指向整型數據的指針。字符型指針:char *p,p是…

gd32e230c8t6 keil6工程模板

下載固件gd32e230c8t6固件官方下載(需登錄) 或 藍奏云 新建一個文件夾,把固件壓縮包里的里的Firmware和Template拖進去 keil新建gd32e230c8工程 必須勾選CMSIS-CORE 新建一個文件夾,雙擊任意改名 點擊manage project it…

SQL看最多的數據,但想從小到大排列看趨勢

SQL 查詢:從 test 表中獲取本月的數據,并對數量最多的前10個流程按數量升序排序 假設表結構 test 表包含請求信息。workflow_base 包含流程的基本信息。 CREATE TABLE test (requestid INT, -- 請求IDworkflowid INT, -- 流程IDcurr…

WebGL知識框架

一、WebGL 基礎概念 1. WebGL 簡介 是什么? 基于 OpenGL ES 的瀏覽器 3D 圖形 API,直接操作 GPU 渲染。 核心特點 底層、高性能、需手動控制渲染管線。 依賴 JavaScript 和 GLSL(著色器語言)。 與 Three.js 的關系 Three.js…

LabVIEW電渦流傳感器自動校準系統

在工業生產中,尤其是大型旋轉機械的運行監測環節,電渦流傳感器的精準校準極為關鍵。傳統手動校準方式存在諸多弊端,如人工參與度高、操作重復、效率低下等,難以滿足現代工業快速發展的需求。基于 LabVIEW 開發的電渦流傳感器自動校…

HCIP-BGP綜合實驗

一:拓撲圖 二:需求分析 1,AS1存在兩個環回,一個地址為192.168.1.0/24該地址不能在任何協議中宣告,AS3中存在倆個環回,一個地址為192.168.2.0/24該地址不能在任何協議中宣告,最終要求這兩個環回…

嵌入式STM32學習——繼電器

繼電器模塊引腳說明 VCC(): 供電正極。連接此引腳到電源(通常是直流電源),以提供繼電器線圈所需的電流。 GND(-): 地。連接此引腳到電源的負極或地。 IN(或…

03_樸素貝葉斯分類

描述 樸素貝葉斯分類器與線性模型非常相似的一種分類器,但它的訓練速度往往更快。這種高效率所付出的代價是,樸素貝葉斯模型的泛化能力要比線性分類器(如LogisticRegression 和 LinearSVC)稍差。 樸素貝葉斯模型高效的原因&…

Cabot:開源免費的 PagerDuty 替代品,讓系統監控更簡單高效

在當今復雜的IT環境中,及時發現并解決系統問題至關重要。而Cabot作為一款開源免費的監控工具,為開發和運維團隊提供了強大而簡單的解決方案。本文將詳細介紹Cabot的核心功能、優勢以及快速部署方法,幫助你更好地保障系統穩定性。 Cabot簡介 Cabot是一個功能類似PagerDuty的開…