日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Pytorch神经网络理论篇】 31 图片分类模型:ResNet模型+DenseNet模型+EffcientNet模型

發布時間:2024/7/5 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Pytorch神经网络理论篇】 31 图片分类模型:ResNet模型+DenseNet模型+EffcientNet模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 ResNet模型

?在深度學習領域中,模型越深意味著擬合能力越強,出現過擬合問題是正常的,訓練誤差越來越大卻是不正常的。

1.1 訓練誤差越來越大的原因

在反向傳播中,每一層的梯度都是在上一層的基礎上計算的。隨著層數越來越多,梯度在多層傳播時會越來越小,直到梯度消失,于是隨著層數越來越多,訓練誤差會越來越大。

ResNet模型的動機是要解決網絡層次比較深時無法訓練的問題,借鑒了高速網絡模型的思想,設計出了一個殘差連接模塊。這種模塊可以讓模型的深度達到152層。

1.2 殘差連接的結構

在標準的前饋卷積神經網絡上,加一個直接連接,繞過中間層的連接方式,使得輸入可以直達輸出。

1.2.1 殘差連接的結構圖

1.2.2 殘差連接的定義描述

?1.3? 殘差連接的原理

殘差連接通過將原始的輸入繞過中間的變化直接傳給Addiion,在反向傳播的過程中,誤差傳到輸入層時會得到兩個誤差的加和,一個是左側的多層網絡誤差,一個是右側的原始誤差。左側會隨著層數變多而梯度越來越小,右側則是由Addition直接連到輸入層,所以還會保留Addition的梯度。這樣輸入層得到的加和后的梯度就沒有那么小了,可以保證接著將誤差往下傳。

1.3.1?殘差連接的原理

這種方式看似解決了梯度越傳越小的問題,但是殘差連接在正向同樣也起到作用。

由于正向的作用,網絡結構是并行的模型,即殘差連接的作用是將網絡串行改成并行。

這就是lnception V4模型結合殘差網絡的原理,沒有使用殘差連接,反而實現了與Inception-ResNet V2模型等同的效果的原因。

2 DenSeNet模型

DenseNet模型于2017年被提出,該模型是密集連接的卷積神經網絡CNN,每個網絡層都會接受前面所有層作為其輸入,也就是說網絡每一層的輸入都是前面所有層輸出的并集。

2.1?DenSeNet模型的網絡結構

2.1.1?DenSeNet模型

每一個特征圖都與前面所有層的特征圖相連,即每一層都會接受前面所有層作為其輸入。對于一個L層的網絡,DenseNet模型共包含L(L+1)2個連接。

2.1.2??DenSeNet模型圖

2.2?DenseNet模型的優勢

  • DenseNet模型的每一層都與前面所有層緊密連接、可以直達最后的誤差信號,升梯度的反向傳播,減輕梯度消失的問題,使得網絡更容易訓練。
  • DenseNet模型通過拼接特征圖來實現短路連接,從而實現特征重用,并且采用較小的增長率,每個層所獨有的特征圖比較小。
  • 增強特征圖的傳播,前面層的特征圖直接傳給后面層,可以充分利用不同層級的特征。
  • 2.3?DenseNet模型的缺陷

    DenseNet模型可能耗費很多GPU顯存,一般顯卡無法存放更深的DenseNet模型,需要經過精心優化。

    2.4 稠密快

    稠密塊是DenseNet模型中的特有結構。

    2.4.1?稠密塊的組成

    稠密塊中含有兩個卷積層,這兩個卷積層的卷積核尺寸各不相同(分別為1×1和3×3)。每一個稠密塊由L個全連接層組成。

    全連接僅在一個稠密塊中,不同稠密塊之間是沒有全連接的,即全連接只發生在稠密塊中。

    3 EffcientNet模型

    MnasNet模型是谷歌團隊提出的一種資源約束的終端CNN模型的自動神經結構搜索方法。該方法使用強化學習的思路進行實現。

    3.1?EffcientNet模型的步驟

    1、使用強化學習算法實現的MnasNet模型生成基準模型EfficientNet-B0。
    2、采用復合縮放的方法,在預先設定的內存和計算量大小的限制條件下,對EfficientNet-BO模型的深度、寬度(特征圖的通道數)、圖片尺寸這3個維度同時進行縮放這3個維度的縮放比例由網格搜索得到,最終輸出了EfficientNet模型。

    3.2 EffcientNet模型的調參示意圖

    • 圖1-12(a)是基準模型。
    • 圖1-12(b)是在基準模型的基礎上進行寬度縮放,即增加圖片的通道數量。
    • 圖1-12(c)是在基準模型的基礎上進行深度縮放,即增加網絡的層數。
    • 圖1-12(d)是在基準模型的基礎上對圖片尺寸進行縮放。
    • 圖1-12(e)是在基準模型的基礎上對圖片的深度、寬度、尺寸同時進行縮放。

    3.3 EfficientNet模型的效果

    在ImageNet數據集上Top-1準確率達到84.4%,Top-5準確率達到97.1%,但是其大小僅僅為已知最好深度卷積模型的1/8.4,而且速度比已知最好深度卷積模型快6.1倍。

    EfcientNet模型滿足了在不降低模型準確率的條件下,減少模型的計算量或內存需求(參見arXⅳ網站上編號為“1905.11946”的論文)。

    3.4?MBConv卷積塊

    EficientNet模型的內部是通過多個MBConv卷積塊實現。

    3.4.1?MBConv卷積塊特點

    MBConv卷積塊使用類似殘差連接的結構,不同的是在短連接部分使用了SE模塊,并且將常用的ReLU激活函數換成了Swish激活函數,還使用DropConnect層來代替傳統的Dropout層。

    3.4.2 MBConv卷積塊的結構

    3.4.3? Tip

    在SE模塊中沒有使用BN操作,而且其中的Sigmoid激活函數也沒有被Swish激活函數替換。

    3.5?DropConnect

    在深度神經網絡中,DropConnect層與Dropout層的作用都是防止模型產生過擬合的情況。DropConnect層的效果會更好一些。

    3.5.1?DropConnect層與Dropout層對比

    DropConnect層:在訓練神經網絡模型的過程中,對隱藏層節點的輸入進行隨機的丟棄。

    Dropout層:在訓練神經網絡模型的過程中,對隱藏層節點的輸出進行隨機的丟棄

    3.5.2??DropConnect層與Dropout層結構圖

    ? ?

    總結

    以上是生活随笔為你收集整理的【Pytorch神经网络理论篇】 31 图片分类模型:ResNet模型+DenseNet模型+EffcientNet模型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。