神經(jīng)網(wǎng)絡(luò):卷積神經(jīng)網(wǎng)絡(luò)(CNN)

神經(jīng)網(wǎng)絡(luò)最早是由心理學(xué)家和神經(jīng)學(xué)家提出的,旨在尋求開發(fā)和測試神經(jīng)的計算模擬。

粗略地說挪捕,神經(jīng)網(wǎng)絡(luò)是一組連接的輸入/輸出單元甥桂,其中每個連接都與一個權(quán)相關(guān)聯(lián)。在學(xué)習(xí)階段,通過調(diào)整權(quán)值,使得神經(jīng)網(wǎng)絡(luò)的預(yù)測準(zhǔn)確性逐步提高。由于單元之間的連接片排,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)又稱連接者學(xué)習(xí)。

神經(jīng)網(wǎng)絡(luò)是以模擬人腦神經(jīng)元的數(shù)學(xué)模型為基礎(chǔ)而建立的速侈,它由一系列神經(jīng)元組成率寡,單元之間彼此連接。從信息處理角度看倚搬,神經(jīng)元可以看作是一個多輸入單輸出的信息處理單元冶共,根據(jù)神經(jīng)元的特性和功能,可以把神經(jīng)元抽象成一個簡單的數(shù)學(xué)模型潭枣。

神經(jīng)網(wǎng)絡(luò)有三個要素:拓撲結(jié)構(gòu)比默、連接方式、學(xué)習(xí)規(guī)則


神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu):神經(jīng)網(wǎng)絡(luò)的單元通常按照層次排列盆犁,根據(jù)網(wǎng)絡(luò)的層次數(shù)命咐,可以將神經(jīng)網(wǎng)絡(luò)分為單層神經(jīng)網(wǎng)絡(luò)、兩層神經(jīng)網(wǎng)絡(luò)谐岁、三層神經(jīng)網(wǎng)絡(luò)等醋奠。結(jié)構(gòu)簡單的神經(jīng)網(wǎng)絡(luò)榛臼,在學(xué)習(xí)時收斂的速度快,但準(zhǔn)確度低窜司。

神經(jīng)網(wǎng)絡(luò)的層數(shù)和每層的單元數(shù)由問題的復(fù)雜程度而定沛善。問題越復(fù)雜,神經(jīng)網(wǎng)絡(luò)的層數(shù)就越多塞祈。例如金刁,兩層神經(jīng)網(wǎng)絡(luò)常用來解決線性問題,而多層網(wǎng)絡(luò)就可以解決多元非線性問題

神經(jīng)網(wǎng)絡(luò)的連接:包括層次之間的連接和每一層內(nèi)部的連接议薪,連接的強度用權(quán)來表示尤蛮。

根據(jù)層次之間的連接方式,分為:

1)前饋式網(wǎng)絡(luò):連接是單向的斯议,上層單元的輸出是下層單元的輸入产捞,如反向傳播網(wǎng)絡(luò),Kohonen網(wǎng)絡(luò)

2)反饋式網(wǎng)絡(luò):除了單項的連接外哼御,還把最后一層單元的輸出作為第一層單元的輸入坯临,如Hopfield網(wǎng)絡(luò)

根據(jù)連接的范圍,分為:

1)全連接神經(jīng)網(wǎng)絡(luò):每個單元和相鄰層上的所有單元相連

2)局部連接網(wǎng)絡(luò):每個單元只和相鄰層上的部分單元相連

神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)

根據(jù)學(xué)習(xí)方法分:

感知器:有監(jiān)督的學(xué)習(xí)方法恋昼,訓(xùn)練樣本的類別是已知的看靠,并在學(xué)習(xí)的過程中指導(dǎo)模型的訓(xùn)練

認知器:無監(jiān)督的學(xué)習(xí)方法,訓(xùn)練樣本類別未知焰雕,各單元通過競爭學(xué)習(xí)衷笋。

根據(jù)學(xué)習(xí)時間分:

離線網(wǎng)絡(luò):學(xué)習(xí)過程和使用過程是獨立的

在線網(wǎng)絡(luò):學(xué)習(xí)過程和使用過程是同時進行的

根據(jù)學(xué)習(xí)規(guī)則分:

相關(guān)學(xué)習(xí)網(wǎng)絡(luò):根據(jù)連接間的激活水平改變權(quán)系數(shù)

糾錯學(xué)習(xí)網(wǎng)絡(luò):根據(jù)輸出單元的外部反饋改變權(quán)系數(shù)

自組織學(xué)習(xí)網(wǎng)絡(luò):對輸入進行自適應(yīng)地學(xué)習(xí)


摘自《數(shù)學(xué)之美》對人工神經(jīng)網(wǎng)絡(luò)的通俗理解:


吳軍《數(shù)學(xué)之美》


吳軍《數(shù)學(xué)之美》

神經(jīng)網(wǎng)絡(luò)種類很多芳杏,常用的有如下四種:

1)Hopfield網(wǎng)絡(luò)矩屁,典型的反饋網(wǎng)絡(luò),結(jié)構(gòu)單層爵赵,有相同的單元組成

2)反向傳播網(wǎng)絡(luò)吝秕,前饋網(wǎng)絡(luò),結(jié)構(gòu)多層空幻,采用最小均方差的糾錯學(xué)習(xí)規(guī)則烁峭,常用于語言識別和分類等問題

3)Kohonen網(wǎng)絡(luò):典型的自組織網(wǎng)絡(luò),由輸入層和輸出層構(gòu)成秕铛,全連接

4)ART網(wǎng)絡(luò):自組織網(wǎng)絡(luò)

深度神經(jīng)網(wǎng)絡(luò):

Convolutional Neural Networks(CNN)卷積神經(jīng)網(wǎng)絡(luò)

Recurrent neural Network(RNN)循環(huán)神經(jīng)網(wǎng)絡(luò)

Deep Belief Networks(DBN)深度信念網(wǎng)絡(luò)

深度學(xué)習(xí)是指多層神經(jīng)網(wǎng)絡(luò)上運用各種機器學(xué)習(xí)算法解決圖像约郁,文本等各種問題的算法集合。深度學(xué)習(xí)從大類上可以歸入神經(jīng)網(wǎng)絡(luò)但两,不過在具體實現(xiàn)上有許多變化鬓梅。

深度學(xué)習(xí)的核心是特征學(xué)習(xí),旨在通過分層網(wǎng)絡(luò)獲取分層次的特征信息谨湘,從而解決以往需要人工設(shè)計特征的重要難題绽快。



Machine Learning vs. Deep Learning?

Machine Learning


Deep?Learning

神經(jīng)網(wǎng)絡(luò)(主要是感知器)經(jīng)常用于分類

神經(jīng)網(wǎng)絡(luò)的分類知識體現(xiàn)在網(wǎng)絡(luò)連接上芥丧,被隱式地存儲在連接的權(quán)值中。

神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)就是通過迭代算法坊罢,對權(quán)值逐步修改的優(yōu)化過程续担,學(xué)習(xí)的目標(biāo)就是通過改變權(quán)值使訓(xùn)練集的樣本都能被正確分類。

神經(jīng)網(wǎng)絡(luò)特別適用于下列情況的分類問題:

1) 數(shù)據(jù)量比較小活孩,缺少足夠的樣本建立模型

2) 數(shù)據(jù)的結(jié)構(gòu)難以用傳統(tǒng)的統(tǒng)計方法來描述

3) 分類模型難以表示為傳統(tǒng)的統(tǒng)計模型

缺點:

1)?需要很長的訓(xùn)練時間物遇,因而對于有足夠長訓(xùn)練時間的應(yīng)用更合適。

2)?需要大量的參數(shù)憾儒,這些通常主要靠經(jīng)驗確定挎挖,如網(wǎng)絡(luò)拓撲或“結(jié)構(gòu)”。

3)?可解釋性差航夺。該特點使得神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)挖掘的初期并不看好蕉朵。

優(yōu)點:

1)分類的準(zhǔn)確度高

2)并行分布處理能力強

3)分布存儲及學(xué)習(xí)能力高

4)對噪音數(shù)據(jù)有很強的魯棒性和容錯能力


最流行的基于神經(jīng)網(wǎng)絡(luò)的分類算法是80年代提出的后向傳播算法。后向傳播算法在多路前饋神經(jīng)網(wǎng)絡(luò)上學(xué)習(xí)阳掐。?

