卷積神經(jīng)網(wǎng)絡(luò)(CNN)基礎(chǔ)

前言

在七月初七情人節(jié),牛郎織女相見的一天流昏,我終于學(xué)習(xí)了CNN(來自CS231n)扎即,感覺感觸良多,所以趕快記下來况凉,別忘了谚鄙,最后祝大家情人節(jié)快樂5555555.正題開始!

CNN的基本結(jié)構(gòu)

CNN分為幾層

CNN一共有卷積層(CONV)、ReLU層(ReLU)刁绒、池化層(Pooling)闷营、全連接層(FC(Full Connection))下面是各個(gè)層的詳細(xì)解釋。

卷積層(CONV)

卷積知市,尤其是圖像的卷積傻盟,需要一個(gè)濾波器,用濾波器對(duì)整個(gè)圖像進(jìn)行遍歷嫂丙,我們假設(shè)有一個(gè)32*32*3的原始圖像A娘赴,濾波器的尺寸為5*5*3,用w表示跟啤,濾波器中的數(shù)據(jù)就是CNN的參數(shù)的一部分诽表,那么在使用濾波器w對(duì)A進(jìn)行濾波的話,可以用下面的式子表示:



其中x為原始圖像的5*5*3的一部分隅肥,b是偏置項(xiàng)置為1竿奏。在對(duì)A進(jìn)行濾波之后,產(chǎn)生的是一個(gè)28*28*1的數(shù)據(jù)武福。那么假設(shè)我們存在6個(gè)濾波器议双,這六個(gè)濾波器之間彼此是獨(dú)立的,也就是他們內(nèi)部的數(shù)據(jù)是不同的且沒有相關(guān)性的捉片∑教担可以理解為一個(gè)濾波器查找整幅圖像的垂直邊緣汞舱,一個(gè)查找水平邊緣,一個(gè)查找紅色宗雇,一個(gè)查找黑色這樣昂芜。那么我就可以產(chǎn)生6個(gè)28*28*1的數(shù)據(jù),將它們組合到一起就可以產(chǎn)生28*28*6的數(shù)據(jù)赔蒲,這就是卷積層主要做的工作泌神。

CNN可以看作一系列的卷積層和ReLU層對(duì)原始數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理的神經(jīng)網(wǎng)絡(luò),處理的過程可以用下面這幅圖表示


特別要注意的是濾波器的深度一定要與上一層傳來的數(shù)據(jù)的深度相同舞虱,就像上圖的第二個(gè)卷積層在處理傳來的28*28*6的數(shù)據(jù)時(shí)要使用5*5*6的濾波器.

步長stride

濾波器在圖像上不斷移動(dòng)對(duì)圖像濾波欢际,自然存在步長的問題,在上面我們舉的例子都是步長為1的情況矾兜,如果步長為3的話损趋,32*32*3的圖像經(jīng)過5*5*3的濾波器卷積得到的大小是(32-5)/3+1=10,注:步長不能為2因?yàn)椋?2-5)/2+1=14.5是小數(shù)椅寺。

所以當(dāng)圖像大小是N浑槽,濾波器尺寸為F時(shí),步長S返帕,那么卷積后大小為(N-F)/S+1

關(guān)于控件尺寸的減小

我們從上面的圖中可以看到圖像的長和寬在逐漸的減小桐玻,在經(jīng)過超過5層之后極可能只剩下1*1的空間尺度,這樣是十分不好的荆萤,而且也不利于我們接下來的計(jì)算镊靴,所以我們想讓卷積層處理完之后圖像在空間尺度上大小不變,所以我們引入了pad the border的操作观腊。pad其實(shí)就是在圖像周圍補(bǔ)0邑闲,擴(kuò)大圖像的尺寸算行,使得卷積后圖像大小不變梧油。在CNN中,主要存在4個(gè)超參數(shù)州邢,濾波器個(gè)數(shù)K儡陨,濾波器大小F,pad大小P和步長S量淌,其中P是整數(shù)骗村,當(dāng)P=1時(shí),對(duì)原始數(shù)據(jù)的操作如圖所示:


P=1的操作

那么在pad操作后卷積后的圖像大小為:(N-F+2*P)/S+1
而要想讓卷積層處理后圖像空間尺度不變呀枢,P的值可以設(shè)為P=(F-1)/2

總結(jié)

卷積層輸入W1*H1*D1大小的數(shù)據(jù)胚股,輸出W2*H2*D2的數(shù)據(jù),此時(shí)的卷積層共有4個(gè)超參數(shù):
K:濾波器個(gè)數(shù)
P:pad屬性值
S:濾波器每次移動(dòng)的步長
F:濾波器尺寸
此時(shí)輸出的大小可以用輸入和超參計(jì)算得到:
W2=(W1-F+2P)/S+1
H2=(H1-F+2P)/S+1
D2=D1

