M-P模型的來(lái)源
所謂M-P模型,其實(shí)是按照生物神經(jīng)元的結(jié)構(gòu)和工作原理構(gòu)造出來(lái)的一個(gè)抽象和簡(jiǎn)化了的模型。
下圖是生物神經(jīng)元結(jié)構(gòu)。
?
大家可以查一查一些生物方面的書(shū)籍,了解一下這個(gè)神經(jīng)元是如何工作的。我們可以概括出生物神經(jīng)網(wǎng)絡(luò)的假定特點(diǎn):
1. 每個(gè)神經(jīng)元都是一個(gè)多輸入單輸出的信息處理單元;
2. 神經(jīng)元輸入分興奮性輸入和抑制性輸入兩種類型;
3. 神經(jīng)元具有空間整合特性和閾值特性;
4. 神經(jīng)元輸入與輸出間有固定的時(shí)滯,主要取決于突觸延擱
M-P模型
按照生物神經(jīng)元,我們建立M-P模型。為了使得建模更加簡(jiǎn)單,以便于進(jìn)行形式化表達(dá),我們忽略時(shí)間整合作用、不應(yīng)期等復(fù)雜因素,并把神經(jīng)元的突觸時(shí)延和強(qiáng)度當(dāng)成常數(shù)。下圖就是一個(gè)M-P模型的示意圖。

?
那么接下來(lái)就好類比理解了。我們將這個(gè)模型和生物神經(jīng)元的特性列表來(lái)比較:

?
結(jié)合M-P模型示意圖來(lái)看,對(duì)于某一個(gè)神經(jīng)元j (注意別混淆成變量了,在這里j 只是起到標(biāo)識(shí)某個(gè)神經(jīng)元的作用),它可能接受同時(shí)接受了許多個(gè)輸入信號(hào),用 χi 表示。
由于生物神經(jīng)元具有不同的突觸性質(zhì)和突觸強(qiáng)度,所以對(duì)神經(jīng)元的影響不同,我們用權(quán)值 ωij 來(lái)表示,其正負(fù)模擬了生物神經(jīng)元中突出的興奮和抑制,其大小則代表了突出的不同連接強(qiáng)度。
θj表示為一個(gè)閾值(threshold),或稱為偏置(bias)。
由于累加性,我們對(duì)全部輸入信號(hào)進(jìn)行累加整合,相當(dāng)于生物神經(jīng)元中的膜電位(水的變化總量),其值就為:

?
神經(jīng)元激活與否(外接專用水管流出與否)取決于某一閾值電平(水位高度),即只有當(dāng)其輸入總和超過(guò)閾值θj 時(shí),神經(jīng)元才被激活而發(fā)放脈沖,否則神經(jīng)元不會(huì)發(fā)生輸出信號(hào)。整個(gè)過(guò)程可以用下面這個(gè)函數(shù)來(lái)表示:

?
yj表示神經(jīng)元j的輸出,函數(shù)f稱為激活函數(shù) ( Activation Function )或轉(zhuǎn)移函數(shù) ( Transfer Function ) ,net'j(t)稱為凈激活(net activation)。
若將閾值看成是神經(jīng)元j的一個(gè)輸入x0的權(quán)重w0j,則上面的式子可以簡(jiǎn)化為:

?
若用X表示輸入向量,用W表示權(quán)重向量,即:

則神經(jīng)元的輸出可以表示為向量相乘的形式:

若神經(jīng)元的凈激活net為正,稱該神經(jīng)元處于激活狀態(tài)或興奮狀態(tài)(fire),若凈激活net為負(fù),則稱神經(jīng)元處于抑制狀態(tài)。
由此我們可以得到總結(jié)出M-P模型的6個(gè)特點(diǎn):
1. 每個(gè)神經(jīng)元都是一個(gè)多輸入單輸出的信息處理單元;
2. 神經(jīng)元輸入分興奮性輸入和抑制性輸入兩種類型;
3. 神經(jīng)元具有空間整合特性和閾值特性;
4. 神經(jīng)元輸入與輸出間有固定的時(shí)滯,主要取決于突觸延擱;
5. 忽略時(shí)間整合作用和不應(yīng)期;
6. 神經(jīng)元本身是非時(shí)變的,即其突觸時(shí)延和突觸強(qiáng)度均為常數(shù)。
前面4點(diǎn)和生物神經(jīng)元保持一致。
結(jié)合公式來(lái)看,輸入χij的下標(biāo) i=1,2,...,n,輸出 yj 的下標(biāo)j 體現(xiàn)了第1個(gè)特點(diǎn)“多輸入單輸出”;
權(quán)重值 ωij 的正負(fù)體現(xiàn)了第2個(gè)特點(diǎn)中“突觸的興奮與抑制”;
θj 代表第3個(gè)特點(diǎn) 中的閾值,當(dāng) net'j(t)?Tj>0 時(shí),神經(jīng)元才能被激活;
為了簡(jiǎn)單起見(jiàn),對(duì)膜電位的計(jì)算net'j(t) 并沒(méi)有考慮時(shí)間整合,只考慮了空間整合,即只對(duì)每條神經(jīng)末梢傳來(lái)的信號(hào)根據(jù)權(quán)重進(jìn)行累加整合,而沒(méi)有考慮輸入輸出間的突觸時(shí)延,體現(xiàn)了第5個(gè)特點(diǎn)。
這種“閾值加權(quán)和”的神經(jīng)元模型稱為M-P模型 ( McCulloch-Pitts Model ),也稱為神經(jīng)網(wǎng)絡(luò)的一個(gè)處理單元( PE, Processing Element )。
常用激活函數(shù)
激活函數(shù)的選擇是構(gòu)建神經(jīng)網(wǎng)絡(luò)過(guò)程中的重要環(huán)節(jié),下面簡(jiǎn)要介紹常用的激活函數(shù)。