定義網(wǎng)絡(luò)拓撲

在開始訓(xùn)練之前始衅,用戶必須說明輸入層的單元數(shù)、隱藏層數(shù)(如果多于一層)缭保、每一隱藏層的單元數(shù)和輸出層的單元數(shù)汛闸,以確定網(wǎng)絡(luò)拓撲。

對訓(xùn)練樣本中每個屬性的值進行規(guī)格化將有助于加快學(xué)習(xí)過程艺骂。通常诸老,對輸入值規(guī)格化,使得它們落入0.0和1.0之間钳恕。

離散值屬性可以重新編碼别伏,使得每個域值一個輸入單元。例如忧额,如果屬性A的定義域為(a0,a1,a2)厘肮,則可以分配三個輸入單元表示A。即睦番,我們可以用I0 ,I1 ,I2作為輸入單元类茂。每個單元初始化為0。如果A = a0托嚣,則I0置為1巩检;如果A = a1,I1置1示启;如此下去兢哭。

一個輸出單元可以用來表示兩個類(值1代表一個類,而值0代表另一個)丑搔。如果多于兩個類厦瓢,則每個類使用一個輸出單元提揍。

隱藏層單元數(shù)設(shè)多少個“最好” ,沒有明確的規(guī)則煮仇。

網(wǎng)絡(luò)設(shè)計是一個實驗過程劳跃,并可能影響準(zhǔn)確性。權(quán)的初值也可能影響準(zhǔn)確性浙垫。如果某個經(jīng)過訓(xùn)練的網(wǎng)絡(luò)的準(zhǔn)確率太低刨仑,則通常需要采用不同的網(wǎng)絡(luò)拓撲或使用不同的初始權(quán)值,重復(fù)進行訓(xùn)練夹姥。

后向傳播算法學(xué)習(xí)過程:

迭代地處理一組訓(xùn)練樣本杉武,將每個樣本的網(wǎng)絡(luò)預(yù)測與實際的類標(biāo)號比較。

每次迭代后辙售,修改權(quán)值轻抱,使得網(wǎng)絡(luò)預(yù)測和實際類之間的均方差最小。

這種修改“后向”進行旦部。即祈搜,由輸出層,經(jīng)由每個隱藏層士八,到第一個隱藏層(因此稱作后向傳播)容燕。盡管不能保證,一般地婚度,權(quán)將最終收斂蘸秘,學(xué)習(xí)過程停止。

算法終止條件:訓(xùn)練集中被正確分類的樣本達到一定的比例蝗茁,或者權(quán)系數(shù)趨近穩(wěn)定醋虏。

后向傳播算法分為如下幾步:

1) 初始化權(quán)

網(wǎng)絡(luò)的權(quán)通常被初始化為很小的隨機數(shù)(例如,范圍從-1.0到1.0评甜,或從-0.5到0.5)灰粮。

每個單元都設(shè)有一個偏置(bias),偏置也被初始化為小隨機數(shù)忍坷。

2) 向前傳播輸入

對于每一個樣本X,重復(fù)下面兩步:

向前傳播輸入熔脂,向后傳播誤差

計算各層每個單元的輸入和輸出佩研。輸入層:輸出=輸入=樣本X的屬性;即霞揉,對于單元j旬薯,Oj = Ij = Xj。隱藏層和輸出層:輸入=前一層的輸出的線性組合,即适秩,對于單元j绊序, Ij =wij Oi + θj硕舆,輸出=

3) 向后傳播誤差

計算各層每個單元的誤差。

輸出層單元j骤公,誤差:

Oj是單元j的實際輸出抚官,而Tj是j的真正輸出。

隱藏層單元j阶捆,誤差:

wjk是由j到下一層中單元k的連接的權(quán)凌节,Errk是單元k的誤差

更新權(quán)偏差,以反映傳播的誤差洒试。

權(quán)由下式更新:

?其中倍奢,△wij是權(quán)wij的改變。l是學(xué)習(xí)率垒棋,通常取0和1之間的值卒煞。

?偏置由下式更新:

? 其中,△θj是偏置θj的改變叼架。



Example



人類視覺原理:

深度學(xué)習(xí)的許多研究成果跷坝,離不開對大腦認知原理的研究,尤其是視覺原理的研究碉碉。1981 年的諾貝爾醫(yī)學(xué)獎柴钻,頒發(fā)給了 David Hubel(出生于加拿大的美國神經(jīng)生物學(xué)家) 和Torsten Wiesel,以及Roger Sperry垢粮。前兩位的主要貢獻贴届,是“發(fā)現(xiàn)了視覺系統(tǒng)的信息處理”,可視皮層是分級的蜡吧。

人類的視覺原理如下:從原始信號攝入開始(瞳孔攝入像素Pixels)毫蚓,接著做初步處理(大腦皮層某些細胞發(fā)現(xiàn)邊緣和方向),然后抽象(大腦判定昔善,眼前的物體的形狀元潘,是圓形的),然后進一步抽象(大腦進一步判定該物體是只氣球)君仆。


對于不同的物體翩概,人類視覺也是通過這樣逐層分級,來進行認知的:


在最底層特征基本上是類似的返咱,就是各種邊緣钥庇,越往上,越能提取出此類物體的一些特征(輪子咖摹、眼睛评姨、軀干等),到最上層萤晴,不同的高級特征最終組合成相應(yīng)的圖像吐句,從而能夠讓人類準(zhǔn)確的區(qū)分不同的物體胁后。

可以很自然的想到:可以不可以模仿人類大腦的這個特點,構(gòu)造多層的神經(jīng)網(wǎng)絡(luò)嗦枢,較低層的識別初級的圖像特征攀芯,若干底層特征組成更上一層特征,最終通過多個層級的組合净宵,最終在頂層做出分類呢敲才?答案是肯定的,這也是許多深度學(xué)習(xí)算法(包括CNN)的靈感來源择葡。

卷積神經(jīng)網(wǎng)絡(luò)是一種多層神經(jīng)網(wǎng)絡(luò)紧武,擅長處理圖像特別是大圖像的相關(guān)機器學(xué)習(xí)問題。卷積網(wǎng)絡(luò)通過一系列方法敏储,成功將數(shù)據(jù)量龐大的圖像識別問題不斷降維阻星,最終使其能夠被訓(xùn)練。

CNN最早由Yann LeCun提出并應(yīng)用在手寫字體識別上已添。LeCun提出的網(wǎng)絡(luò)稱為LeNet妥箕,其網(wǎng)絡(luò)結(jié)構(gòu)如下:


這是一個最典型的卷積網(wǎng)絡(luò),由卷積層更舞、池化層畦幢、全連接層組成。其中卷積層與池化層配合缆蝉,組成多個卷積組宇葱,逐層提取特征,最終通過若干個全連接層完成分類刊头。

CNN通過卷積來模擬特征區(qū)分黍瞧,并且通過卷積的權(quán)值共享及池化,來降低網(wǎng)絡(luò)參數(shù)的數(shù)量級原杂,最后通過傳統(tǒng)神經(jīng)網(wǎng)絡(luò)完成分類等任務(wù)印颤。

降低參數(shù)量級:如果使用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)方式,對一張圖片進行分類穿肄,那么年局,把圖片的每個像素都連接到隱藏層節(jié)點上,對于一張1000x1000像素的圖片被碗,如果有1M隱藏層單元某宪,一共有10^12個參數(shù),這顯然是不能接受的锐朴。


但是在CNN里,可以大大減少參數(shù)個數(shù)蔼囊,基于以下兩個假設(shè):

1)最底層特征都是局部性的焚志,也就是說衣迷,用10x10這樣大小的過濾器就能表示邊緣等底層特征

2)圖像上不同小片段,以及不同圖像上的小片段的特征是類似的酱酬,也就是說壶谒,能用同樣的一組分類器來描述各種各樣不同的圖像

基于以上兩個假設(shè),就能把第一層網(wǎng)絡(luò)結(jié)構(gòu)簡化

用100個10x10的小過濾器膳沽,就能夠描述整幅圖片上的底層特征汗菜。



卷積運算的定義如下圖所示:

如上圖所示,一個5x5的圖像挑社,用一個3x3的卷積核

?? 1  0  1

?? 0  1  0

