2019-06-22
CNN的發(fā)展歷史(LeNet,Alexnet,VGGNet,GoogleNet,ReSNet)
LeNet-5、AlexNet戈钢、GoogLeNet、VGGNet、ResNet
1彪蓬、LeNet-5(Yann LeCun)
1986,用于手寫體識別:用這個(gè)來仔細(xì)理解CNN
2杨箭、AlexNet(Alex寞焙,Hinton的學(xué)生)
2012,Imagenet比賽冠軍:特殊點(diǎn)在LRN層等
3、GoogLeNet
2014捣郊,Imagenet比賽冠軍:特殊點(diǎn)在inception結(jié)構(gòu)
4辽狈、VGGNet
2014,ILSVRC比賽的亞軍和定位項(xiàng)目的冠軍呛牲。特殊點(diǎn)在用多個(gè)小filter代替一個(gè)大filter刮萌,如兩個(gè)3x3代替5x5。
5娘扩、ResNet
2015着茸,Imagenet比賽冠軍:特殊點(diǎn)在殘差、bottleneck結(jié)構(gòu)
1 LeNet-5
灰常詳細(xì):網(wǎng)絡(luò)解析(一):LeNet-5詳解
輸入圖像:32x32
1琐旁、C1——卷積層1:1@32x32 --> 6@28x28
卷積核大袖汤:5x5
卷積核種類:6
輸出feature map大小:32-(5-1)/2x2 = 28灰殴,6x28x28
神經(jīng)元數(shù)量:6x28x28
可訓(xùn)練參數(shù):(5x5+1)x6 (Wx+b敬特,對于每個(gè)核W,都有個(gè)常數(shù)b)
連接數(shù):(5x5+1)x6 x28x28
2牺陶、S2——下采樣層1:6@28x28 --> 6@14x14
采樣區(qū)域:2x2
輸出feature map大形袄:28/2 = 14,6x14x14
神經(jīng)元數(shù)量:6x14x14
連接數(shù):(2x2+1)x6 x14x14掰伸?皱炉??這層怎么算
3狮鸭、C3——卷積層2:6@14x14 --> 16@10x10
卷積核大泻辖痢:5x5
卷積核種類:16
輸出feature map大小:14-(5-1)/2x2 = 10怕篷,16x10x10
神經(jīng)元數(shù)量:16x10x10
可訓(xùn)練參數(shù):(6x5x5+1)x16
連接數(shù):(6x5x5+1)x16 x10x10
4历筝、C4——池化層2:16@10x10 --> 16@5x5
5、C5——卷積層3:16@5x5 --> 120@1x1
卷積核大欣任健:5x5
卷積核種類:120
輸出feature map大惺嶂怼:120x1x1
神經(jīng)元數(shù)量:120x1x1
可訓(xùn)練參數(shù):(16x5x5+1)x120
連接數(shù):(16x5x5+1)x120 x1x1
6、F6——全連接層1:120@1x1 --> 84
神經(jīng)元數(shù)量:84
可訓(xùn)練參數(shù)蒸痹、連接數(shù):(120x1x1+1)x84
7春弥、Output——全連接層2:84 -->10
輸出:0~9數(shù)字
2 AlexNet
炒雞詳細(xì):AlexNet詳細(xì)解讀
1、特點(diǎn)1——非線性激活函數(shù)ReLU(Rectified Linear Unit)
-
ReLU是什么:f(x) = max(0, x)
ReLU - ReLU優(yōu)勢:
(1) 為什么要用非線性:線性函數(shù)的函數(shù)依然是線性叠荠,意味著堆多少層都相當(dāng)于一層匿沛。這樣模型的表達(dá)能力有限。
(2) 同樣是非線性榛鼎,為什么要用ReLU:sigmoid逃呼、tanh函數(shù)在gradient飽和時(shí)趨近0鳖孤,會造成梯度消失(梯度下降時(shí)衰減慢),或者梯度爆炸抡笼;導(dǎo)數(shù)是常數(shù)苏揣。所以ReLU這樣的非飽和函數(shù)要比飽和函數(shù)訓(xùn)練得快。
(3) 符合生物學(xué)特性推姻,生物沒有負(fù)的呀 - 為什么說ReLU是非線性:
因?yàn)榫€性平匈、非線性是對于整個(gè)定義域而言的。
2藏古、特點(diǎn)2——雙GPU
- GPU相互間只能在特定的層進(jìn)行通信交流增炭,每一個(gè)GPU負(fù)責(zé)一半的運(yùn)算處理。但其實(shí)與單GPU并非等價(jià)的拧晕,雙GPU提高計(jì)算速度的同時(shí)隙姿,也提高了準(zhǔn)確度(不太懂)。
3防症、特點(diǎn)3——提出了LRN局部響應(yīng)歸一化(Local Response Normalization)
LRN ( Local Response Normalization) 局部響應(yīng)歸一化層
- LRN優(yōu)勢:提高準(zhǔn)確度
- 用法:在激活孟辑、池化后進(jìn)行
- 思想:對局部神經(jīng)元的活動(dòng)創(chuàng)建競爭機(jī)制哎甲,使得其中響應(yīng)比較大的值變得相對更大蔫敲,并抑制其他反饋較小的神經(jīng)元,增強(qiáng)了模型的泛化能力
-
公式:LRN公式
- 理解:以某一規(guī)則“歸一化”炭玫,是把激活函數(shù)的輸出作為a奈嘿,“歸一化”后的結(jié)果為b。實(shí)現(xiàn)了某種形式的橫向抑制吞加,因?yàn)槭歉@一層的所有卷積核相關(guān)的裙犹。
(不太理解為什么要這樣) - 看這個(gè)理解了公式,把大段大段的文字都看一遍:在AlexNet中LRN 局部響應(yīng)歸一化的理解
- 所謂的橫向抑制是指在不同kernel層的方向上衔憨,同一個(gè)像素位置(x, y)的歸一化叶圃。其中n是自己設(shè)置,決定了哪些層的這個(gè)位置歸一化践图。但是還是感受不到這樣做的好處掺冠。
4、特點(diǎn)4——池化:maxpooling码党、overlap
- max pooling的優(yōu)勢:避免平均池化的模糊化效果
- overlap pooling的優(yōu)勢:池化層的輸出之間會有重疊和覆蓋德崭,提升了特征的豐富性
5、特點(diǎn)5——證實(shí)了Dropout的效果
6揖盘、特點(diǎn)6——用了數(shù)據(jù)增強(qiáng)
- 原圖片大小為256256中隨機(jī)的提取224224的圖片眉厨,以及水平方向的鏡像。
- 圖像中每個(gè)像素的R兽狭、G憾股、B值上分別加上一個(gè)數(shù)(這個(gè)不太懂)
3 GoogleNet
在這之前鹿蜀,網(wǎng)絡(luò)的改進(jìn)基本都是往更深發(fā)展。而GoogleNet除了堆了很多層服球,還有很多inception層耻姥。
1、特點(diǎn)1——inception層
深度神經(jīng)網(wǎng)絡(luò)Inception結(jié)構(gòu)以及作用
- 理解:看了鏈接里油管上吳恩達(dá)的一點(diǎn)點(diǎn)有咨,應(yīng)該意思是琐簇,之前是比如5x5的同樣大小的6個(gè)卷積核作用于輸入,現(xiàn)在換成有的是5x5座享,有的是3x3婉商,有的是pooling,然后跟之前一樣渣叛,堆疊起來丈秩。
- inception優(yōu)勢:這樣特征就很多樣化了。
4 VGG
VGGNet介紹
1淳衙、特點(diǎn)1——小卷積核替代大卷積核
- 思想:2個(gè)3x3串聯(lián)相當(dāng)于1個(gè)5x5蘑秽;3個(gè)3x3的感受野相當(dāng)于1個(gè)7x7
- 優(yōu)勢:3個(gè)33的卷積層參數(shù)量只有77的一半左右;前者可以有3個(gè)非線性操作箫攀,而后者只有1個(gè)非線性操作肠牲,這樣使得前者對于特征的學(xué)習(xí)能力更強(qiáng)。
5 ResNet
經(jīng)典分類CNN模型系列其四:Resnet
1靴跛、特點(diǎn)1——?dú)埐钅K
- 思想:不用學(xué)習(xí)整個(gè)的輸出缀雳,而是學(xué)習(xí)上一個(gè)網(wǎng)絡(luò)輸出的殘差
- 理解:正常的是學(xué)習(xí)X -> H(X)的過程,而殘差網(wǎng)絡(luò)的關(guān)系是X -> (H(X) - X) + X要學(xué)習(xí)的是X -> (H(X) - X)的過程
2梢睛、特點(diǎn)2——bottleneck
- 優(yōu)勢:bottleneck的結(jié)構(gòu)塊來代替常規(guī)的Resedual block肥印,它像Inception網(wǎng)絡(luò)那樣通過使用1x1 conv來巧妙地縮減或擴(kuò)張feature map維度從而使得我們的3x3 conv的filters數(shù)目不受外界即上一層輸入的影響,自然它的輸出也不會影響到下一層module绝葡。