AlexNet:圖像分類領域的里程碑網絡及其創新剖析

文章目錄

  • 前言
  • AlexNet
    • 一、網絡的背景
    • 二、網絡結構
    • 三、網絡的創新
      • 3.1 首次使用GPU訓練網絡
      • 3.2 使用Relu激活函數
        • 3.2.1 sigmoid激活函數和tanh激活函數
          • 3.2.1.1 sigmoid激活函數
          • 3.2.1.2 tanh激活函數
      • 3.3 Relu激活函數
      • 3.4 使用LRN局部響應歸一化(已棄用)
        • 3.4.1 LRN的定義與起源
        • 3.4.2 局部歸一化的動機——側抑制思想
        • 3.4.3 LRN的主要思想及操作過程
        • 3.4.4 LRN的公式及參數說明
        • 3.4.5 LRN的現狀
      • 3.5 在全連接層加入Dropout
        • 3.5.1 AlexNet中Dropout的使用情況
        • 3.5.2 Dropout解決過擬合的原因
  • 四、代碼示例
  • 總結


前言

在當今蓬勃發展的圖像分類領域,深度學習正以前所未有的速度推動著技術的進步。而在眾多深度學習網絡中,AlexNet宛如一顆璀璨的明星,閃耀著里程碑式的光芒。ImageNet大規模視覺挑戰賽(ILSVRC)作為該領域研究進展的重要標桿,見證了無數網絡的角逐與競爭。2012年,AlexNet憑借其卓越的性能在ILSVRC大賽中脫穎而出,以高出第二名10%的顯著優勢奪冠,將圖像分類的準確率從傳統的70%多大幅提升到80%多,引發了深度學習的浪潮。本文將深入剖析AlexNet網絡,從其誕生背景入手,詳細介紹其網絡結構,并著重探討它在多個方面的創新之處,帶您領略這一經典網絡的獨特魅力和深遠影響。


AlexNet

一、網絡的背景

在圖像分類領域,ImageNet大規模視覺挑戰賽(ILSVRC,即 ImageNet Large Scale Visual Recognition Challenge)是深度學習在圖像分類任務研究方面進展的標桿。

AlexNet網絡參加了 ILSVRC 2012 年大賽,以高出第二名 10% 的性能優勢取得冠軍,將傳統 70% 多的準確率提升到 80% 多。它由 2012 年 ImageNet 競賽冠軍獲得者 Hinton 和他的學生 Alex Krizhevsky 設計。之后,更多更深的神經網絡被提出,掀起了一波深度學習的浪潮,是一個具有里程碑意義的網絡。

論文地址
NIPS-2012-imagenet-classification-with-deep-convolutional-neural-networks-Paper.pdf


二、網絡結構

網絡結構的圖,如下圖所示:
在這里插入圖片描述


三、網絡的創新

3.1 首次使用GPU訓練網絡

AlexNet首次運用CUDA加速深度卷積網絡訓練,借助GPU強大的并行計算能力處理神經網絡訓練中的大量矩陣運算。訓練采用兩塊GTX 580 GPU,但單塊GTX 580僅有3GB顯存,限制了可訓練網絡的最大規模。為此,作者將AlexNet分布于兩個GPU上,讓每個GPU顯存存儲一半神經元的參數。

由于GPU之間通信便捷,可直接互相訪問顯存,無需經過主機內存,因此多塊GPU同時使用十分高效。此外,AlexNet在設計上使GPU之間僅在網絡的部分層進行通信,從而控制了通信帶來的性能損耗。


3.2 使用Relu激活函數

在Relu激活函數被提出前,非線性激活函數主要是sigmoid激活函數和tanh激活函數。因此,在介紹Relu激活函數的優勢前,需要先了解這兩種激活函數。


3.2.1 sigmoid激活函數和tanh激活函數
3.2.1.1 sigmoid激活函數

sigmoid激活函數是一種非常受歡迎的神經網絡激活函數,它將函數的輸入轉換成介于0.0和1.0之間的值,大于1.0的輸入被轉換為1.0,小于0.0的值被截斷為0.0。所有可能輸入對應的函數形狀呈現從0到0.5再到1.0的S形。在很長一段時間里,直到20世紀90年代早期,它是神經網絡的默認激活方式。其表達式為:

s i g m o i d ( x ) = 1 1 + e ? x sigmoid(x)=\frac{1}{1 + e^{-x}} sigmoid(x)=1+e?x1?

sigmoid激活函數的輸出不是零中心的(Zero - centered),這會導致優化的效率十分低下。不過,它天然適合做概率值處理,例如用于LSTM中的門控制。