?
以上3個(gè)激活函數(shù)都屬于線性函數(shù),下面介紹兩個(gè)常用的非線性激活函數(shù)。

?
S形函數(shù)與雙極S形函數(shù)的圖像如下:

?
雙極S形函數(shù)與S形函數(shù)主要區(qū)別在于函數(shù)的值域,雙極S形函數(shù)值域是(?1,1),而S形函數(shù)值域是(0,1)。
由于S形函數(shù)與雙極S形函數(shù)都是可導(dǎo)的(導(dǎo)函數(shù)是連續(xù)函數(shù)),因此適合用在BP神經(jīng)網(wǎng)絡(luò)中。(BP算法要求激活函數(shù)可導(dǎo))
最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)——感知器
在1958年,美國(guó)心理學(xué)家Frank Rosenblatt提出一種具有單層計(jì)算單元的神經(jīng)網(wǎng)絡(luò),稱為感知器(Perceptron)。它其實(shí)就是基于M-P模型的結(jié)構(gòu)。我們可以看看它的拓?fù)浣Y(jié)構(gòu)圖。

?
這個(gè)結(jié)構(gòu)非常簡(jiǎn)單,如果你還記得前面所講的M-P神經(jīng)元的結(jié)構(gòu)的話,這個(gè)圖其實(shí)就是輸入輸出兩層神經(jīng)元之間的簡(jiǎn)單連接(如果忘了可以看看第一話的模型示意圖)。
由第一話的(2)中我們知道輸入層各節(jié)點(diǎn)的輸入加權(quán)和
我們一般采用符號(hào)函數(shù)來(lái)當(dāng)作單層感知器的傳遞函數(shù),即輸出
公式(2)可以進(jìn)一步表達(dá)為:
單層感知器的局限性
雖然單層感知器簡(jiǎn)單而優(yōu)雅,但它顯然不夠聰明——它僅對(duì)線性問(wèn)題具有分類能力。什么是線性問(wèn)題呢?簡(jiǎn)單來(lái)講,就是用一條直線可分的圖形。比如,邏輯“與”和邏輯“或”就是線性問(wèn)題,我們可以用一條直線來(lái)分隔0和1。
1)邏輯“與”的真值表和二維樣本圖如圖2:

?
2)邏輯“或”的真值表如圖3:

?
為什么感知器就可以解決線性問(wèn)題呢?這是由它的傳遞函數(shù)決定的。這里以兩個(gè)輸入分量 x1 和 x2 組成的二維空間為例,此時(shí)節(jié)點(diǎn) j 的輸出為
所以,方程
確定的直線就是二維輸入樣本空間上的一條分界線。對(duì)于三維及更高維數(shù)的推導(dǎo)過(guò)程可以參考其他的Tutorials。
如果要讓它來(lái)處理非線性的問(wèn)題,單層感知器網(wǎng)就無(wú)能為力了。例如下面的“異或”,就無(wú)法用一條直線來(lái)分割開(kāi)來(lái),因此單層感知器網(wǎng)就沒(méi)辦法實(shí)現(xiàn)“異或”的功能。