一些補(bǔ)充

1*1的濾波器也是有意義的裙秋,它在深度方向做卷積琅拌,例如1*1*64的濾波器對(duì)56*56*64的數(shù)據(jù)卷積得到56*56的數(shù)據(jù)

F通常是奇數(shù)缨伊,這樣可以綜合考慮上下左右四個(gè)方向的數(shù)據(jù)。

用神經(jīng)元的角度看待卷積層

卷積層從神經(jīng)元的角度看待可以有兩個(gè)性質(zhì):參數(shù)共享和局域連接进宝。對(duì)待一個(gè)濾波器刻坊,例如5*5*3的一個(gè)濾波器,對(duì)32*32*3的數(shù)據(jù)卷積得到28*28的數(shù)據(jù)党晋,可以看作存在28*28個(gè)神經(jīng)元谭胚,每個(gè)對(duì)原圖像5*5*3的區(qū)域進(jìn)行計(jì)算,這28*28個(gè)神經(jīng)元由于使用同一個(gè)濾波器未玻,所以參數(shù)相同灾而,我們稱這一特性為參數(shù)共享

針對(duì)不同的濾波器扳剿,我們可以看到他們會(huì)看到同一區(qū)域的圖像绰疤,相當(dāng)于在深度方向存在多個(gè)神經(jīng)元,他們看著相同區(qū)域叫做局域連接

參數(shù)共享減少了參數(shù)的數(shù)量舞终,防止了過擬合
局域連接為查找不同特征更豐富的表現(xiàn)圖像提供了可能轻庆。
卷積就像是對(duì)原圖像的另一種表達(dá)。

ReLU層

激活函數(shù)敛劝,對(duì)于每一個(gè)維度經(jīng)過ReLU函數(shù)輸出即可余爆。不改變數(shù)據(jù)的空間尺度。

池化層

通過pad操作夸盟,輸出圖像在控件上并沒有變化蛾方,但是深度發(fā)生了變化,越來越龐大的數(shù)據(jù)給計(jì)算帶來了困難上陕,也出現(xiàn)了冗余的特征桩砰,所以需要進(jìn)行池化操作,池化不改變深度释簿,只改變長寬亚隅,主要有最大值和均值兩種方法,一般的池化濾波器大小F為2步長為2庶溶,對(duì)于最大值池化可以用下面的圖像清晰的表示:


最大池化

總結(jié)

卷積層輸入W1*H1*D1大小的數(shù)據(jù)煮纵,輸出W2*H2*D2的數(shù)據(jù),此時(shí)的卷積層共有2個(gè)超參數(shù):
S:濾波器每次移動(dòng)的步長
F:濾波器尺寸
此時(shí)輸出的大小可以用輸入和超參計(jì)算得到:
W2=(W1-F)/S+1
H2=(H1-F)/S+1
D2=D1

全連接層

將最后一層(CONV偏螺、ReLU或Pool)處理后的數(shù)據(jù)輸入全連接層行疏,對(duì)于W2*H2*D2數(shù)據(jù),我們將其展成1*1*W2*H2*D2大小的數(shù)據(jù)套像,輸入層共有W2*H2*D2個(gè)神經(jīng)元酿联,最后根據(jù)問題確定輸出層的規(guī)模,輸出層可以用softmax表示。也就是說贞让,全連接層就是一個(gè)常見的BP神經(jīng)網(wǎng)絡(luò)采幌。而這個(gè)網(wǎng)絡(luò)也是參數(shù)最多的部分,是接下來想要去掉的部分震桶。完整的神經(jīng)網(wǎng)絡(luò)可以用下面的圖表示:

CNN結(jié)構(gòu):

[(CONV-ReLU)*N-POOL?]*M-(FC-RELU)*K,SoftMax

CNN趨勢(shì)

1.更小的濾波器與更深的網(wǎng)絡(luò)
2.只有CONV層而去掉池化與全鏈接

集中CNN網(wǎng)絡(luò)(時(shí)間序)

LeNet-5(1998)

最早的CNN休傍,用于識(shí)別郵編,結(jié)構(gòu)為:
CONV-POOL-CONV-POOL-CONV-FC
濾波器大小5*5蹲姐,步長為1磨取,池化層2*2,步長為2

AlexNet(2012)

2012年由于GPU技術(shù)所限柴墩,原始AlexNet為兩個(gè)GPU分開計(jì)算忙厌,這里介紹合起來的結(jié)構(gòu)。