3.2.1.2 tanh激活函數

tanh激活函數是一種形狀類似的非線性激活函數,輸出值介于 - 1.0和1.0之間。在20世紀90年代后期和21世紀初期,由于使用tanh函數的模型更容易訓練,而且往往具有更好的預測性能,因此tanh函數比sigmoid激活函數更受青睞。其表達式為:

t a n h ( x ) = s i n h x c o s h x = e x ? e ? x e x + e ? x tanh(x)=\frac{sinhx}{coshx}=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}} tanh(x)=coshxsinhx?=ex+e?xex?e?x?


3.3 Relu激活函數

Relu激活函數相較于sigmoid激活函數和tanh激活函數具有顯著優勢:
在這里插入圖片描述

  • 計算效率高:sigmoid等函數在計算激活值時需進行指數運算,計算量較大;在反向傳播求誤差梯度時,求導涉及除法,計算量也相對大。而Relu激活函數能大幅節省整個過程的計算量。
  • 避免信息丟失:sigmoid激活函數和tanh激活函數在接近飽和區時,函數變換緩慢,導數趨于0,會造成信息丟失,進而無法完成深層網絡的訓練。Relu激活函數則不存在這一問題。

在AlexNet神經網絡中,全部使用Relu作為激活函數。


3.4 使用LRN局部響應歸一化(已棄用)

3.4.1 LRN的定義與起源

LRN(局部響應歸一化)最早在AlexNet中被提出,其目的是對卷積(即ReLU激活函數輸出)的值進行局部歸一化。


3.4.2 局部歸一化的動機——側抑制思想

在神經生物學中,存在“側抑制(lateral inhibition)”的概念,即被激活的神經元會抑制其周圍的神經元。而歸一化的目的也是“抑制”,LRN正是借鑒了“側抑制”的思想來實現局部抑制。當使用ReLU激活函數時,這種局部抑制效果顯著。


3.4.3 LRN的主要思想及操作過程

LRN的主要思想是在神經元輸出的局部范圍內進行歸一化操作。通過這種方式,降低激活值較大的神經元對后續神經元的影響,進而減少梯度消失和梯度爆炸的問題。
具體操作如下:對于每個神經元,LRN會先將其輸出在局部范圍內進行加權平均,接著將加權平均值除以一個尺度因子(通常為2),最后對結果取平方根并減去均值,從而得到歸一化后的輸出。


3.4.4 LRN的公式及參數說明

在這里插入圖片描述

LRN的公式中涉及以下參數:

  • x i , j , k , l x_{i,j,k,l} xi,j,k,l?:輸入張量的元素。
  • N N N:通道數。
  • n n n:LRN的窗口大小。
  • α \alpha α β \beta β k k k:超參數,用于調整歸一化的強度。

3.4.5 LRN的現狀

由于在2015年,“Very Deep Convolutional Networks for Large - Scale Image Recognition”指出LRN方法作用不大,因此這里不再對其參數進行詳細介紹和舉例,僅需了解它是早期用于歸一化的一種解決方案。目前,后續提出的批量歸一化(Batch Normalization)概念更具說服力,歸一化幾乎都采用BatchNorm方法來實現。


3.5 在全連接層加入Dropout

3.5.1 AlexNet中Dropout的使用情況
  • 使用位置:在AlexNet中,最后2個全連接層使用了Dropout。原因是全連接層容易過擬合,而卷積層不容易過擬合。需要注意的是,Dropout并非本論文首次提出。
  • 參數設置與實現方式:AlexNet設置的dropout參數為0.5,采用的是 Scale at Training 的 Dropout 實現方式。
    • 訓練階段:在前向傳播過程中,隨機將一部分神經元的輸出置為零,以此實現Dropout。
    • 測試階段:不再使用Dropout,而是在訓練時的基礎上將權重按照訓練時的概率進行縮放,以保證一致性。

3.5.2 Dropout解決過擬合的原因
  • 減少過擬合:在標準神經網絡中,網絡可能過度依賴特定神經元,從而導致對訓練數據的過擬合。Dropout通過隨機丟棄神經元,迫使網絡學習對任何單個神經元變化都更具魯棒性的特征表示,進而減少對訓練數據的過度擬合。
  • 取平均的作用:訓練過程中,每次丟棄隨機的神經元,使得每次前向傳播相當于訓練不同的子網絡。測試階段不再進行Dropout,保留所有權重,網絡結構變得完整。這相當于在多個不同子網絡中進行訓練,最終的預測結果是對這些子網絡輸出的平均。這種“綜合取平均”的策略有助于減輕過擬合,因為一些互為反向的擬合會相互抵消。