?? 1  0  1

來對圖像進行卷積操作(可以理解為有一個滑動窗口陨界,把卷積核與對應(yīng)的圖像像素做乘積然后求和),得到了3x3的卷積結(jié)果痛阻。

這個過程可以理解為使用一個過濾器(卷積核)來過濾圖像的各個小區(qū)域菌瘪,從而得到這些小區(qū)域的特征值。在實際訓(xùn)練過程中阱当,卷積核的值是在學(xué)習(xí)過程中學(xué)到的俏扩。

在具體應(yīng)用中,往往有多個卷積核弊添,可以認為录淡,每個卷積核代表了一種圖像模式,如果某個圖像塊與此卷積核卷積出的值大油坝,則認為此圖像塊十分接近于此卷積核嫉戚。如果設(shè)計了6個卷積核,可以理解為這個圖像上有6種底層紋理模式免钻,也就是用6種基礎(chǔ)模式就能描繪出一副圖像彼水。以下就是24種不同的卷積核的示例:

池化的過程如下圖所示:

可以看到,原始圖片是20x20的极舔,對其進行采樣凤覆,采樣窗口為10x10,最終將其采樣成為一個2x2大小的特征圖拆魏。

之所以這么做盯桦,是因為即使做完了卷積,圖像仍然很大(因為卷積核比較胁橙小)拥峦,所以為了降低數(shù)據(jù)維度,就進行采樣卖子。

即使減少了許多數(shù)據(jù)略号,特征的統(tǒng)計屬性仍能夠描述圖像,而且由于降低了數(shù)據(jù)維度,有效地避免了過擬合玄柠。

在實際應(yīng)用中突梦,分為最大值采樣(Max-Pooling)與平均值采樣(Mean-Pooling)。


LeNet網(wǎng)絡(luò)結(jié)構(gòu):

注意羽利,上圖中S2與C3的連接方式并不是全連接宫患,而是部分連接。最后这弧,通過全連接層C5娃闲、F6得到10個輸出,對應(yīng)10個數(shù)字的概率匾浪。

卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)類似皇帮,也是參照了反向傳播算法

第一階段,向前傳播階段:

a)從樣本集中取一個樣本(X,Yp)户矢,將X輸入網(wǎng)絡(luò)玲献;

b)計算相應(yīng)的實際輸出Op

第二階段,向后傳播階段

a)計算實際輸出Op與相應(yīng)的理想輸出Yp的差梯浪;

b)按極小化誤差的方法反向傳播調(diào)整權(quán)矩陣捌年。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市挂洛,隨后出現(xiàn)的幾起案子礼预,更是在濱河造成了極大的恐慌,老刑警劉巖虏劲,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件托酸,死亡現(xiàn)場離奇詭異,居然都是意外死亡柒巫,警方通過查閱死者的電腦和手機励堡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來堡掏,“玉大人应结,你說我怎么就攤上這事∪洌” “怎么了鹅龄?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亭畜。 經(jīng)常有香客問我扮休,道長,這世上最難降的妖魔是什么拴鸵? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任玷坠,我火速辦了婚禮蜗搔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侨糟。我一直安慰自己碍扔,他們只是感情好瘩燥,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布秕重。 她就那樣靜靜地躺著,像睡著了一般厉膀。 火紅的嫁衣襯著肌膚如雪溶耘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天服鹅,我揣著相機與錄音凳兵,去河邊找鬼。 笑死填帽,一個胖子當(dāng)著我的面吹牛徒欣,可吹牛的內(nèi)容都是我干的缺亮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼形庭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了厌漂?” 一聲冷哼從身側(cè)響起萨醒,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎苇倡,沒想到半個月后富纸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡旨椒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年晓褪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片综慎。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡涣仿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出寥粹,到底是詐尸還是另有隱情变过,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布涝涤,位于F島的核電站媚狰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏阔拳。R本人自食惡果不足惜崭孤,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一类嗤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辨宠,春花似錦遗锣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赋兵,卻和暖如春笔咽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背霹期。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工叶组, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人历造。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓甩十,卻偏偏與公主長得像,于是被迫代替她去往敵國和親吭产。 傳聞我的和親對象是個殘疾皇子侣监,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

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