輸入圖像為227*227*3

具體結(jié)構(gòu)為:
AlexNet
一些細(xì)節(jié):

1.首次使用ReLU
2.使用Norm layers江咳,現(xiàn)在已經(jīng)拋棄逢净,因?yàn)樾Ч淮?br> 3.數(shù)據(jù)經(jīng)過預(yù)處理(例如大小變化,顏色變化等)
4.失活比率0.5
5.batch size 128
6.SGD Momentum 參數(shù)0.9(SGD和Momentum見我的其他文章)
7.學(xué)習(xí)速率 0.01歼指,準(zhǔn)確率不在提升時(shí)減少10倍爹土,1-2次后達(dá)到收斂
8.L2權(quán)重減少0.0005
9.錯(cuò)誤率15.4%

ZFNet(2013)

改進(jìn)自AlexNet,主要改變:
1.CONV1的濾波器從11*11步長S=4改為7*7步長為2.
2.CONV3,4,5濾波器數(shù)量有384踩身,384胀茵,256改為512,1024挟阻,512(濾波器數(shù)量為2的n次冪有利于計(jì)算機(jī)計(jì)算可以提高效率)
錯(cuò)誤率:14.8%后繼續(xù)改進(jìn)至11.2%

VGGNet(2014)

當(dāng)前最好的最易用的CNN網(wǎng)絡(luò)琼娘,所有卷積層濾波器的大小均為3*3,步長為1附鸽,pad=1脱拼,池化層為2*2的最大值池化,S=2坷备。

主要結(jié)構(gòu):
主要結(jié)構(gòu)

主要參數(shù)來自全連接層熄浓,這也是想要去掉FC的原因。

具有高度的統(tǒng)一性和線性的組合击你,易于理解玉组,十分方便有VGG-16谎柄,VGG-19等多種結(jié)構(gòu)丁侄。
錯(cuò)誤率7.3%

GoogleNet(2014)

完全移除FC層,參數(shù)只有500萬朝巫,使用Inception模塊(不太理解鸿摇,有時(shí)間繼續(xù)看)
準(zhǔn)確率6.67%

ResNet殘差神經(jīng)網(wǎng)絡(luò)

準(zhǔn)確率3.6%
擁有極深的網(wǎng)絡(luò)結(jié)構(gòu),且越深準(zhǔn)確率越高劈猿。是傳統(tǒng)CNN不具備的特點(diǎn)拙吉,傳統(tǒng)CNN并非越深越準(zhǔn)確潮孽。需要訓(xùn)練時(shí)間較長但是快于VGG


兩者對(duì)比
相關(guān)細(xì)節(jié)

1.每個(gè)卷積層使用Batch Normalization
2.Xavier/2初始化
3.SGD+Momentum(0.9)
4.Learning rate:0.1,準(zhǔn)確率不變減小10倍(因?yàn)锽atch Normalization所以比AlexNet大)
5.mini-batch size 256
6.Weight decay of 0.00001
7.不適用失活(因?yàn)锽atch Normalization)

具體的梯度過程學(xué)完ResNet再說吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末筷黔,一起剝皮案震驚了整個(gè)濱河市往史,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌佛舱,老刑警劉巖椎例,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異请祖,居然都是意外死亡订歪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門肆捕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刷晋,“玉大人,你說我怎么就攤上這事慎陵⊙凼” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵席纽,是天一觀的道長蒙幻。 經(jīng)常有香客問我,道長胆筒,這世上最難降的妖魔是什么邮破? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮仆救,結(jié)果婚禮上抒和,老公的妹妹穿的比我還像新娘。我一直安慰自己彤蔽,他們只是感情好摧莽,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布捂贿。 她就那樣靜靜地躺著索抓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪菌瘪。 梳的紋絲不亂的頭發(fā)上蚁袭,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天征懈,我揣著相機(jī)與錄音,去河邊找鬼揩悄。 笑死卖哎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播亏娜,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼焕窝,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了维贺?” 一聲冷哼從身側(cè)響起它掂,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎溯泣,沒想到半個(gè)月后群发,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡发乔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年熟妓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栏尚。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡起愈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出译仗,到底是詐尸還是另有隱情抬虽,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布纵菌,位于F島的核電站阐污,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏咱圆。R本人自食惡果不足惜笛辟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望序苏。 院中可真熱鬧手幢,春花似錦、人聲如沸忱详。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匈睁。三九已至监透,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間航唆,已是汗流浹背胀蛮。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留佛点,地道東北人醇滥。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓黎比,卻偏偏與公主長得像超营,于是被迫代替她去往敵國和親鸳玩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容