四、代碼示例

代碼下載:AlexNet.7z


總結

本文圍繞AlexNet這一在圖像分類領域具有里程碑意義的網絡展開了全面且深入的分析。首先介紹了AlexNet的誕生背景,它在2012年ILSVRC大賽中的優異表現為深度學習的發展拉開了新的序幕。接著展示了其網絡結構,讓讀者對該網絡有直觀的認識。隨后重點闡述了AlexNet的創新之處,包括首次使用GPU訓練網絡,借助GPU的并行計算能力高效處理矩陣運算;采用Relu激活函數,克服了傳統sigmoid和tanh激活函數的不足,提高了計算效率并避免信息丟失;提出LRN局部響應歸一化(雖已棄用,但為后續歸一化方法提供了思路);在全連接層加入Dropout,有效解決了過擬合問題。盡管隨著技術的發展,一些方法已被更先進的技術所取代,但AlexNet的創新理念和方法為后續深度學習網絡的發展奠定了堅實的基礎,其在圖像分類領域的貢獻不可磨滅。

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

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

相關文章

iOS性能調優實踐:結合KeyMob等多個工具提升應用穩定性與流暢度

在iOS應用開發中,性能問題往往難以通過單一工具輕松解決。尤其是當App面臨用戶反饋的流暢度差、卡頓嚴重、內存泄漏等問題時,開發者需要依靠多種工具的組合,才能有效地排查和優化性能瓶頸。 在我們最近的一個項目中,開發團隊在處…

球形波方程的推導與解法

