博客專欄

        EEPW首頁 > 博客 > CNN網(wǎng)絡(luò)結(jié)構(gòu)的發(fā)展——看懂這一篇就夠了(1)

        CNN網(wǎng)絡(luò)結(jié)構(gòu)的發(fā)展——看懂這一篇就夠了(1)

        發(fā)布人:數(shù)據(jù)派THU 時間:2023-08-04 來源:工程師 發(fā)布文章
        CNN的全稱是"Convolutional Neural Network"(卷積神經(jīng)網(wǎng)絡(luò))。而神經(jīng)網(wǎng)絡(luò)是一種模仿生物神經(jīng)網(wǎng)絡(luò)(動物的中樞神經(jīng)系統(tǒng),特別是大腦)結(jié)構(gòu)和功能的數(shù)學(xué)模型或計(jì)算模型。


        作者丨zzq@知乎鏈接丨h(huán)ttps://zhuanlan.zhihu.com/p/68411179
        一、CNN基本部件介紹

        1. 局部感受野

        在圖像中局部像素之間的聯(lián)系較為緊密,而距離較遠(yuǎn)的像素聯(lián)系相對較弱。因此,其實(shí)每個神經(jīng)元沒必要對圖像全局進(jìn)行感知,只需要感知局部信息,然后在更高層局部信息綜合起來即可得到全局信息。卷積操作即是局部感受野的實(shí)現(xiàn),并且卷積操作因?yàn)槟軌驒?quán)值共享,所以也減少了參數(shù)量。

        2. 池化

        池化是將輸入圖像進(jìn)行縮小,減少像素信息,只保留重要信息,主要是為了減少計(jì)算量。主要包括最大池化和均值池化。

        3. 激活函數(shù)

        激活函數(shù)的用是用來加入非線性。常見的激活函數(shù)有sigmod, tanh, relu,前兩者常用在全連接層,relu常見于卷積層。

        4.全連接層

        全連接層在整個卷積神經(jīng)網(wǎng)絡(luò)中起分類器的作用。在全連接層之前需要將之前的輸出展平。

        二、經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)


        1. LeNet5

        由兩個卷積層,兩個池化層,兩個全連接層組成。卷積核都是5×5,stride=1,池化層使用maxpooling。


        圖片


        2. AlexNet

        模型共八層(不算input層),包含五個卷積層、三個全連接層。最后一層使用softmax做分類輸出

        AlexNet使用了ReLU做激活函數(shù);防止過擬合使用dropout和數(shù)據(jù)增強(qiáng);雙GPU實(shí)現(xiàn);使用LRN。

        圖片


        圖片


        3. VGG

        全部使用3×3卷積核的堆疊,來模擬更大的感受野,并且網(wǎng)絡(luò)層數(shù)更深。VGG有五段卷積,每段卷積后接一層最大池化。卷積核數(shù)目逐漸增加。

        總結(jié):LRN作用不大;越深的網(wǎng)絡(luò)效果越好;1×1的卷積也很有效但是沒有3×3好。

        圖片

        4. GoogLeNet(inception v1)

        從VGG中我們了解到,網(wǎng)絡(luò)層數(shù)越深效果越好。但是隨著模型越深參數(shù)越來越多,這就導(dǎo)致網(wǎng)絡(luò)比較容易過擬合,需要提供更多的訓(xùn)練數(shù)據(jù);另外,復(fù)雜的網(wǎng)絡(luò)意味更多的計(jì)算量,更大的模型存儲,需要更多的資源,且速度不夠快。GoogLeNet就是從減少參數(shù)的角度來設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)的。

        GoogLeNet通過增加網(wǎng)絡(luò)寬度的方式來增加網(wǎng)絡(luò)復(fù)雜度,讓網(wǎng)絡(luò)可以自己去應(yīng)該如何選擇卷積核。這種設(shè)計(jì)減少了參數(shù) ,同時提高了網(wǎng)絡(luò)對多種尺度的適應(yīng)性。使用了1×1卷積可以使網(wǎng)絡(luò)在不增加參數(shù)的情況下增加網(wǎng)絡(luò)復(fù)雜度。

        圖片

        Inception-v2

        在v1的基礎(chǔ)上加入batch normalization技術(shù),在tensorflow中,使用BN在激活函數(shù)之前效果更好;將5×5卷積替換成兩個連續(xù)的3×3卷積,使網(wǎng)絡(luò)更深,參數(shù)更少

        Inception-v3

        核心思想是將卷積核分解成更小的卷積,如將7×7分解成1×7和7×1兩個卷積核,使網(wǎng)絡(luò)參數(shù)減少,深度加深

        Inception-v4結(jié)構(gòu)

        引入了ResNet,使訓(xùn)練加速,性能提升。但是當(dāng)濾波器的數(shù)目過大(>1000)時,訓(xùn)練很不穩(wěn)定,可以加入activate scaling因子來緩解

        5. Xception

        在Inception-v3的基礎(chǔ)上提出,基本思想是通道分離式卷積,但是又有區(qū)別。模型參數(shù)稍微減少,但是精度更高。Xception先做1×1卷積再做3×3卷積,即先將通道合并,再進(jìn)行空間卷積。depthwise正好相反,先進(jìn)行空間3×3卷積,再進(jìn)行通道1×1卷積。核心思想是遵循一個假設(shè):卷積的時候要將通道的卷積與空間的卷積進(jìn)行分離。而MobileNet-v1用的就是depthwise的順序,并且加了BN和ReLU。Xception的參數(shù)量與Inception-v3相差不大,其增加了網(wǎng)絡(luò)寬度,旨在提升網(wǎng)絡(luò)準(zhǔn)確率,而MobileNet-v1旨在減少網(wǎng)絡(luò)參數(shù),提高效率。

        圖片


        圖片


        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞: AI

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 宁河县| 车致| 新乐市| 海原县| 隆回县| 河曲县| 中阳县| 休宁县| 九江县| 嘉荫县| 宁河县| 加查县| 武城县| 宝山区| 乡城县| 运城市| 福贡县| 萍乡市| 深水埗区| 班戈县| 福安市| 边坝县| 西乌珠穆沁旗| 卢湾区| 玉山县| 古丈县| 永平县| 潼关县| 凤庆县| 陕西省| 湘西| 都兰县| 澄城县| 平昌县| 会泽县| 阿坝县| 安福县| 克东县| 马公市| 湖南省| 阿城市|