?
多層感知器的瓶頸
既然一條直線無(wú)法解決分類問(wèn)題,當(dāng)然就會(huì)有人想到用彎曲的折線來(lái)進(jìn)行樣本分類。我們常常聽(tīng)到一句批評(píng)人笨的話“你這人腦袋就是不會(huì)轉(zhuǎn)彎!”大意就是如此,腦袋會(huì)轉(zhuǎn)彎的人才善于解決問(wèn)題。所以,人們請(qǐng)來(lái)了單層感知器他哥——多層感知器來(lái)幫忙。所謂多層感知器,就是在輸入層和輸出層之間加入隱層,,以形成能夠?qū)颖菊_分類的凸域。多層感知器的拓?fù)浣Y(jié)構(gòu)如下圖所示。

?
我們可以比較一下單層感知器和多層感知器的分類能力:

?
由上圖可以看出,隨著隱層層數(shù)的增多,凸域?qū)⒖梢孕纬扇我獾男螤?,因此可以解決任何復(fù)雜的分類問(wèn)題。實(shí)際上,Kolmogorov理論指出:雙隱層感知器就足以解決任何復(fù)雜的分類問(wèn)題。
多層感知器確實(shí)是非常理想的分類器,但問(wèn)題也隨之而來(lái):隱層的權(quán)值怎么訓(xùn)練?對(duì)于各隱層的節(jié)點(diǎn)來(lái)說(shuō),它們并不存在期望輸出,所以也無(wú)法通過(guò)感知器的學(xué)習(xí)規(guī)則來(lái)訓(xùn)練多層感知器。因此,多層感知器心有余而力不足,雖然武功高強(qiáng),但卻無(wú)力可施。
ANN的低潮期
1966年,Minisky和Papert在他們的《感知器》一書(shū)中提出了上述的感知器的研究瓶頸,指出理論上還不能證明將感知器模型擴(kuò)展到多層網(wǎng)絡(luò)是有意義的。這在人工神經(jīng)網(wǎng)絡(luò)的歷史上書(shū)寫(xiě)了極其灰暗的一章。對(duì)ANN的研究,始于1890年開(kāi)始于美國(guó)著名心理學(xué)家W.James對(duì)于人腦結(jié)構(gòu)與功能的研究,半個(gè)世紀(jì)后W.S.McCulloch和W.A.Pitts提出了M-P模型,之后的1958年Frank Rosenblatt在這個(gè)基礎(chǔ)上又提出了感知器,此時(shí)對(duì)ANN的研究正處在升溫階段,《感知器》這本書(shū)的出現(xiàn)就剛好為這剛剛?cè)计鸬娜斯ど窠?jīng)網(wǎng)絡(luò)之火潑了一大盆冷水。一時(shí)間人們仿佛感覺(jué)對(duì)以感知器為基礎(chǔ)的ANN的研究突然間走到盡頭,看不到出路了。于是,幾乎所有為ANN提供的研究基金都枯竭了,很多領(lǐng)域的專家紛紛放棄了這方面課題的研究。

?
ANN研究的復(fù)蘇和BP神經(jīng)網(wǎng)絡(luò)的誕生
所以說(shuō)真理的果實(shí)總是垂青于能夠忍受寂寞的科學(xué)家。盡管ANN的研究陷入了前所未有的低谷, 但仍有為數(shù)不多的學(xué)者忍受住寂寞,堅(jiān)持致力于ANN的研究。在長(zhǎng)達(dá)10年的低潮時(shí)期之間,相 繼有一些開(kāi)創(chuàng)性的研究成果被提出來(lái),但還不足以激起人們對(duì)于ANN研究的熱情。一直到上世 紀(jì)80年代,兩個(gè)璀璨的成果誕生了:1982年美國(guó)加州理工學(xué)院的物理學(xué)家John J.Hopfield博 士的Hopfield網(wǎng)絡(luò)和David E.Rumelhart以及James L.McCelland研究小組發(fā)表的《并行分布 式處理》。這兩個(gè)成果重新激起了人們對(duì)ANN的研究興趣,使人們對(duì)模仿腦信息處理的智能計(jì) 算機(jī)的研究重新充滿了希望。
前者暫不討論,后者對(duì)具有非線性連續(xù)變換函數(shù)的多層感知器的誤差反向傳播(Error Back Propagation)算法進(jìn)行了詳盡的分析,實(shí)現(xiàn)了 Minsky 關(guān)于多層網(wǎng)絡(luò)的設(shè)想。Error Back Propagation算法的簡(jiǎn)稱就是BP算法,以BP算法實(shí)現(xiàn)的多層感知器網(wǎng)絡(luò)就是BP網(wǎng)絡(luò)。
所以,BP網(wǎng)絡(luò)本質(zhì)上并不是一個(gè)新的網(wǎng)絡(luò),而是使用BP學(xué)習(xí)算法的多層感知器網(wǎng)絡(luò)。
電子發(fā)燒友App










評(píng)論