小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

1.CNN學(xué)習(xí)筆記---理解結(jié)構(gòu),LeNet5

 雪柳花明 2017-03-14

主要參考:點(diǎn)擊打開鏈接

圖像處理都是小 patchs ,比如28*28或者36*36之類,考慮如下情形,對(duì)于一副1000*1000的圖像,即106,當(dāng)隱層也有106節(jié)點(diǎn)時(shí),那么W(1)(第一層鏈接權(quán)值)的數(shù)量將達(dá)到1012級(jí)別,為了減少參數(shù)規(guī)模,加快訓(xùn)練速度,CNN應(yīng)運(yùn)而生。CNN有幾個(gè)重要的點(diǎn):局部感知、參數(shù)共享、池化。

 局部感知

(讓一個(gè)小塊對(duì)應(yīng)一個(gè)神經(jīng)元,計(jì)算出的一個(gè)像素就是一個(gè)神經(jīng)元,一張圖片由無(wú)數(shù)個(gè)神經(jīng)元鋪滿

一般認(rèn)為人對(duì)外界的認(rèn)知是從局部到全局的,而圖像的空間聯(lián)系也是局部的像素聯(lián)系較為緊密,而距離較遠(yuǎn)的像素相關(guān)性則較弱。因而,每個(gè)神經(jīng)元其實(shí)沒有必要對(duì)全局圖像進(jìn)行感知,只需要對(duì)局部進(jìn)行感知,然后在更高層將局部的信息綜合起來(lái)就得到了全局的信息。每個(gè)隱含單元僅僅連接輸入單元的一部分。例如,每個(gè)隱含單元僅僅連接輸入圖像的一小片相鄰區(qū)域。對(duì)于一個(gè)輸入與隱層均有 106 的網(wǎng)絡(luò),假設(shè)每個(gè)隱含單元只與 10*10 的輸入?yún)^(qū)域相連接,這時(shí)參數(shù)的個(gè)數(shù)變?yōu)?nbsp;10×10×10^6= 10^8,降低了10^4個(gè)數(shù)量級(jí),這樣訓(xùn)練起來(lái)就沒有那么費(fèi)力了。這一思想主要受啟發(fā)于生物學(xué)里面的視覺系統(tǒng)結(jié)構(gòu)。視覺皮層的神經(jīng)元就是局部接受信息的(即這些神經(jīng)元只響應(yīng)某些特定區(qū)域的刺激),此外圖像的像素也是局部時(shí)空相關(guān)的。

如下圖所示,左邊就是全連接網(wǎng)絡(luò),每個(gè)隱藏神經(jīng)元與每個(gè)像素進(jìn)行連接。右邊就是部分連接網(wǎng)絡(luò),每個(gè)隱神經(jīng)元只與一部分區(qū)域相連接。右邊的圖進(jìn)行的便是卷積操作,該操作會(huì)生成一副 feature map 。

 參數(shù)共享

盡管減少了幾個(gè)數(shù)量級(jí),但參數(shù)數(shù)量依然較多。能不能再進(jìn)一步減少呢?能!方法就是權(quán)值共享。具體做法是,在局部連接中隱藏層的每一個(gè)神經(jīng)元連接的是一個(gè) 10×10 的局部圖像,因此有10×10 個(gè)權(quán)值參數(shù),將這 10×10 個(gè)權(quán)值參數(shù)共享給剩下的神經(jīng)元,也就是說(shuō)隱藏層中 106個(gè)神經(jīng)元的權(quán)值參數(shù)相同,那么此時(shí)不管隱藏層神經(jīng)元的數(shù)目是多少,需要訓(xùn)練的參數(shù)就是這 10×10 個(gè)權(quán)值參數(shù)(也就是卷積核(也稱濾波器)的大?。?,如下圖。這樣來(lái)參數(shù)真的是極大的簡(jiǎn)化了??!這個(gè)思想主要來(lái)源于:自然圖像有其固有特性,也就是說(shuō),圖像的一部分的統(tǒng)計(jì)特性與其他部分是一樣的。這也意味著我們?cè)谶@一部分學(xué)習(xí)的特征也能用在另一部分上,所以對(duì)于這個(gè)圖像上的所有位置,我們都能使用同樣的學(xué)習(xí)特征。

單核單通道卷積

如果隱神經(jīng)元與其連接的100個(gè)輸入單元具有相同的100個(gè)參數(shù),那么就相當(dāng)于是一個(gè) 10*10 的模板在原始的輸入圖像上做卷積(當(dāng)然需要加上一個(gè)偏置參數(shù)b),這樣相當(dāng)于得到一個(gè)新的圖像,新圖像的大小為(1000-100+1)*(1000-100+1),因此也得名卷積神經(jīng)網(wǎng)絡(luò)。這樣的10*10的模板,我們也把它稱為一個(gè)卷積核。以下為單個(gè)卷積核示意圖:

多核單通道卷積

