【轉(zhuǎn)載】卷積神經(jīng)網(wǎng)絡(luò)——輸入層捺萌、卷積層、激活函數(shù)膘茎、池化層桃纯、全連接層

原文鏈接:http://blog.csdn.net/yjl9122/article/details/70198357

卷積神經(jīng)網(wǎng)絡(luò)(CNN)由輸入層、卷積層披坏、激活函數(shù)态坦、池化層、全連接層組成棒拂,即INPUT(輸入層)-CONV(卷積層)-RELU(激活函數(shù))-POOL(池化層)-FC(全連接層)

卷積層

用它來進(jìn)行特征提取伞梯,如下:


輸入圖像是32*32*3,3是它的深度(即R帚屉、G谜诫、B),卷積層是一個(gè)5*5*3的filter(感受野)攻旦,這里注意:感受野的深度必須和輸入圖像的深度相同喻旷。通過一個(gè)filter與輸入圖像的卷積可以得到一個(gè)28*28*1的特征圖,上圖是用了兩個(gè)filter得到了兩個(gè)特征圖牢屋;

我們通常會(huì)使用多層卷積層來得到更深層次的特征圖且预。如下:


關(guān)于卷積的過程圖解如下:


輸入圖像和filter的對(duì)應(yīng)位置元素相乘再求和,最后再加上b,得到特征圖烙无。如圖中所示辣之,filter w0的第一層深度和輸入圖像的藍(lán)色方框中對(duì)應(yīng)元素相乘再求和得到0,其他兩個(gè)深度得到2皱炉,0,則有0+2+0+1=3即圖中右邊特征圖的第一個(gè)元素3.狮鸭,卷積過后輸入圖像的藍(lán)色方框再滑動(dòng)合搅,stride(步長)=2,如下:


如上圖歧蕉,完成卷積灾部,得到一個(gè)3*3*1的特征圖;在這里還要注意一點(diǎn)惯退,即zero pad項(xiàng)赌髓,即為圖像加上一個(gè)邊界,邊界元素均為0.(對(duì)原輸入無影響)一般有

F=3 => zero pad with 1

F=5 => zero pad with 2

F=7=> zero pad with 3,邊界寬度是一個(gè)經(jīng)驗(yàn)值,加上zero pad這一項(xiàng)是為了使輸入圖像和卷積后的特征圖具有相同的維度锁蠕,如:

輸入為5*5*3夷野,filter為3*3*3,在zero pad 為1荣倾,則加上zero pad后的輸入圖像為7*7*3悯搔,則卷積后的特征圖大小為5*5*1((7-3)/1+1),與輸入圖像一樣舌仍;

而關(guān)于特征圖的大小計(jì)算方法具體如下:


卷積層還有一個(gè)特性就是“權(quán)值共享”原則妒貌。如下圖:


如沒有這個(gè)原則,則特征圖由10個(gè)32*32*1的特征圖組成铸豁,即每個(gè)特征圖上有1024個(gè)神經(jīng)元灌曙,每個(gè)神經(jīng)元對(duì)應(yīng)輸入圖像上一塊5*5*3的區(qū)域,即一個(gè)神經(jīng)元和輸入圖像的這塊區(qū)域有75個(gè)連接节芥,即75個(gè)權(quán)值參數(shù)在刺,則共有75*1024*10=768000個(gè)權(quán)值參數(shù),這是非常復(fù)雜的藏古,因此卷積神經(jīng)網(wǎng)絡(luò)引入“權(quán)值”共享原則增炭,即一個(gè)特征圖上每個(gè)神經(jīng)元對(duì)應(yīng)的75個(gè)權(quán)值參數(shù)被每個(gè)神經(jīng)元共享,這樣則只需75*10=750個(gè)權(quán)值參數(shù)拧晕,而每個(gè)特征圖的閾值也共享隙姿,即需要10個(gè)閾值,則總共需要750+10=760個(gè)參數(shù)厂捞。

所謂的權(quán)值共享就是說输玷,給一張輸入圖片,用一個(gè)filter去掃這張圖靡馁,filter里面的數(shù)就叫權(quán)重欲鹏,這張圖每個(gè)位置就是被同樣的filter掃的,所以權(quán)重是一樣的臭墨,也就是共享赔嚎。

激活函數(shù)

如果輸入變化很小,導(dǎo)致輸出結(jié)構(gòu)發(fā)生截然不同的結(jié)果胧弛,這種情況是我們不希望看到的尤误,為了模擬更細(xì)微的變化,輸入和輸出數(shù)值不只是0到1结缚,可以是0和1之間的任何數(shù)损晤,

激活函數(shù)是用來加入非線性因素的,因?yàn)榫€性模型的表達(dá)力不夠

這句話字面的意思很容易理解红竭,但是在具體處理圖像的時(shí)候是什么情況呢尤勋?我們知道在神經(jīng)網(wǎng)絡(luò)中喘落,對(duì)于圖像,我們主要采用了卷積的方式來處理最冰,也就是對(duì)每個(gè)像素點(diǎn)賦予一個(gè)權(quán)值瘦棋,這個(gè)操作顯然就是線性的。但是對(duì)于我們樣本來說锌奴,不一定是線性可分的兽狭,為了解決這個(gè)問題,我們可以進(jìn)行線性變化鹿蜀,或者我們引入非線性因素箕慧,解決線性模型所不能解決的問題。

這里插一句茴恰,來比較一下上面的那些激活函數(shù)颠焦,因?yàn)樯窠?jīng)網(wǎng)絡(luò)的數(shù)學(xué)基礎(chǔ)是處處可微的,所以選取的激活函數(shù)要能保證數(shù)據(jù)輸入與輸出也是可微的往枣,運(yùn)算特征是不斷進(jìn)行循環(huán)計(jì)算伐庭,所以在每代循環(huán)過程中,每個(gè)神經(jīng)元的值也是在不斷變化的分冈。

這就導(dǎo)致了tanh特征相差明顯時(shí)的效果會(huì)很好圾另,在循環(huán)過程中會(huì)不斷擴(kuò)大特征效果顯示出來,但有是雕沉,在特征相差比較復(fù)雜或是相差不是特別大時(shí)集乔,需要更細(xì)微的分類判斷的時(shí)候,sigmoid效果就好了坡椒。

還有一個(gè)東西要注意扰路,sigmoid 和 tanh作為激活函數(shù)的話,一定要注意一定要對(duì) input 進(jìn)行歸一話倔叼,否則激活后的值都會(huì)進(jìn)入平坦區(qū)汗唱,使隱層的輸出全部趨同,但是?ReLU 并不需要輸入歸一化來防止它們達(dá)到飽和丈攒。

構(gòu)建稀疏矩陣哩罪,也就是稀疏性,這個(gè)特性可以去除數(shù)據(jù)中的冗余巡验,最大可能保留數(shù)據(jù)的特征识椰,也就是大多數(shù)為0的稀疏矩陣來表示。其實(shí)這個(gè)特性主要是對(duì)于Relu深碱,它就是取的max(0,x),因?yàn)樯窠?jīng)網(wǎng)絡(luò)是不斷反復(fù)計(jì)算藏畅,實(shí)際上變成了它在嘗試不斷試探如何用一個(gè)大多數(shù)為0的矩陣來嘗試表達(dá)數(shù)據(jù)特征敷硅,結(jié)果因?yàn)橄∈杼匦缘拇嬖诠χ洌炊@種方法變得運(yùn)算得又快效果又好了。所以我們可以看到目前大部分的卷積神經(jīng)網(wǎng)絡(luò)中绞蹦,基本上都是采用了ReLU 函數(shù)力奋。

常用的激活函數(shù)

激活函數(shù)應(yīng)該具有的性質(zhì):?

(1)非線性。線性激活層對(duì)于深層神經(jīng)網(wǎng)絡(luò)沒有作用幽七,因?yàn)槠渥饔靡院笕匀皇禽斎氲母鞣N線性變換景殷。。?

(2)連續(xù)可微澡屡。梯度下降法的要求猿挚。?

(3)范圍最好不飽和,當(dāng)有飽和的區(qū)間段時(shí)驶鹉,若系統(tǒng)優(yōu)化進(jìn)入到該段绩蜻,梯度近似為0,網(wǎng)絡(luò)的學(xué)習(xí)就會(huì)停止室埋。?

(4)單調(diào)性办绝,當(dāng)激活函數(shù)是單調(diào)時(shí),單層神經(jīng)網(wǎng)絡(luò)的誤差函數(shù)是凸的姚淆,好優(yōu)化孕蝉。?

(5)在原點(diǎn)處近似線性,這樣當(dāng)權(quán)值初始化為接近0的隨機(jī)值時(shí)腌逢,網(wǎng)絡(luò)可以學(xué)習(xí)的較快降淮,不用可以調(diào)節(jié)網(wǎng)絡(luò)的初始值。?

目前常用的激活函數(shù)都只擁有上述性質(zhì)的部分上忍,沒有一個(gè)擁有全部的~~

Sigmoid函數(shù)


目前已被淘汰

缺點(diǎn):?

??飽和時(shí)梯度值非常小骤肛。由于BP算法反向傳播的時(shí)候后層的梯度是以乘性方式傳遞到前層,因此當(dāng)層數(shù)比較多的時(shí)候窍蓝,傳到前層的梯度就會(huì)非常小腋颠,網(wǎng)絡(luò)權(quán)值得不到有效的更新,即梯度耗散吓笙。如果該層的權(quán)值初始化使得f(x)?處于飽和狀態(tài)時(shí)淑玫,網(wǎng)絡(luò)基本上權(quán)值無法更新。?

??輸出值不是以0為中心值面睛。?

Tanh函數(shù)


其中σ(x)?為sigmoid函數(shù)絮蒿,仍然具有飽和的問題。

ReLU函數(shù)

Alex在2012年提出的一種新的激活函數(shù)叁鉴。該函數(shù)的提出很大程度的解決了BP算法在優(yōu)化深層神經(jīng)網(wǎng)絡(luò)時(shí)的梯度耗散問題?

優(yōu)點(diǎn):?

?x>0時(shí)土涝,梯度恒為1,無梯度耗散問題幌墓,收斂快但壮;?

?增大了網(wǎng)絡(luò)的稀疏性冀泻。當(dāng)x<0時(shí),該層的輸出為0蜡饵,訓(xùn)練完成后為0的神經(jīng)元越多弹渔,稀疏性越大,提取出來的特征就約具有代表性溯祸,泛化能力越強(qiáng)肢专。即得到同樣的效果,真正起作用的神經(jīng)元越少焦辅,網(wǎng)絡(luò)的泛化性能越好?

?運(yùn)算量很胁┱取;?

缺點(diǎn):?

如果后層的某一個(gè)梯度特別大氨鹏,導(dǎo)致W更新以后變得特別大欧募,導(dǎo)致該層的輸入<0,輸出為0仆抵,這時(shí)該層就會(huì)‘die’跟继,沒有更新。當(dāng)學(xué)習(xí)率比較大時(shí)可能會(huì)有40%的神經(jīng)元都會(huì)在訓(xùn)練開始就‘die’镣丑,因此需要對(duì)學(xué)習(xí)率進(jìn)行一個(gè)好的設(shè)置舔糖。?

由優(yōu)缺點(diǎn)可知max(0,x)函數(shù)為一個(gè)雙刃劍,既可以形成網(wǎng)絡(luò)的稀疏性莺匠,也可能造成有很多永遠(yuǎn)處于‘die’的神經(jīng)元金吗,需要tradeoff。

Leaky ReLU函數(shù)?


改善了ReLU的死亡特性趣竣,但是也同時(shí)損失了一部分稀疏性摇庙,且增加了一個(gè)超參數(shù),目前來說其好處不太明確

Maxout函數(shù)


泛化了ReLU和Leaky ReLU遥缕,改善了死亡特性卫袒,但是同樣損失了部分稀疏性,每個(gè)非線性函數(shù)增加了兩倍的參數(shù)


真實(shí)使用的時(shí)候最常用的還是ReLU函數(shù)单匣,注意學(xué)習(xí)率的設(shè)置以及死亡節(jié)點(diǎn)所占的比例即可

池化層

對(duì)輸入的特征圖進(jìn)行壓縮夕凝,一方面使特征圖變小,簡化網(wǎng)絡(luò)計(jì)算復(fù)雜度户秤;一方面進(jìn)行特征壓縮码秉,提取主要特征,如下:


池化操作一般有兩種鸡号,一種是Avy Pooling,一種是max Pooling,如下:


同樣地采用一個(gè)2*2的filter转砖,max pooling是在每一個(gè)區(qū)域中尋找最大值,這里的stride=2,最終在原特征圖中提取主要特征得到右圖鲸伴。

(Avy pooling現(xiàn)在不怎么用了堪藐,方法是對(duì)每一個(gè)2*2的區(qū)域元素求和莉兰,再除以4,得到主要特征)礁竞,而一般的filter取2*2,最大取3*3,stride取2,壓縮為原來的1/4.

注意:這里的pooling操作是特征圖縮小杉辙,有可能影響網(wǎng)絡(luò)的準(zhǔn)確度模捂,因此可以通過增加特征圖的深度來彌補(bǔ)(這里的深度變?yōu)樵瓉淼?倍)。


在卷積神經(jīng)網(wǎng)絡(luò)中蜘矢,我們經(jīng)常會(huì)碰到池化操作狂男,而池化層往往在卷積層后面,通過池化來降低卷積層輸出的特征向量品腹,同時(shí)改善結(jié)果(不易出現(xiàn)過擬合)岖食。

為什么可以通過降低維度呢?

因?yàn)閳D像具有一種“靜態(tài)性”的屬性舞吭,這也就意味著在一個(gè)圖像區(qū)域有用的特征極有可能在另一個(gè)區(qū)域同樣適用泡垃。因此,為了描述大的圖像羡鸥,一個(gè)很自然的想法就是對(duì)不同位置的特征進(jìn)行聚合統(tǒng)計(jì)蔑穴,例如,人們可以計(jì)算圖像一個(gè)區(qū)域上的某個(gè)特定特征的平均值 (或最大值)來代表這個(gè)區(qū)域的特征惧浴。


一般池化(General Pooling)


池化作用于圖像中不重合的區(qū)域(這與卷積操作不同)存和,過程如下圖。

我們定義池化窗口的大小為sizeX衷旅,即下圖中紅色正方形的邊長捐腿,定義兩個(gè)相鄰池化窗口的水平位移/豎直位移為stride。一般池化由于每一池化窗口都是不重復(fù)的柿顶,所以sizeX=stride茄袖。


最常見的池化操作為平均池化mean pooling和最大池化max pooling:

平均池化:計(jì)算圖像區(qū)域的平均值作為該區(qū)域池化后的值。

最大池化:選圖像區(qū)域的最大值作為該區(qū)域池化后的值九串。

重疊池化(OverlappingPooling

?重疊池化正如其名字所說的绞佩,相鄰池化窗口之間會(huì)有重疊區(qū)域,此時(shí)sizeX>stride猪钮。

論文中Krizhevsky, I. Sutskever, andG. Hinton, “Imagenet classification with deep convolutional neural networks,”in NIPS,2012.中品山,作者使用了重疊池化,其他的設(shè)置都不變的情況下烤低, top-1和top-5 的錯(cuò)誤率分別減少了0.4% 和0.3%肘交。

空金字塔池化(Spatial Pyramid Pooling)

空間金字塔池化可以把任何尺度的圖像的卷積特征轉(zhuǎn)化成相同維度,這不僅可以讓CNN處理任意尺度的圖像扑馁,還能避免cropping和warping操作涯呻,導(dǎo)致一些信息的丟失凉驻,具有非常重要的意義。

一般的CNN都需要輸入圖像的大小是固定的复罐,這是因?yàn)槿B接層的輸入需要固定輸入維度涝登,但在卷積操作是沒有對(duì)圖像尺度有限制,所有作者提出了空間金字塔池化效诅,先讓圖像進(jìn)行卷積操作胀滚,然后轉(zhuǎn)化成維度相同的特征輸入到全連接層,這個(gè)可以把CNN擴(kuò)展到任意大小的圖像


空間金字塔池化的思想來自于Spatial Pyramid Model乱投,它一個(gè)pooling變成了多個(gè)scale的pooling咽笼。用不同大小池化窗口作用于卷積特征,我們可以得到1X1,2X2,4X4的池化結(jié)果戚炫,由于conv5中共有256個(gè)過濾器剑刑,所以得到1個(gè)256維的特征,4個(gè)256個(gè)特征双肤,以及16個(gè)256維的特征施掏,然后把這21個(gè)256維特征鏈接起來輸入全連接層,通過這種方式把不同大小的圖像轉(zhuǎn)化成相同維度的特征杨伙。


對(duì)于不同的圖像要得到相同大小的pooling結(jié)果其监,就需要根據(jù)圖像的大小動(dòng)態(tài)的計(jì)算池化窗口的大小和步長。假設(shè)conv5輸出的大小為a*a限匣,需要得到n*n大小的池化結(jié)果抖苦,可以讓窗口大小sizeX為

,步長為

米死。下圖以conv5輸出的大小為13*13為例锌历。


全連接層

連接所有的特征,將輸出值送給分類器(如softmax分類器)峦筒。


總的一個(gè)結(jié)構(gòu)大致如下:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末究西,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子物喷,更是在濱河造成了極大的恐慌卤材,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峦失,死亡現(xiàn)場(chǎng)離奇詭異扇丛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)尉辑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門帆精,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事卓练“” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵襟企,是天一觀的道長嘱么。 經(jīng)常有香客問我,道長顽悼,這世上最難降的妖魔是什么拱撵? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮表蝙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乓旗。我一直安慰自己府蛇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布屿愚。 她就那樣靜靜地躺著汇跨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪妆距。 梳的紋絲不亂的頭發(fā)上穷遂,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音娱据,去河邊找鬼蚪黑。 笑死,一個(gè)胖子當(dāng)著我的面吹牛中剩,可吹牛的內(nèi)容都是我干的忌穿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼结啼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼掠剑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起郊愧,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤朴译,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后属铁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體眠寿,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年红选,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了澜公。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖坟乾,靈堂內(nèi)的尸體忽然破棺而出迹辐,到底是詐尸還是另有隱情,我是刑警寧澤甚侣,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布明吩,位于F島的核電站,受9級(jí)特大地震影響殷费,放射性物質(zhì)發(fā)生泄漏印荔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一详羡、第九天 我趴在偏房一處隱蔽的房頂上張望仍律。 院中可真熱鬧,春花似錦实柠、人聲如沸水泉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽草则。三九已至,卻和暖如春蟹漓,著一層夾襖步出監(jiān)牢的瞬間炕横,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國打工葡粒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留份殿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓塔鳍,卻偏偏與公主長得像伯铣,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子轮纫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

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