題目 問題 6. 一個球形波是三維波動方程的解,形式為 u ( r , t ) u(r,t) u(r,t),其中 r r r 是到原點的距離(球坐標)。波動方程的形式為: u t t = c 2 ( u r r + 2 r u r ) (球形波方程) . u_{tt} = c^{2} \left( u_{rr} + \frac{2}{r} u_{r} \right) \quad \text{(球形…

自動打電話軟件設計與實現

文章目錄 方案概述實現代碼1. 安裝必要的庫2. 主程序代碼3. HTML模板 (templates/index.html) 功能說明部署說明擴展功能建議注意事項 方案概述 使用Twilio的API進行電話呼叫實現基本的呼叫邏輯添加簡單的用戶界面 實現代碼 1. 安裝必要的庫 pip install twilio flask2. 主…

RedissonLock源代碼分析與鎖應用

文章目錄 前言一、RedissonLock源代碼分析1.1 嘗試加鎖2.2 解鎖 二、鎖業務應用1.服務層方法注解方式 注入鎖1.1 定義DistributedLock 注解類1.2 定義DistributedLockAspect 切片類1.3 嘗試獲取鎖代碼片斷1.4 釋放鎖代碼片斷1.5 服務層注入鎖注解 2.代碼行加鎖2.1 pom.xml文件引…

深入理解mysql索引

一、什么是索引? 索引(Index) 是數據庫管理系統中一種特殊的數據結構,存儲在磁盤上。它包含對數據表中一列或多列的值進行排序,并存儲了指向表中實際數據行物理位置或主鍵值的引用指針。可以把它類比為書籍的目錄&…

VMware vSphere Foundation 9.0 技術手冊 —— Ⅰ 安裝 ESXi 9.0 (虛擬機)

目錄 1. 安裝 ESXi 9.0 (虛擬機)(1)ESXi Standard Boot Menu(2)ESXi 安裝導向(3)最終用戶許可協議(4)選擇系統盤(5)選擇鍵盤類型(6)設…

UE5 游戲模板 —— TopDownGame 俯視角游戲

UE5 游戲模板 —— TopDownGame 俯視角游戲 前言一、模塊導入二、TopDownGameMode三、TopDownPlayerController1、構造函數2、SetupInputComponent初始化新輸入系統處理輸入邏輯 四、TopDownCharacter五、射線檢測總結 前言 上一篇文章介紹了一下PuzzleGame模板的流程&#xf…

基于深度學習的智能圖像分割系統:技術與實踐

前言 圖像分割是計算機視覺領域中的一個核心任務,其目標是將圖像劃分為多個有意義的區域或對象。圖像分割在醫學影像分析、自動駕駛、安防監控等多個領域有著廣泛的應用。近年來,深度學習技術,尤其是卷積神經網絡(CNN)…

【學習筆記】2.2 Encoder-Decoder

參考資料:https://github.com/datawhalechina/happy-llm 在 Transformer 中,使用注意力機制的是其兩個核心組件——Encoder(編碼器)和 Decoder(解碼器)。 2.2.1 Seq2Seq 模型 Seq2Seq(序列到…

# 材料力學押題

材料力學押題 文章目錄 材料力學押題第一題第二題組合變形彎曲變形 第一題 Q 求力作用的銷釘位置的豎直偏移距離。 S 方法一:能量方法 材料應變能計算為: U ∫ 內力 2 2 剛度 d A U\int \frac{\text{內力}^2}{2\times 剛度}\text{d}A U∫2剛度內力2?dA 克拉珀龍原理&…

uniapp項目之小兔鮮兒小程序商城(一) 項目介紹,技術棧,小程序的基礎架構,封裝攔截器和請求函數

文章目錄 一.項目介紹和前置內容1.重要鏈接2.技術棧 二.創建uniapp項目1.使用HBuilderX創建2.使用命令行創建3.如何使用vscode開發uniapp項目?step1:把項目拉入vscode,開始下相關插件step2:ts類型校驗step3:設置json文件可以允許注釋 4.pages.json文件的作用是什么?5.示例:在…

Uniapp H5端SEO優化全攻略:提升搜索引擎排名與流量

在移動互聯網時代,H5頁面因其跨平臺、低成本、易傳播的特性,成為許多企業的首選。Uniapp作為一款優秀的前端跨端開發框架,能夠快速開發H5、小程序、App等多端應用。然而,由于Uniapp默認采用SPA(單頁應用)架…

一[3.3]、ubuntu18.04環境 利用 yolov8 實現列車軌道檢測,并提取正確的軌道線【全網最詳細】

一、參考文獻 https://blog.csdn.net/u010117029/category_12977729.html 一[3.2]、ubuntu18.04環境 利用 yolov8 訓練開源列車數據集,并實現列車軌道檢測【全網最詳細】-CSDN博客 火車軌道鐵路軌道檢測識別(附帶Python源碼+詳細解析)_軌道點云提取鐵軌代碼-CSDN博客

pp-ocrv5中的改進-跨階段特征融合(CSP-PAN)以及在 Neck 部分引入 CSP-PAN后為何就能解決小文本漏檢問題?

好的,我們來詳細解析一下 PP-OCRv5 中的**跨階段特征融合(CSP-PAN)**改進,以及它如何有效解決小文本漏檢問題。 背景:PP-OCR 的 Neck 部分與 PAN 在 PP-OCRv3 及之前的版本中,Neck 部分使用的是標準的 **…

【數據分析四:Data Preprocessing】數據預處理

一、數據預處理 直接收集的數據通常是“臟的”: 不完整、不準確、不一致 數據預處理是進行大數據的分析和挖掘的工作中占工作量最大的一個步驟(80%) 二、處理缺失值 處理缺失數據的方法:首先確認缺失數據的影響 數據刪除&#x…

一起來入門深度學習知識體系

前言 什么是深度學習?它有什么魔力? 想象一個機器人能識別人臉、寫詩、翻譯語言、甚至和你聊天。它是怎么學會這些能力的?答案正是——深度學習(Deep Learning)。 簡單來說,深度學習就像是教會一臺計算機…

Prompt+Agent+LLM:半導體爐管設備健康評估的落地實戰

引言 在高端制造業的核心場景中,設備健康管理正面臨前所未有的挑戰。以半導體制造為例,一臺價值數百萬美元的爐管設備意外停機,可能導致整條產線癱瘓、晶圓批次報廢,單日損失可達千萬級。傳統基于閾值規則的監控系統難以捕捉早期…

PostgreSQL的擴展bloom

PostgreSQL的擴展bloom 一、擴展概述 bloom 是 PostgreSQL 提供的一個基于**布隆過濾器(Bloom Filter)**的索引擴展,特別適合多列任意組合查詢的優化場景。 二、核心特性 特性描述優勢多列索引單索引支持多列組合減少索引數量模糊匹配高效處理和IN查詢優于B-tre…

算法與數據結構學習之旅:從入門到進階

在計算機科學的浩瀚宇宙中,算法與數據結構如同閃耀的恒星,驅動著整個程序世界的運轉。無論是手機上流暢運行的 APP,還是搜索引擎瞬間返回的海量結果,背后都離不開算法與數據結構的精妙設計。對于想要深入探索計算機領域的開發者和…

C++map和set類(簡介)

文章目錄 一、關聯式容器二、鍵值對三、樹形結構的關聯式容器3.1 set類的簡介3.2 set的接口3.2.1 set的模版參數列表3.2.2 set的構造3.2.3 set的迭代器3.2.4 set的容量3.2.5 set的修改操作 3.3 set的使用案例3.4 multiset類的介紹3.5 multiset的使用案例3.6 map類的簡介3.7 map…