【深度學(xué)習(xí)】近幾年,關(guān)于基于Imagenet數(shù)據(jù)集圖像分類的模型總結(jié)
「@Author:Runsen」
在過去的幾年里,許多深度學(xué)習(xí)模型涌現(xiàn)出來,例如層的類型、超參數(shù)等。在本系列中,我將回顧幾個最顯著的 deeplearn 圖像分類的模型。
AlexNet (2012 )
VGG (2014)
GoogleNet (2014)
ResNet (2015)
Inception v3 (2015)
SqueezeNet (2016)
DenseNet (2016)
Xception (2016)
ShuffleNet v2 (2018)
MnasNet (2018)
ResNeXt(2019)
MobileNetv3 (2019)
EfficientNet 2019 and EfficientNet v2 2021
AlexNet (2012 )
2012 年,AlexNet 由 Alex Krizhevsky 為 ImageNet 大規(guī)模視覺識別挑戰(zhàn)賽 ( ILSVRV ) 提出的,ILSVRV 評估用于對象檢測和圖像分類的算法。
AlexNet 總共由八層組成,其中前5層是卷積層,后3層是全連接層。前兩個卷積層連接到重疊的最大池化層以提取最大數(shù)量的特征。第三、四、五卷積層直接與全連接層相連。卷積層和全連接層的所有輸出都連接到 ReLu 非線性激活函數(shù)。最后的輸出層連接到一個 softmax 激活層,它產(chǎn)生 1000 個類標(biāo)簽的分布。

VGG (2014)
VGG 是一種流行的神經(jīng)網(wǎng)絡(luò)架構(gòu),由2014年,牛津大學(xué)的 Karen Simonyan 和 Andrew Zisserman 提出。
與 AlexNet 相比,VGG 的主要改進包括使用大內(nèi)核大小的過濾器(第一和第二卷積層中的大小分別為 11 和 5)和多個(3×3)內(nèi)核大小的過濾器。

GoogleNet (2014)
2014年,GoogleNet 誕生,該架構(gòu)有 22 層深,包括 27 個池化層??偣灿?9 個初始模塊線性堆疊。Inception 模塊的末端連接到全局平均池化層。下面是完整 GoogleNet 架構(gòu)的縮小圖像。

ResNet (2015)
由于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練既費時又容易過擬合,微軟引入了一個殘差學(xué)習(xí)框架來改進比以前使用的更深的網(wǎng)絡(luò)的訓(xùn)練。
ResNet在PyTorch的官方代碼中共有5種不同深度的結(jié)構(gòu),深度分別為18、34、50、101、152(各種網(wǎng)絡(luò)的深度指的是“需要通過訓(xùn)練更新參數(shù)”的層數(shù),如卷積層,全連接層等)。
Inception v3 (2015)
與 VGGNet 相比,Inception Networks 已被證明在計算效率更高
Inception v3 網(wǎng)絡(luò)的架構(gòu)是逐步構(gòu)建的,結(jié)構(gòu)圖可點擊查看大圖

SqueezeNet (2016)
SqueezeNet 是一個較小的網(wǎng)絡(luò),它的參數(shù)比 AlexNet 少近 50 倍,但執(zhí)行速度快 3 倍。
如上圖中最左邊所示,SqueezeNet 以一個標(biāo)準(zhǔn)的卷積層開始,然后是 8 個 Fire 模塊,最后再以一個卷積層結(jié)束。步長為 2 的池化分別跟在第一個卷積層、 第 4 個 Fire 模塊、第 8 個 Fire 模塊和最后一個卷積層后面。
中間的網(wǎng)絡(luò)結(jié)構(gòu)在特征圖通道數(shù)相同的 Fire 模塊之間引入了殘差網(wǎng)絡(luò)中的跳躍連接,而最右邊的網(wǎng)絡(luò)結(jié)構(gòu)在中間結(jié)構(gòu)的基礎(chǔ)上,針對特征圖通道數(shù)不一樣的情況,通過一個 1×1 的卷積來調(diào)整通道數(shù)一致后再相加。
DenseNet (2016)
DenseNet 擁有與傳統(tǒng)深度 CNN 相比的一大優(yōu)勢:通過多層的信息在到達網(wǎng)絡(luò)末端時不會被沖刷或消失。這是通過簡單的連接模式實現(xiàn)的。要理解這一點,必須知道普通 CNN 中的層是如何連接的。

這是一個簡單的 CNN,其中各層按順序連接。然而,在DenseNet 中,每一層從所有前面的層獲得額外的輸入,并將其自己的特征映射傳遞給所有后續(xù)層。下面是描繪DenseNet 的圖像。

Xception (2016)
Xception是Google公司繼Inception后提出的對 Inception-v3 的另一種改進。
Xception 的結(jié)構(gòu)基于 ResNet,但是將其中的卷積層換成了Separable Convolution(極致的 Inception模塊)。如下圖所示。整個網(wǎng)絡(luò)被分為了三個部分:Entry,Middle和Exit。

ShuffleNet v2 (2018)
2018年,開始了輕度網(wǎng)絡(luò)的研究,MnasNet ,MobileNet,ShuffleNet,,Xception采用了分組卷積,深度可分離卷積等操作,這些操作在一定程度上大大減少了FLOP。
整體 ShuffleNet v2 架構(gòu)列表如下:

MnasNet (2018)
Google 團隊最新提出 MnasNet,使用強化學(xué)習(xí)的思路,提出一種資源約束的終端 CNN 模型的自動神經(jīng)結(jié)構(gòu)搜索方法。
ResNeXt(2019)
ResNeXt是ResNet 的變體,
ResNet有許多版本,對應(yīng)的ResNeXt也有許多不同版本。
對比下,ResNet50和ResNeXt-50的網(wǎng)絡(luò)結(jié)構(gòu)圖如下:

MobileNetv3 (2019)
在ImageNet分類任務(wù)上,相對于MobileNetV2, MobileNetV3-small精度提高了大約3.2%,時間減少了15%,MobileNetV3-large精度提高了大約34.6%,時間減少了5%。
MobileNetV3的large和small結(jié)構(gòu)如下圖所示。

EfficientNet 2019 and EfficientNet v2 2021
谷歌研究人員在一篇 ICML 2019 論文《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》中,提出了一種新型模型縮放方法,該方法使用一種簡單但高效的復(fù)合系數(shù)(compound coefficient)以更加結(jié)構(gòu)化的方式擴展 CNN,這成為后ResNet時代的頂流EfficientNet,
很多模型網(wǎng)絡(luò)及其復(fù)雜,學(xué)會怎么用輪子就好了。
往期精彩回顧 本站qq群851320808,加入微信群請掃碼:
