訂閱
糾錯
加入自媒體

人工智能(58)–多層感知器

人工智能機(jī)器學(xué)習(xí)有關(guān)算法內(nèi)容,請參見公眾號“科技優(yōu)化生活”之前相關(guān)文章。人工智能之機(jī)器學(xué)習(xí)主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下多層感知器MLP。 

感知器(Perceptron)是ANN人工神經(jīng)網(wǎng)絡(luò)(請參見人工智能(25))的一個概念,由Frank Rosenblatt于1950s第一次引入。

單層感知器(Single Layer Perceptron)是最簡單的ANN人工神經(jīng)網(wǎng)絡(luò)。它包含輸入層和輸出層,而輸入層和輸出層是直接相連的。單層感知器僅能處理線性問題,不能處理非線性問題。今天想要跟大家探討的是MLP多層感知器。

MLP多層感知器是一種前向結(jié)構(gòu)的ANN人工神經(jīng)網(wǎng)絡(luò), 多層感知器(MLP)能夠處理非線性可分離的問題。

MLP概念:

MLP多層感知器(Multi-layerPerceptron)是一種前向結(jié)構(gòu)人工神經(jīng)網(wǎng)絡(luò)ANN,映射一組輸入向量到一組輸出向量。MLP可以被看做是一個有向圖,由多個節(jié)點層組成,每一層全連接到下一層。除了輸入節(jié)點,每個節(jié)點都是一個帶有非線性激活函數(shù)的神經(jīng)元。使用BP反向傳播算法的監(jiān)督學(xué)習(xí)方法來訓(xùn)練MLP。MLP是感知器的推廣,克服了感知器不能對線性不可分數(shù)據(jù)進(jìn)行識別的弱點。

相對于單層感知器,MLP多層感知器輸出端從一個變到了多個;輸入端和輸出端之間也不光只有一層,現(xiàn)在又兩層:輸出層和隱藏層。

基于反向傳播學(xué)習(xí)的是典型的前饋網(wǎng)絡(luò), 其信息處理方向從輸入層到各隱層再到輸出層,逐層進(jìn)行。隱層實現(xiàn)對輸入空間的非線性映射,輸出層實現(xiàn)線性分類,非線性映射方式和線性判別函數(shù)可以同時學(xué)習(xí)。

MLP激活函數(shù)

MLP可使用任何形式的激活函數(shù),譬如階梯函數(shù)或邏輯乙形函數(shù)(logistic sigmoid function),但為了使用反向傳播算法進(jìn)行有效學(xué)習(xí),激活函數(shù)必須限制為可微函數(shù)。由于具有良好可微性,很多乙形函數(shù),尤其是雙曲正切函數(shù)(Hyperbolictangent)及邏輯乙形函數(shù),被采用為激活函數(shù)。

激活函數(shù)的作用是將非線性引入神經(jīng)元的輸出。因為大多數(shù)現(xiàn)實世界的數(shù)據(jù)都是非線性的,希望神經(jīng)元能夠?qū)W習(xí)非線性的函數(shù)表示,所以這種應(yīng)用至關(guān)重要。

MLP原理:

前饋神經(jīng)網(wǎng)絡(luò)是最先發(fā)明也是最簡單的人工神經(jīng)網(wǎng)絡(luò)。它包含了安排在多個層中的多個神經(jīng)元。相鄰層的節(jié)點有連接或者邊(edge)。所有的連接都配有權(quán)重。

一個前饋神經(jīng)網(wǎng)絡(luò)可以包含三種節(jié)點:

1)輸入節(jié)點(Input Nodes):也稱為輸入層,輸入節(jié)點從外部世界提供信息,。在輸入節(jié)點中,不進(jìn)行任何的計算,僅向隱藏節(jié)點傳遞信息。

2)隱藏節(jié)點(Hidden Nodes):隱藏節(jié)點和外部世界沒有直接聯(lián)系。這些節(jié)點進(jìn)行計算,并將信息從輸入節(jié)點傳遞到輸出節(jié)點。隱藏節(jié)點也稱為隱藏層。盡管一個前饋神經(jīng)網(wǎng)絡(luò)只有一個輸入層和一個輸出層,但網(wǎng)絡(luò)里可以沒有也可以有多個隱藏層。

3)輸出節(jié)點(Output Nodes):輸出節(jié)點也稱為輸出層,負(fù)責(zé)計算,并從網(wǎng)絡(luò)向外部世界傳遞信息。

在前饋網(wǎng)絡(luò)中,信息只單向移動——從輸入層開始前向移動,然后通過隱藏層,再到輸出層。在網(wǎng)絡(luò)中沒有循環(huán)或回路。

MLP多層感知器就是前饋神經(jīng)網(wǎng)絡(luò)的一個例子,除了一個輸入層和一個輸出層以外,至少包含有一個隱藏層。單層感知器只能學(xué)習(xí)線性函數(shù),而多層感知器也可以學(xué)習(xí)非線性函數(shù)。

MLP訓(xùn)練過程:

一般采用BP反向傳播算法來訓(xùn)練MPL多層感知器。采用BP反向傳播算法就像從錯誤中學(xué)習(xí)。監(jiān)督者在人工神經(jīng)網(wǎng)絡(luò)犯錯誤時進(jìn)行糾正。MLP包含多層節(jié)點;輸入層,中間隱藏層和輸出層。相鄰層節(jié)點的連接都有配有權(quán)重。學(xué)習(xí)的目的是為這些邊緣分配正確的權(quán)重。通過輸入向量,這些權(quán)重可以決定輸出向量。在監(jiān)督學(xué)習(xí)中,訓(xùn)練集是已標(biāo)注的。這意味著對于一些給定的輸入,能夠知道期望的輸出(標(biāo)注)。

MLP訓(xùn)練過程大致如下:

1)所有邊的權(quán)重隨機(jī)分配;

2)前向傳播:利用訓(xùn)練集中所有樣本的輸入特征,作為輸入層,對于所有訓(xùn)練數(shù)據(jù)集中的輸入,人工神經(jīng)網(wǎng)絡(luò)都被激活,然后經(jīng)過前向傳播,得到輸出值。

3)反向傳播:利用輸出值和樣本值計算總誤差,再利用反向傳播來更新權(quán)重。

4)重復(fù)2)~3), 直到輸出誤差低于制定的標(biāo)準(zhǔn)。

上述過程結(jié)束后,就得到了一個學(xué)習(xí)過的MLP網(wǎng)絡(luò),該網(wǎng)絡(luò)被認(rèn)為是可以接受新輸入的。

MLP優(yōu)點:

1)高度的并行處理;

2)高度的非線性全局作用;

3)良好的容錯性;

4)具有聯(lián)想記憶功能;

5)非常強(qiáng)的自適應(yīng)、自學(xué)習(xí)功能。

MLP缺點:

1)網(wǎng)絡(luò)的隱含節(jié)點個數(shù)選取非常難;

2)停止閾值、學(xué)習(xí)率、動量常數(shù)需要采用”trial-and-error”法,極其耗時;

3)學(xué)習(xí)速度慢;

4)容易陷入局部極值;

5)學(xué)習(xí)可能會不夠充分。

MLP應(yīng)用:

MLP在80年代的時候曾是相當(dāng)流行的機(jī)器學(xué)習(xí)方法,擁有廣泛的應(yīng)用場景,譬如語音識別、圖像識別、機(jī)器翻譯等等,但自90年代以來,MLP遇到來自更為簡單的支持向量機(jī)的強(qiáng)勁競爭。近來,由于深層學(xué)習(xí)的成功,MLP又重新得到了關(guān)注。

常被MLP用來進(jìn)行學(xué)習(xí)的反向傳播算法,在模式識別的領(lǐng)域中算是標(biāo)準(zhǔn)監(jiān)督學(xué)習(xí)算法,并在計算神經(jīng)學(xué)及并行分布式處理領(lǐng)域中,持續(xù)成為被研究的課題。MLP已被證明是一種通用的函數(shù)近似方法,可以被用來擬合復(fù)雜的函數(shù),或解決分類問題。

結(jié)語:

MLP多層感知器是一種前向結(jié)構(gòu)的ANN人工神經(jīng)網(wǎng)絡(luò), 它能夠處理非線性可分離的問題,值得深入研究。為了實現(xiàn)MLP多層感知器,會用到BP反向傳播算法。MLP可使用任何形式的激活函數(shù),但為了使用反向傳播算法進(jìn)行有效學(xué)習(xí),激活函數(shù)必須限制為可微函數(shù)。MLP算法應(yīng)用范圍較廣,擴(kuò)展性也強(qiáng),可應(yīng)用于語音識別、圖像識別、機(jī)器翻譯等領(lǐng)域。

聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗 證 碼:

粵公網(wǎng)安備 44030502002758號