人工神經(jīng)網(wǎng)絡(luò)的本質(zhì)探討
一、 人工神經(jīng)網(wǎng)絡(luò)的概念
人工神經(jīng)網(wǎng)絡(luò)(ArTIficial Neural Network,ANN)簡(jiǎn)稱神經(jīng)網(wǎng)絡(luò)(NN),是基于生物學(xué)中神經(jīng)網(wǎng)絡(luò)的基本原理,在理解和抽象了人腦結(jié)構(gòu)和外界刺激響應(yīng)機(jī)制后,以網(wǎng)絡(luò)拓?fù)渲R(shí)為理論基礎(chǔ),模擬人腦的神經(jīng)系統(tǒng)對(duì)復(fù)雜信息的處理機(jī)制的一種數(shù)學(xué)模型。該模型以并行分布的處理能力、高容錯(cuò)性、智能化和自學(xué)習(xí)等能力為特征,將信息的加工和存儲(chǔ)結(jié)合在一起,以其獨(dú)特的知識(shí)表示方式和智能化的自適應(yīng)學(xué)習(xí)能力,引起各學(xué)科領(lǐng)域的關(guān)注。它實(shí)際上是一個(gè)有大量簡(jiǎn)單元件相互連接而成的復(fù)雜網(wǎng)絡(luò),具有高度的非線性,能夠進(jìn)行復(fù)雜的邏輯操作和非線性關(guān)系實(shí)現(xiàn)的系統(tǒng)。
神經(jīng)網(wǎng)絡(luò)是一種運(yùn)算模型,由大量的節(jié)點(diǎn)(或稱神經(jīng)元)之間相互聯(lián)接構(gòu)成。每個(gè)節(jié)點(diǎn)代表一種特定的輸出函數(shù),稱為激活函數(shù)(acTIvaTIon funcTIon)。每?jī)蓚€(gè)節(jié)點(diǎn)間的連接都代表一個(gè)對(duì)于通過該連接信號(hào)的加權(quán)值,稱之為權(quán)重(weight),神經(jīng)網(wǎng)絡(luò)就是通過這種方式來模擬人類的記憶。網(wǎng)絡(luò)的輸出則取決于網(wǎng)絡(luò)的結(jié)構(gòu)、網(wǎng)絡(luò)的連接方式、權(quán)重和激活函數(shù)。而網(wǎng)絡(luò)自身通常都是對(duì)自然界某種算法或者函數(shù)的逼近,也可能是對(duì)一種邏輯策略的表達(dá)。神經(jīng)網(wǎng)絡(luò)的構(gòu)筑理念是受到生物的神經(jīng)網(wǎng)絡(luò)運(yùn)作啟發(fā)而產(chǎn)生的。人工神經(jīng)網(wǎng)絡(luò)則是把對(duì)生物神經(jīng)網(wǎng)絡(luò)的認(rèn)識(shí)與數(shù)學(xué)統(tǒng)計(jì)模型相結(jié)合,借助數(shù)學(xué)統(tǒng)計(jì)工具來實(shí)現(xiàn)。另一方面在人工智能學(xué)的人工感知領(lǐng)域,我們通過數(shù)學(xué)統(tǒng)計(jì)學(xué)的方法,使神經(jīng)網(wǎng)絡(luò)能夠具備類似于人的決定能力和簡(jiǎn)單的判斷能力,這種方法是對(duì)傳統(tǒng)邏輯學(xué)演算的進(jìn)一步延伸。
?
從數(shù)學(xué)的角度講,人工神經(jīng)網(wǎng)絡(luò)的本質(zhì)從機(jī)器學(xué)習(xí)的過程可理解為通過參數(shù)求最佳解得過程。同樣也是一個(gè)負(fù)反饋的過程,以最簡(jiǎn)單的負(fù)反饋神經(jīng)網(wǎng)絡(luò)bp神經(jīng)網(wǎng)絡(luò)(back propagaTIon)為例,其本質(zhì)可以形象的理解為這樣一個(gè)過程:我們假設(shè)這個(gè)剛搭建的好的機(jī)器人叫“小明”(假設(shè)他剛出生),他的硬件軟件等我們不需要考慮的部分全部是最先進(jìn)的,小明的大腦里現(xiàn)在是最純凈的,除了一個(gè)學(xué)習(xí)的算法什么都沒有,就像一個(gè)剛出生的嬰兒一樣。
現(xiàn)在,小明餓了,想吃東西。那么如何才能吃到東西呢?在什么都不知道的情況下,小明開始探索如何才能不餓。他可能會(huì)伸手,或者笑、哭,于是母親喂了他吃的,從邏輯上可以這么理解:然后他每次餓了,都開始伸手-笑-哭,然后就有吃的了。突然,有一天他自己也不知道怎么搞的,直接哭了。然后---有吃的了!
這時(shí)他才明白這一個(gè)邏輯:這時(shí)候,機(jī)器人“小明“明白,其實(shí)達(dá)到一個(gè)目的很簡(jiǎn)單,但是需要不斷嘗試。再后來,小明又餓了,這回他懶得動(dòng),稍微小哭了一下等吃的,結(jié)果媽媽沒來喂他!這是為啥?然后他就哭的超級(jí)大聲,媽媽看他這樣子以為是病了,急沖沖的送她去診所,結(jié)果啥病也沒有,小明迷惑,這是為什么?
邏輯可以這么理解:然后他把哭聲再稍微降低以點(diǎn),變成了很正常的哭,這時(shí)媽媽終于恍然大悟,喂他吃的。小明終于明白,想吃東西,首先需要哭,然后若哭聲小,不起作用,需要調(diào)大哭聲,若哭聲過大,會(huì)起反作用,需要把哭聲再降小一點(diǎn),就有吃的了。
以上就是人工神經(jīng)網(wǎng)絡(luò)的本質(zhì),通過不斷嘗試引入各種參量,最終得到允許誤差范圍內(nèi)的解,并通過引入?yún)⒘肯禂?shù),最終得到最優(yōu)解——喂食=哭。通過負(fù)反饋機(jī)制,當(dāng)參量所占權(quán)重過小,以當(dāng)前參量所得結(jié)果為參考依據(jù)適當(dāng)增加參量權(quán)重比例,增加的比例的系數(shù)隨機(jī)。通過第二次的結(jié)果和第一次的結(jié)果選擇更合適的權(quán)重系數(shù),最后經(jīng)過不斷的“嘗試“得到最優(yōu)解。以上過程即是bp負(fù)反饋神經(jīng)網(wǎng)絡(luò)的算法思想。