摘要:起步神經(jīng)網(wǎng)絡(luò)算法是機(jī)器學(xué)習(xí)中非常非常重要的算法。于是計(jì)算科學(xué)家們開(kāi)始考慮用調(diào)整權(quán)值的方法來(lái)讓機(jī)器學(xué)習(xí)。年,和等人提出了反向傳播,算法,這是最著名的一個(gè)神經(jīng)網(wǎng)絡(luò)算法。算法算法是多層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練一個(gè)核心的算法。
起步
神經(jīng)網(wǎng)絡(luò)算法( Neural Network )是機(jī)器學(xué)習(xí)中非常非常重要的算法。這是整個(gè)深度學(xué)習(xí)的核心算法,深度學(xué)習(xí)就是根據(jù)神經(jīng)網(wǎng)絡(luò)算法進(jìn)行的一個(gè)延伸。理解這個(gè)算法的是怎么工作也能為后續(xù)的學(xué)習(xí)打下一個(gè)很好的基礎(chǔ)。
背景神經(jīng)網(wǎng)絡(luò)是受神經(jīng)元啟發(fā)的,對(duì)于神經(jīng)元的研究由來(lái)已久,1904年生物學(xué)家就已經(jīng)知曉了神經(jīng)元的組成結(jié)構(gòu)。
1943年,心理學(xué)家McCulloch和數(shù)學(xué)家Pitts參考了生物神經(jīng)元的結(jié)構(gòu),發(fā)表了抽象的神經(jīng)元模型MP。
1949年心理學(xué)家Hebb提出了Hebb學(xué)習(xí)率,認(rèn)為人腦神經(jīng)細(xì)胞的突觸(也就是連接)上的強(qiáng)度上可以變化的。于是計(jì)算科學(xué)家們開(kāi)始考慮用調(diào)整權(quán)值的方法來(lái)讓機(jī)器學(xué)習(xí)。這為后面的學(xué)習(xí)算法奠定了基礎(chǔ)。
1958年,計(jì)算科學(xué)家Rosenblatt提出了由兩層神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò)。他給它起了一個(gè)名字--感知器( Perceptron )。
1986年,Rumelhar和Hinton等人提出了反向傳播( Backpropagation ,BP)算法,這是最著名的一個(gè)神經(jīng)網(wǎng)絡(luò)算法。
神經(jīng)網(wǎng)絡(luò)的構(gòu)成多層神經(jīng)網(wǎng)絡(luò)由三部分組成:輸入層( input layer ), 隱藏層 ( hidden layers ), 輸出層 ( output layers )。
每一層都是有單元( units )組成,其中,輸入層是由訓(xùn)練集中實(shí)例特征向量傳入,根據(jù)連接點(diǎn)之間的權(quán)重傳遞到下一層,這樣一層一層向前傳遞。
輸入層和輸出層都只有一層,隱藏層的個(gè)數(shù)可以是任意的。神經(jīng)網(wǎng)絡(luò)的層數(shù)計(jì)算中不包括輸入層,比方說(shuō)一個(gè)神經(jīng)網(wǎng)絡(luò)中有2個(gè)隱藏層,我們就說(shuō)這是一個(gè)3層的神經(jīng)網(wǎng)絡(luò)。
作為多層向前神經(jīng)網(wǎng)絡(luò),理論上,如果有足夠多的隱藏層和訓(xùn)練集,是可以模擬出任何方程的。
神經(jīng)網(wǎng)絡(luò)可以用來(lái)解決分類(lèi)( classification )問(wèn)題,也可以解決回歸( regression )問(wèn)題。
從單層到多層的神經(jīng)網(wǎng)絡(luò)由兩層神經(jīng)網(wǎng)絡(luò)構(gòu)成了單層神經(jīng)網(wǎng)絡(luò),它還有個(gè)別名———— 感知器 。
如圖中,有3個(gè)輸入,連接線(xiàn)的權(quán)值分別是 w1, w2, w3。將輸入與權(quán)值進(jìn)行乘積然后求和,作為 z 單元的輸入,如果 z 單元是函數(shù) g ,那么就有 z = g(a1 * w1 + a2 * w2 + a3 * w3) 。
單層神經(jīng)網(wǎng)絡(luò)的擴(kuò)展,也是一樣的計(jì)算方式:
在多層神經(jīng)網(wǎng)絡(luò)中,只不過(guò)是將輸出作為下一層的輸入,一樣是乘以權(quán)重然后求和:
設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)使用神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練之前,必須確定神經(jīng)網(wǎng)絡(luò)的層數(shù),以及每一層中單元的個(gè)數(shù)。整個(gè)訓(xùn)練過(guò)程就是調(diào)整連接點(diǎn)之間的權(quán)重值。
特征向量在被傳入輸入層前,通常要先標(biāo)準(zhǔn)化為 0 到 1 之間的數(shù),這是為了加速學(xué)習(xí)過(guò)程。
對(duì)于分類(lèi)問(wèn)題,如果是兩類(lèi),可以用一個(gè)輸出單元(0 和 1 表示分類(lèi)結(jié)果)進(jìn)行表示。如果是多分類(lèi)問(wèn)題,則每一個(gè)類(lèi)別用一個(gè)輸出單元表示。分類(lèi)問(wèn)題中,輸出層單元個(gè)數(shù)通常等于類(lèi)別的數(shù)量。
目前沒(méi)有明確的規(guī)則來(lái)設(shè)計(jì)最好有多少個(gè)隱藏層,通常是根據(jù)實(shí)驗(yàn)測(cè)試和誤差,以及準(zhǔn)確度來(lái)進(jìn)行改進(jìn)。
交叉驗(yàn)證方法如何來(lái)預(yù)測(cè)準(zhǔn)確度呢?在SVM的應(yīng)用篇中,有個(gè)方法就是將數(shù)據(jù)集分為兩類(lèi),訓(xùn)練集和測(cè)試集,利用測(cè)試集的數(shù)據(jù)將模型的預(yù)測(cè)結(jié)果進(jìn)行對(duì)比,得出準(zhǔn)確度。這里介紹另一個(gè)常用但更科學(xué)的方法————交叉驗(yàn)證方法( Cross-Validation )。
這個(gè)方法不局限于將數(shù)據(jù)集分成兩份,它可以分成 k 份。用第一份作為訓(xùn)練集,其余作為測(cè)試集,得出這一部分的準(zhǔn)確度 ( evaluation )。再用第二份作為訓(xùn)練集,其余作為測(cè)試集,得出這第二部分的準(zhǔn)確度。以此類(lèi)推,最后取各部分的準(zhǔn)確度的平均值。從而可以得到設(shè)計(jì)多少層最佳。
BP 算法BP 算法 ( BackPropagation )是多層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練一個(gè)核心的算法。目的是更新每個(gè)連接點(diǎn)的權(quán)重,從而減小預(yù)測(cè)值( predicted value )與真實(shí)值 ( target value )之間的差距。輸入一條訓(xùn)練數(shù)據(jù)就會(huì)更新一次權(quán)重,反方向(從輸出層=>隱藏層=>輸入層)來(lái)以最小化誤差(error)來(lái)更新權(quán)重(weitht)。
在訓(xùn)練神經(jīng)網(wǎng)絡(luò)之前,需要初始化權(quán)重( weights )和偏向( bias ),初始化是隨機(jī)值, -1 到 1 之間,每個(gè)單元有一個(gè)偏向。
算法詳細(xì)介紹數(shù)據(jù)集用 D 表示,學(xué)習(xí)率用 l 表示。對(duì)于每一個(gè)訓(xùn)練實(shí)例 X,都是一樣的步驟。
利用上一層的輸入,得到本層的輸入:
$$ I_j = sum_i w_{i,j}O_i + heta{j} $$
得到輸入值后,神經(jīng)元要怎么做呢?我們先將單個(gè)神經(jīng)元進(jìn)行展開(kāi)如圖:
得到值后需要進(jìn)行一個(gè)非線(xiàn)性轉(zhuǎn)化,這個(gè)轉(zhuǎn)化在神經(jīng)網(wǎng)絡(luò)中稱(chēng)為激活函數(shù)( Activation function ),這個(gè)激活函數(shù)是一個(gè) S 函數(shù),圖中以 f 表示,它的函數(shù)為:
$$ O_j = frac1{1+e^{-I_j}} $$
更新權(quán)重通過(guò)上面的傳遞規(guī)則,可以得到最終的輸出,而訓(xùn)練實(shí)例中包含實(shí)際的值,因此可以得到訓(xùn)練和實(shí)際之間的誤差。根據(jù)誤差(error)反向傳送。
對(duì)于輸出層的誤差為:
$$ Err_j = O_j(1 - O_j)(T_j - O_j) $$
其中 Oj 表示預(yù)測(cè)值, Tj 表示真實(shí)值。
對(duì)隱藏層的誤差:
$$ Err_j = O_j(1 - O_j)sum_k Err_kw_{j,k} $$
更新權(quán)重:
$$ egin{align*} Delta w_{i,j} &= (l)Err_jO_i w_{i,j} &= w_{i,j} + Delta w_{i,j} end{align*} $$
這里的 l 是學(xué)習(xí)率。偏向更新:
$$ egin{align*} Delta heta{j} &= (l)Err_j heta{j} &= heta{j} + Delta heta{j} end{align*} $$
訓(xùn)練的終止條件怎樣才算是一個(gè)訓(xùn)練好了的神經(jīng)網(wǎng)絡(luò)呢?滿(mǎn)足下面一個(gè)情況即可:
權(quán)重的更新低于某個(gè)閾值,這個(gè)閾值是可以人工指定的;
預(yù)測(cè)的錯(cuò)誤率低于某個(gè)閾值;
達(dá)到預(yù)設(shè)一定的循環(huán)次數(shù)。
BP 算法舉例假設(shè)有一個(gè)兩層的神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu),權(quán)重和數(shù)據(jù)集如下:
計(jì)算誤差和更新權(quán)重:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/41136.html
摘要:近幾年以卷積神經(jīng)網(wǎng)絡(luò)有什么問(wèn)題為主題做了多場(chǎng)報(bào)道,提出了他的計(jì)劃。最初提出就成為了人工智能火熱的研究方向。展現(xiàn)了和玻爾茲曼分布間驚人的聯(lián)系其在論文中多次稱(chēng),其背后的內(nèi)涵引人遐想。 Hinton 以深度學(xué)習(xí)之父 和 神經(jīng)網(wǎng)絡(luò)先驅(qū) 聞名于世,其對(duì)深度學(xué)習(xí)及神經(jīng)網(wǎng)絡(luò)的諸多核心算法和結(jié)構(gòu)(包括深度學(xué)習(xí)這個(gè)名稱(chēng)本身,反向傳播算法,受限玻爾茲曼機(jī),深度置信網(wǎng)絡(luò),對(duì)比散度算法,ReLU激活單元,Dropo...
摘要:最近一直在看,各類(lèi)博客論文看得不少但是說(shuō)實(shí)話(huà),這樣做有些疏于實(shí)現(xiàn),一來(lái)呢自己的電腦也不是很好,二來(lái)呢我目前也沒(méi)能力自己去寫(xiě)一個(gè)只是跟著的寫(xiě)了些已有框架的代碼這部分的代碼見(jiàn)后來(lái)發(fā)現(xiàn)了一個(gè)的的,發(fā)現(xiàn)其代碼很簡(jiǎn)單,感覺(jué)比較適合用來(lái)學(xué)習(xí)算法再一個(gè)就 最近一直在看Deep Learning,各類(lèi)博客、論文看得不少但是說(shuō)實(shí)話(huà),這樣做有些疏于實(shí)現(xiàn),一來(lái)呢自己的電腦也不是很好,二來(lái)呢我目前也沒(méi)能力自己去寫(xiě)一...
摘要:本文討論了多個(gè)評(píng)估指標(biāo),并從多個(gè)方面對(duì)評(píng)估指標(biāo)進(jìn)行了實(shí)驗(yàn)評(píng)估,包括距離分類(lèi)器。鑒于定性評(píng)估的內(nèi)在缺陷,恰當(dāng)?shù)亩吭u(píng)估指標(biāo)對(duì)于的發(fā)展和更好模型的設(shè)計(jì)至關(guān)重要。鑒于評(píng)估非常有難度,評(píng)估評(píng)估指標(biāo)則更加困難。 作者:Qiantong Xu、Gao Huang、Yang Yuan、Chuan Guo、Yu Sun、Felix Wu、Kilian Weinberger生成對(duì)抗網(wǎng)絡(luò)的評(píng)估目前仍以定性評(píng)估和...
摘要:如何看待人工智能的本質(zhì)人工智能的飛速發(fā)展又經(jīng)歷了哪些歷程本文就從技術(shù)角度為大家介紹人工智能領(lǐng)域經(jīng)常提到的幾大概念與發(fā)展簡(jiǎn)史。一人工智能相關(guān)概念人工智能就是讓機(jī)器像人一樣的智能會(huì)思考是機(jī)器學(xué)習(xí)深度學(xué)習(xí)在實(shí)踐中的應(yīng)用。 作為近幾年的一大熱詞,人工智能一直是科技圈不可忽視的一大風(fēng)口。隨著智能硬件的迭代,智能家居產(chǎn)品逐步走進(jìn)千家萬(wàn)戶(hù),語(yǔ)音識(shí)別、圖像識(shí)別等AI相關(guān)技術(shù)也經(jīng)歷了階梯式發(fā)展。如何看待...
閱讀 3331·2023-04-25 20:35
閱讀 3674·2019-08-30 15:54
閱讀 2064·2019-08-30 15:43
閱讀 2238·2019-08-29 15:14
閱讀 1959·2019-08-29 11:17
閱讀 3440·2019-08-26 13:36
閱讀 753·2019-08-26 10:15
閱讀 2922·2019-08-23 15:41