CNN中只用一個(gè)卷積核提取得到的特征往往是不充分的,只能算作是一種類型的特征(比如某個(gè)方向的邊緣),如果我們要提取其它方向的邊緣,那就多弄幾個(gè)卷積核,這樣就變成了多卷積核了。假設(shè)有k個(gè)卷積核,那么可訓(xùn)練的參數(shù)的個(gè)數(shù)就變?yōu)榱薻×10×10。注意沒有包含偏置參數(shù)。每個(gè)卷積核得到一副特征圖像也被稱為一個(gè)Feature Map。卷積的過(guò)程也被稱為特征提取的過(guò)程,多核卷積中,隱層的節(jié)點(diǎn)數(shù)量為: k×(1000-100+1)×(1000-100+1) ,對(duì)于下圖的手寫數(shù)字灰度圖,做單通道卷及操作:

多核多通道卷積

當(dāng)圖像為RGB或ARGB(A代表透明度)時(shí),可以在多通道進(jìn)行卷積操作,或者對(duì)于堆疊卷積層來(lái)說(shuō), pooling 層之后可以繼續(xù)接下一個(gè) 卷積層,對(duì) pooling 層多個(gè) Feature Map 的操作即為多通道卷積,下圖為 w1,w2 兩個(gè)卷積核在ARGB四通道上進(jìn)行卷積操作,在生成 w1 對(duì)應(yīng)的 Feature Map 時(shí),w1 這個(gè)卷積核對(duì)應(yīng)4個(gè)卷積模板(這一個(gè)卷積核對(duì)應(yīng)的四個(gè)模板都不一樣),分別用4種不同的顏色表示,F(xiàn)eature Map 對(duì)應(yīng)的位置的值是由四核卷積模板分別作用在4個(gè)通道的對(duì)應(yīng)位置處的卷積結(jié)果相加然后取激活函數(shù)得到的,所以在四通道得到2通道的過(guò)程中,參數(shù)數(shù)目為 4×2×2×2個(gè),其中4表示4個(gè)通道,第一個(gè)2表示生成2個(gè)卷積核,最后的2×2表示卷積核大小。見下圖:

池化 pooling

通過(guò)卷積操作獲得了特征 (features) 之后,下一步我們要利用這些特征去做分類??梢杂盟刑崛〉玫降奶卣魅ビ?xùn)練分類器,例如用這些特征訓(xùn)練一個(gè) softmax 分類器,對(duì)于一個(gè) 96X96 像素的圖像,假設(shè)我們已經(jīng)學(xué)習(xí)得到了400個(gè) Feature Map,每個(gè) Feature Map 都定義在 8X8 卷積核上,每一個(gè)卷積核和圖像卷積都會(huì)得到一個(gè) (96 ? 8 + 1) * (96 ? 8 + 1) = 7921 維的卷積特征,由于有 400 個(gè)Feature Map,所以每個(gè)訓(xùn)練樣例(輸入圖像) 都會(huì)得到一個(gè) 7921* 400 = 3,168,400 維的卷積特征向量。學(xué)習(xí)一個(gè)擁有超過(guò) 3 百萬(wàn)特征輸入的分類器十分不便,并且容易出現(xiàn)過(guò)擬合 (over-fitting)。

為了解決這個(gè)問(wèn)題,首先回憶一下,之所以決定使用卷積后的特征是因?yàn)閳D像具有一種“靜態(tài)性”的屬性,這也就意味著在一個(gè)圖像區(qū)域有用的特征極有可能在另一個(gè)區(qū)域同樣適用。因此,處理大圖像時(shí),一個(gè)很自然的想法就是對(duì)不同位置的特征進(jìn)行聚合統(tǒng)計(jì),比如可以計(jì)算圖像一個(gè)區(qū)域上的某個(gè)特定特征的平均值 (或最大值)。這些概要統(tǒng)計(jì)特征不僅具有低得多的維度 (相比使用所有提取得到的特征),同時(shí)還會(huì)改善結(jié)果(不容易過(guò)擬合)。這種聚合的操作就叫做池化 (pooling),有時(shí)也稱為平均池化或者最大池化 (取決于計(jì)算池化的方法)。池化的過(guò)程通常也被稱為特征映射的過(guò)程(特征降維),如下圖過(guò)程如下所示:

CNN的應(yīng)用

下面來(lái)看 LeNet-5 ,用于實(shí)現(xiàn)手寫識(shí)別的7層CNN(不包含輸入層),以下為L(zhǎng)eNet-5的示意圖:

輸入原始圖像的大小是32×32,卷積層用 Cx 表示,子采樣層(pooling)用Sx表示,全連接層用Fx表示,x 代表層數(shù)。

         C1層是卷積層,單通道下用了6個(gè)卷積核,這樣就得到了6個(gè)feature map,其中每個(gè)卷積核的大小為5*5,用每個(gè)卷積核與原始的輸入圖像進(jìn)行卷積,這樣feature map的大小為(32-5+1)×(32-5+1)= 28×28,所需要的參數(shù)的個(gè)數(shù)為(5×5+1)×6= 156(其中5×5為卷積模板參數(shù),1為偏置參數(shù)),連接數(shù)為(5×5+1)×28×28×6=122304(其中28×28為卷積后圖像的大小)。

         S2層為 pooling 層,也可以說(shuō)是池化或者特征映射的過(guò)程,擁有6個(gè) feature map,每個(gè)feature map的大小為14*14,每個(gè)feature map的隱單元與上一層C1相對(duì)應(yīng)的feature map的 2×2 單元相連接,這里沒有重疊。計(jì)算過(guò)程是:2×2 單元里的值相加然后再乘以訓(xùn)練參數(shù)w,再加上一個(gè)偏置參數(shù)b(每一個(gè)feature map共享相同w和b),然后取sigmoid (S函數(shù):0-1區(qū)間)值,作為對(duì)應(yīng)的該單元的值。(這個(gè)地方和之前自己想的不太一樣)所以S2層中每 feature map 的長(zhǎng)寬都是上一層C1的一半。S2層需要2×6=12個(gè)參數(shù),連接數(shù)為(4+1)×14×14×6 = 5880。注:這里池化的過(guò)程與ufldl教程中略有不同。下面為卷積操作與池化的示意圖:

         C3層也是一個(gè)卷積層(多通道(14個(gè)通道)),16核卷積,注意此處C3并不是與S2全連接而是部分連接,見下圖),有16個(gè)卷積核,卷積模板的大小為5*5,因此具有16個(gè)feature maps,每個(gè)feature map的大小為(14-5+1)×(14-5+1)= 10×10。每個(gè)feature map只與上一層S2中部分feature maps相連接,下表給出了16個(gè)feature maps與上一層S2的連接方式(行為S2層feature map的標(biāo)號(hào),列為C3層feature map的標(biāo)號(hào),第一列表示C3層的第0個(gè)feature map只有S2層的第0、1和2這三個(gè)feature maps相連接,其它解釋類似)。為什么要采用部分連接,而不采用全連接呢?首先就是部分連接,可計(jì)算的參數(shù)就會(huì)比較少,其次更重要的是它能打破對(duì)稱性,這樣就能得到輸入的不同特征集合。以第0個(gè)feature map描述計(jì)算過(guò)程:用1個(gè)卷積核(對(duì)應(yīng)3個(gè)卷積模板,但仍稱為一個(gè)卷積核,可以認(rèn)為是三維卷積核)分別與S2層的3個(gè)feature maps進(jìn)行卷積,然后將卷積的結(jié)果相加,再加上一個(gè)偏置,再取sigmoid就可以得出對(duì)應(yīng)的feature map了。所需要的參數(shù)數(shù)目為(5×5×3+1)×6 +(5×5×4+1)×9 +5×5×6+1 = 1516(5×5為卷積參數(shù),卷積核分別有 3 4 6 個(gè)卷積模板),連接數(shù)為1516*10*10= 151600 (98論文年論文給出的結(jié)果是156000,個(gè)人認(rèn)為這是錯(cuò)誤的,因?yàn)橐粋€(gè)卷積核只有一個(gè)偏置參數(shù) ?)。

         S4層也是采樣層,有16個(gè)feature maps,每個(gè)feature map的大小為5×5,計(jì)算過(guò)程和S2類似,需要參數(shù)個(gè)數(shù)為16×2 = 32個(gè),連接數(shù)為(4+1)×5×5×16 = 2000.

         C5為卷積層,有120個(gè)卷積核,卷積核的大小仍然為5×5,因此有120個(gè)feature maps,每個(gè)feature map的大小都與上一層S4的所有feature maps進(jìn)行連接,這樣一個(gè)卷積核就有16個(gè)卷積模板。Feature map的大小為1×1,這樣剛好變成了全連接,但是我們不把它寫成F5,因?yàn)檫@只是巧合。C5層有120*(5*5*16+1) = 48120(16為上一層所有的feature maps個(gè)數(shù))參數(shù)(自己的理解:和C3的不同,這一層一共有120個(gè)16維的5*5大小的卷積核,且每一個(gè)核中的16維模板都一樣,連接數(shù)也是這么多。

         F6層有86個(gè)神經(jīng)單元,每個(gè)神經(jīng)單元與C5進(jìn)行全連接。它的連接數(shù)和參數(shù)均為 86 × 120 = 10164 。這樣F6層就可以得到一個(gè)86維特征了。后面可以使用該86維特征進(jìn)行做分類預(yù)測(cè)等內(nèi)容了。注意:這里卷積和池化的計(jì)算過(guò)程和ufldl教程中的計(jì)算略有不同。

參考:

1:UFLDL:http://deeplearning./wiki/index.php/UFLDL_Tutorial

2:論文:Gradient-BasedLearning Applied to Document Recognition

3:http://blog.csdn.net/stdcoutzyx/article/details/41596663

4:http://blog.csdn.net/lu597203933/article/details/46575779


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多