日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

机器学习笔记(五)神经网络

發(fā)布時(shí)間:2025/4/16 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习笔记(五)神经网络 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

5.神經(jīng)網(wǎng)絡(luò)

5.1神經(jīng)元模型

神經(jīng)網(wǎng)絡(luò)是由具有適應(yīng)性的簡(jiǎn)單單元組成的廣泛并行互連的網(wǎng)絡(luò),它的組織能夠模擬生物神經(jīng)系統(tǒng)對(duì)真實(shí)世界物體所作出的交互反應(yīng)。對(duì)這句話的理解,簡(jiǎn)單提要下,主角是簡(jiǎn)單單元(輸入單元、功能單元),特性是適應(yīng)性和并行互連,功能是模擬生物神經(jīng)反應(yīng)。

神經(jīng)網(wǎng)絡(luò)是一個(gè)數(shù)學(xué)模型,其最基本的成分是神經(jīng)元(neuron),即簡(jiǎn)單單元。在生物神經(jīng)網(wǎng)絡(luò)中,每個(gè)神經(jīng)元與其他神經(jīng)元相連,當(dāng)它興奮時(shí),就會(huì)向相連的神經(jīng)元發(fā)送化學(xué)物質(zhì),從而改變這些神經(jīng)元內(nèi)的電位;如果某神經(jīng)元的電位超過(guò)了一個(gè)閾值(threshold),那么它就會(huì)被激活,即興奮起來(lái),向其他神經(jīng)元發(fā)送化學(xué)物質(zhì)。這個(gè)過(guò)程,神經(jīng)網(wǎng)絡(luò)模型加以數(shù)學(xué)簡(jiǎn)化并模擬。實(shí)際上,很多數(shù)學(xué)模型都源于對(duì)自然和人的觀察所得,如飛機(jī)模型是模擬鳥(niǎo)。

在這個(gè)模型中,很重要就是神經(jīng)元的互連以及輸入和輸出(閾值觸發(fā))。從最簡(jiǎn)單的M-P神經(jīng)元模型來(lái)看,神經(jīng)元接收來(lái)自n個(gè)其他神經(jīng)元傳遞過(guò)來(lái)的輸入信號(hào),這些輸入信號(hào)通過(guò)帶權(quán)重的鏈接(connection)進(jìn)行傳遞,神經(jīng)元收到的總輸入值與神經(jīng)元的閾值進(jìn)行比較,然后通過(guò)激活函數(shù)(activation function)處理以產(chǎn)生神經(jīng)元的輸出。


理想中的激活函數(shù)是階躍函數(shù),將輸入值映射為輸出值0和1,1對(duì)應(yīng)于神經(jīng)元興奮,0對(duì)應(yīng)于神經(jīng)元抑制。不過(guò)階躍函數(shù)不具有連續(xù)和光滑性質(zhì),因此常用sigmoid函數(shù)。

如上定義,一個(gè)神經(jīng)網(wǎng)絡(luò)是包含許多參數(shù)的數(shù)學(xué)模型,模型中包含若干函數(shù),所以不管是否真的模擬了生物神經(jīng)網(wǎng)絡(luò),歸根到底還是要數(shù)學(xué)來(lái)支撐神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。下文深入看模型中的函數(shù)和參數(shù)是如何通過(guò)機(jī)器學(xué)習(xí)獲得,從而構(gòu)建具有一定層次結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。

5.2感知機(jī)與多層網(wǎng)絡(luò)

感知機(jī)(Perceptron)由兩層神經(jīng)元組成,輸入層接收外界輸入信號(hào)后傳遞給輸出層,輸出層是M-P神經(jīng)元,也稱閾值邏輯單元(threshold logic unit)。感知機(jī)可實(shí)現(xiàn)邏輯與、或、非運(yùn)算,通過(guò)給定訓(xùn)練集,權(quán)重w i和閾值 可通過(guò)學(xué)習(xí)得到。如果將閾值 看做是第m+1個(gè)輸入元,那么輸入值x m+1是-1.0(稱為啞結(jié)點(diǎn),dummy node),權(quán)重值就是w m+1,如此可統(tǒng)一為對(duì)權(quán)重的學(xué)習(xí)。感知機(jī)的權(quán)重學(xué)習(xí)規(guī)則相對(duì)簡(jiǎn)單,給定訓(xùn)練樣例(x,y),若當(dāng)前感知機(jī)的輸出為y-,則感知機(jī)權(quán)重將調(diào)整為:

就是根據(jù)實(shí)際樣例y值和感知機(jī)模型輸出值y-的差距進(jìn)行權(quán)重調(diào)整,如果二者相當(dāng)(預(yù)測(cè)正確),那就不用調(diào)整。

感知機(jī)只有輸出層神經(jīng)元進(jìn)行激活函數(shù)處理,就是只擁有一層功能神經(jīng)元(functional neuron),其學(xué)習(xí)能力非常有限。感知機(jī)可容易實(shí)現(xiàn)的邏輯與、或、非操作,是線性可分(linearly separable)問(wèn)題,若兩類模式是線性可分的,則存在一個(gè)線性超平面將它們分開(kāi),這樣的感知機(jī)在學(xué)習(xí)權(quán)重值過(guò)程中會(huì)收斂(converge),否則會(huì)發(fā)生振蕩(fluctuation),權(quán)值難以穩(wěn)定,如異或操作。這個(gè)例子,可知,對(duì)神經(jīng)網(wǎng)絡(luò)模型的權(quán)值(閾值已統(tǒng)一為第m+1個(gè)權(quán)值)學(xué)習(xí)過(guò)程中,具備單層功能神經(jīng)元是不夠的(可解決線性可分問(wèn)題),在解決非線性可分為問(wèn)題時(shí),需要引入多層功能神經(jīng)元。多層功能神經(jīng)元,是在輸入層和輸出層之間加上隱含層(hidden layer),隱含層和輸出層都是具有激活函數(shù)的功能神經(jīng)元。

多層前饋神經(jīng)網(wǎng)絡(luò)(multi-layer feedforward neural networks):每層神經(jīng)元與下層神經(jīng)元全互連,同層神經(jīng)元之間不存在互連,也不存在跨層互連的神經(jīng)元,從拓?fù)浣Y(jié)構(gòu)上看,不存在回或環(huán)路。輸入層神經(jīng)元接收外界輸入,隱含層與輸出層神經(jīng)元對(duì)信號(hào)進(jìn)行加工,最終結(jié)果由輸出層神經(jīng)元輸出。輸入層神經(jīng)元僅接收輸入,不進(jìn)行函數(shù)處理,隱含層和輸出層包含功能神經(jīng)元,處理數(shù)據(jù)。

神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程,就是根據(jù)訓(xùn)練數(shù)據(jù)來(lái)調(diào)整神經(jīng)元之間的連接權(quán)(connection weight)以及每個(gè)功能神經(jīng)元的閾值,簡(jiǎn)言之,神經(jīng)網(wǎng)絡(luò)模型要學(xué)得就是連接權(quán)和閾值。下面就要看用什么算法來(lái)學(xué)習(xí)出神經(jīng)網(wǎng)絡(luò)模型的權(quán)值和閾值。

5.3誤差逆?zhèn)鞑ニ惴?/h3>

誤差逆?zhèn)鞑ニ惴?#xff08;error BackPropagation,BP算法)是訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)模型的常見(jiàn)算法。

1)定義一個(gè)多層前饋神經(jīng)網(wǎng)絡(luò)

給定訓(xùn)練集D={(x 1,y 1),(x 2,y 2),…,(x m,y m)},其中x i∈R d,y i∈R l,輸入示例有d個(gè)屬性描述,輸出l維實(shí)值向量。若輸入示例中d個(gè)屬性含離散屬性,則需進(jìn)行處理,若屬性值之間存在序關(guān)系則進(jìn)行連續(xù)化,否則轉(zhuǎn)化為k維向量(k是屬性值數(shù)),就是變成k個(gè)屬性。


即真實(shí)輸出和預(yù)測(cè)輸出的誤差,目標(biāo)是訓(xùn)練出均方誤差最小,該函數(shù)關(guān)系到上述定義的閾值和權(quán)值,共有(d+l+1)q+l個(gè)參數(shù)。其中,輸入層到隱層有d*q個(gè)權(quán)值、隱層到輸出層有q*l個(gè)權(quán)值,隱層有q個(gè)閾值、輸出層有l(wèi)個(gè)閾值。

4)BP算法訓(xùn)練

BP是一個(gè)迭代算法,在迭代的每一輪中采用上文定義的感知機(jī)學(xué)習(xí)規(guī)則來(lái)持續(xù)優(yōu)化參數(shù),直到目標(biāo)函數(shù) 最小值。



一個(gè)訓(xùn)練樣例更新連接權(quán)和閾值。通過(guò)推導(dǎo)基于累積誤差最小化的更新規(guī)則,可得到累積誤差逆?zhèn)鞑?#xff08;accumulated error backpropagation)算法。標(biāo)準(zhǔn)BP算法每次更新都只針對(duì)單個(gè)樣例,參數(shù)更新非常頻繁,而且對(duì)不用樣例進(jìn)行更新的效果可能出現(xiàn)抵消現(xiàn)象,因此,為了達(dá)到同樣的累積誤差極小點(diǎn),標(biāo)準(zhǔn)BP算法往往需要進(jìn)行更多次數(shù)的迭代。累積BP算法,直接針對(duì)累積誤差最小化,在讀取整個(gè)訓(xùn)練集D一遍后才對(duì)參數(shù)進(jìn)行更新,其參數(shù)更新的頻率低,但在很多任務(wù)中,累積誤差下降到一定程度之后,進(jìn)一步下降會(huì)非常緩慢,這時(shí)標(biāo)準(zhǔn)BP往往會(huì)更快獲得更好的解,尤其是在訓(xùn)練集D非常大時(shí)更明顯。標(biāo)準(zhǔn)BP和累積BP類似于標(biāo)準(zhǔn)梯度下降法和隨機(jī)梯度下降法。

經(jīng)過(guò)證明,只需一個(gè)包含足夠多神經(jīng)元的隱層,多層前饋神經(jīng)網(wǎng)絡(luò)就能以任意精度逼近任意復(fù)雜度的連續(xù)函數(shù)。然后,如何設(shè)置隱層神經(jīng)元的個(gè)數(shù)是一個(gè)未決問(wèn)題,在實(shí)際任務(wù)中,需要通過(guò)試錯(cuò)法不斷調(diào)整。其實(shí),到這里,可以理解的就是,多層神經(jīng)網(wǎng)絡(luò)的參數(shù)個(gè)數(shù)和參數(shù)值都是訓(xùn)練的目標(biāo)。


?

5.4全局最小和局部極小

BP算法中,用E表示神經(jīng)網(wǎng)路在訓(xùn)練集上的誤差,它是關(guān)于連接權(quán)和閾值的函數(shù)。實(shí)際上,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程就是一個(gè)參數(shù)尋優(yōu)過(guò)程,在參數(shù)空間中,尋找一組最優(yōu)參數(shù)使得E最小。BP算法是基于梯度下降法來(lái)求解最小。

最小,有全局最小(global minimum)和局部最小(local minimum)。局部最小就是參數(shù)空間中的某個(gè)點(diǎn),其鄰域點(diǎn)的誤差函數(shù)值均不小于該點(diǎn)的函數(shù)值;全局最小就是參數(shù)空間所有的點(diǎn)的誤差函數(shù)值均不小于該點(diǎn)的誤差函數(shù)值。

在一個(gè)參數(shù)空間內(nèi),梯度為零的點(diǎn),只要其誤差函數(shù)值小于鄰點(diǎn)的誤差函數(shù)值,就是局部最小點(diǎn),可能存在多個(gè)局部最小值,但卻只有一個(gè)全局最小值。在參數(shù)尋優(yōu)過(guò)程中,期望找到的是全局最小值。

采用梯度下降尋優(yōu),迭代尋找最優(yōu)參數(shù)值,每次迭代中,先計(jì)算誤差函數(shù)在當(dāng)前點(diǎn)的梯度,然后根據(jù)梯度確定搜索方向。由于負(fù)梯度方向是函數(shù)值下降最快的方向,因此梯度下降法就是沿著負(fù)梯度方向搜索最優(yōu)解。若誤差函數(shù)在當(dāng)前點(diǎn)的梯度為零,則已達(dá)到局部最小,更新量為零,意味著參數(shù)的迭代更新停止。那么,此時(shí)的局部最小是否就是全局最小呢?如果誤差函數(shù)存在多個(gè)局部最小,就無(wú)法保證一定能找到全局最小。如果參數(shù)尋優(yōu)陷入局部最小,那自然不是想要的結(jié)果。

在現(xiàn)實(shí)任務(wù)中,常采用以下策略來(lái)試圖跳出局部最小,從而進(jìn)一步接近全局最小:

1)以多組不同參數(shù)值初始化多個(gè)神經(jīng)網(wǎng)絡(luò),按標(biāo)準(zhǔn)BP方法訓(xùn)練后,取其中誤差最小的解作為最終參數(shù);

2)使用模擬退火(simulated annealing)技術(shù),模擬退火在每一步都以一定的概率接收比當(dāng)前解更差的結(jié)果,從而有助于跳出局部最小;在每步迭代過(guò)程中,接受次優(yōu)解的概率回逐步降低,從而保證算法的穩(wěn)定;

3)使用隨機(jī)梯度下降,與標(biāo)準(zhǔn)梯度下降法精確計(jì)算梯度不同,隨機(jī)梯度下降法在計(jì)算時(shí)加入了隨機(jī)因素,于是即便陷入局部最小點(diǎn),其計(jì)算出的梯度可能不為零,也就有機(jī)會(huì)跳出局部最小點(diǎn)繼續(xù)搜索。

值的一說(shuō)的是,這些策略都是啟發(fā)式,并無(wú)實(shí)際保證可以找打全局最優(yōu)。對(duì)此,我們應(yīng)該明白,機(jī)器學(xué)習(xí)算法本身多數(shù)就是基于啟發(fā)式的,或可見(jiàn)效,但需要在實(shí)際任務(wù)中逼近。遺傳算法也常用來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)以更好地逼近全局最小。

5.5其他常見(jiàn)神經(jīng)網(wǎng)絡(luò)

1)RBF網(wǎng)絡(luò)

RBF(RadialBasis Function,徑向基函數(shù))網(wǎng)絡(luò)是一種單隱層前饋神經(jīng)網(wǎng)絡(luò),使用徑向基函數(shù)作為隱層神經(jīng)元激活函數(shù),而輸出層則是對(duì)隱層神經(jīng)元輸出的線性組合。假定輸入為d維向量x,輸出為實(shí)值,則RBF網(wǎng)絡(luò)可表示為:


2)ART網(wǎng)絡(luò)

ART(AdaptiveResonance Theory,自適應(yīng)諧振理論)網(wǎng)絡(luò)是競(jìng)爭(zhēng)型學(xué)習(xí)的重要代表,由比較層、識(shí)別層、識(shí)別閾值和重置模塊構(gòu)成。其中比較層負(fù)責(zé)接收輸入樣本,并將其傳遞給識(shí)別層神經(jīng)元。識(shí)別層每個(gè)神經(jīng)元對(duì)應(yīng)一個(gè)模式類,神經(jīng)元數(shù)目可在訓(xùn)練過(guò)程中動(dòng)態(tài)增長(zhǎng)以增加新的模式類。

這個(gè)網(wǎng)絡(luò)和前文不同的是,識(shí)別層神經(jīng)元是動(dòng)態(tài)的,網(wǎng)絡(luò)結(jié)構(gòu)不是固定的了。競(jìng)爭(zhēng)型學(xué)習(xí)(competitive learning)是無(wú)監(jiān)督學(xué)習(xí)策略,網(wǎng)絡(luò)中的輸出神經(jīng)元相互競(jìng)爭(zhēng),每一時(shí)刻僅有一個(gè)競(jìng)爭(zhēng)獲勝的神經(jīng)元被激活,其他神經(jīng)元的狀態(tài)被抑制,這種機(jī)制也稱為勝者通吃(winner-take-all)原則。

ART網(wǎng)絡(luò)在接收到比較層的輸入信號(hào)后,識(shí)別層神經(jīng)元之間相互競(jìng)爭(zhēng)以產(chǎn)生獲勝神經(jīng)元。競(jìng)爭(zhēng)規(guī)則是:計(jì)算輸入向量與每個(gè)識(shí)別層神經(jīng)元所對(duì)應(yīng)的模式類的代表向量之間的距離,距離最小者勝。獲勝神經(jīng)元將向其他識(shí)別層神經(jīng)元發(fā)送信號(hào),抑制其激活。若輸入向量與獲勝神經(jīng)元所對(duì)應(yīng)的代表向量之間的相似度大于識(shí)別閾值,則當(dāng)前輸入樣本將被歸為該代表向量所屬的類別,同時(shí),網(wǎng)絡(luò)連接權(quán)將會(huì)更新,使得以后再接收到相似輸入樣本時(shí)該模式類會(huì)計(jì)算出更大的相似度,從而使該獲勝神經(jīng)元有更大可能獲勝;若相似度不大于識(shí)別閾值,則重置模塊將在識(shí)別層增加一個(gè)新的神經(jīng)元,其代表向量就設(shè)置為當(dāng)前輸入向量。

可以看出,識(shí)別閾值是很關(guān)鍵的參數(shù),如較高,則輸入樣本會(huì)被劃分的比較精細(xì),識(shí)別層神經(jīng)元數(shù)目過(guò)多;若較低,則劃分的比價(jià)粗略。ART較好地緩解了競(jìng)爭(zhēng)型學(xué)習(xí)中的可塑性-穩(wěn)定性窘境(stability-plasticity dilemma),可塑性是指神經(jīng)網(wǎng)絡(luò)要有學(xué)習(xí)新知識(shí)的能力,而穩(wěn)定性是指神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)新知識(shí)時(shí)要保持對(duì)舊知識(shí)的記憶;這就使得ART網(wǎng)絡(luò)具有增量學(xué)習(xí)(incremental learning)或在線學(xué)習(xí)(online learning)。增量學(xué)習(xí)是指在學(xué)得模型后,再接收到訓(xùn)練樣例時(shí),僅需根據(jù)新樣例對(duì)模型進(jìn)行更新,不必重新訓(xùn)練整個(gè)模型,并且先前學(xué)得的有效信息不會(huì)被沖掉;在線學(xué)習(xí)是指每獲得一個(gè)新樣例就進(jìn)行一次模型更新。在線學(xué)習(xí)是增量學(xué)習(xí)的特例,而增量學(xué)習(xí)可視為批模式(batch-mode)的在線學(xué)習(xí)。早期的ART網(wǎng)絡(luò)只能處理布爾型輸入數(shù)據(jù),后面發(fā)展成一個(gè)算法族,包括能處理實(shí)值輸入的ART2網(wǎng)絡(luò)、結(jié)合模糊處理的FuzzyART網(wǎng)絡(luò)以及可進(jìn)行監(jiān)督學(xué)習(xí)的ARTMAP網(wǎng)絡(luò)等。

3)SOM網(wǎng)絡(luò)

SOM(Self-OraganizingMap,自組織映射)網(wǎng)絡(luò)是一種競(jìng)爭(zhēng)學(xué)習(xí)型的無(wú)監(jiān)督神經(jīng)網(wǎng)絡(luò),能將高維輸入數(shù)據(jù)映射到低維空間(通常為二維),同時(shí)保持輸入數(shù)據(jù)在高維空間的拓?fù)浣Y(jié)構(gòu),即將高維空間中相似的樣本點(diǎn)映射到網(wǎng)絡(luò)輸出層中的鄰近神經(jīng)元。

SOM網(wǎng)絡(luò)中的輸出層神經(jīng)元以矩陣方式排列在二維空間中,每個(gè)神經(jīng)元都擁有一個(gè)權(quán)向量(低維空間坐標(biāo)點(diǎn)),網(wǎng)絡(luò)在接收輸入向量后,將會(huì)確定輸出層獲勝神經(jīng)元,它決定了該輸入向量在低維空間中的位置。SOM的訓(xùn)練目標(biāo)就是為每個(gè)輸出層神經(jīng)元找到合適的權(quán)向量,以達(dá)到保持拓?fù)浣Y(jié)構(gòu)的目的。

SOM的訓(xùn)練過(guò)程是:在接收到一個(gè)訓(xùn)練樣本后,每個(gè)輸出層神經(jīng)元會(huì)計(jì)算該樣本與自身攜帶的權(quán)向量之間的距離,距離最近的神經(jīng)元成為競(jìng)爭(zhēng)獲勝者,稱為最佳匹配單元(best matching unit),然后最佳匹配單元及其鄰近神經(jīng)元的權(quán)向量將被調(diào)整,以使得這些權(quán)向量與當(dāng)前輸入樣本的距離縮小。這個(gè)過(guò)程不斷迭代,直至收斂。

4)級(jí)聯(lián)相關(guān)網(wǎng)絡(luò)

一般的神經(jīng)網(wǎng)路模型是假定網(wǎng)絡(luò)結(jié)構(gòu)是固定的,訓(xùn)練的目的是利用訓(xùn)練個(gè)樣本來(lái)確定最優(yōu)的連接權(quán)、閾值等參數(shù);而結(jié)構(gòu)自適應(yīng)網(wǎng)絡(luò)則將網(wǎng)絡(luò)結(jié)構(gòu)當(dāng)作學(xué)習(xí)目標(biāo)之一,在訓(xùn)練過(guò)程中找到最符合數(shù)據(jù)特點(diǎn)的網(wǎng)絡(luò)結(jié)構(gòu),也叫構(gòu)造性(constructive)神經(jīng)網(wǎng)絡(luò)。ART網(wǎng)絡(luò)的隱層神經(jīng)元數(shù)目在訓(xùn)練過(guò)程中不斷增長(zhǎng),所以也屬于結(jié)構(gòu)自適應(yīng)網(wǎng)絡(luò)。級(jí)聯(lián)相關(guān)網(wǎng)絡(luò)也是結(jié)構(gòu)自適應(yīng)網(wǎng)絡(luò)的代表。

級(jí)聯(lián)相關(guān)網(wǎng)絡(luò)有兩個(gè)主要成分:級(jí)聯(lián)和相關(guān)。級(jí)聯(lián)是指建立層次連接的層級(jí)結(jié)構(gòu),在開(kāi)始訓(xùn)練時(shí),網(wǎng)絡(luò)只有輸入層和輸出層,處于最小拓?fù)浣Y(jié)構(gòu),隨著訓(xùn)練進(jìn)行,新的隱層神經(jīng)元加入,從而創(chuàng)建起層級(jí)結(jié)構(gòu),當(dāng)新的隱層神經(jīng)元加入時(shí),其輸入端連接權(quán)值是凍結(jié)固定的。相關(guān)是指通過(guò)最大化新神經(jīng)元的輸出與網(wǎng)絡(luò)誤差之間的相關(guān)性(correlation)來(lái)訓(xùn)練相關(guān)參數(shù)。與一般的前饋神經(jīng)網(wǎng)絡(luò)相比,級(jí)聯(lián)相關(guān)網(wǎng)絡(luò)無(wú)需設(shè)置網(wǎng)絡(luò)層數(shù)、隱層神經(jīng)元數(shù)目,且訓(xùn)練速度較快,但在數(shù)據(jù)較小時(shí)易陷入過(guò)擬合。

結(jié)構(gòu)自適應(yīng)網(wǎng)絡(luò)的動(dòng)態(tài)性一般是在訓(xùn)練過(guò)程中隱層數(shù)目及其神經(jīng)元數(shù)目的變化體現(xiàn)。上文的神經(jīng)網(wǎng)路類型,從固定網(wǎng)絡(luò)到動(dòng)態(tài)網(wǎng)絡(luò),都是無(wú)環(huán),下文的網(wǎng)絡(luò)則允許出現(xiàn)環(huán)形結(jié)構(gòu)。

5)Elman網(wǎng)絡(luò)

與前饋神經(jīng)網(wǎng)絡(luò)不同,遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural networks)允許網(wǎng)絡(luò)中出現(xiàn)環(huán)形結(jié)構(gòu),從而可讓一些神經(jīng)元的輸出反饋回來(lái)作為輸入信號(hào)。這樣的結(jié)構(gòu)與信息反饋過(guò)程,使得網(wǎng)絡(luò)在t時(shí)刻的輸出狀態(tài)不僅與t時(shí)刻的輸入有關(guān),還與t-1時(shí)刻的網(wǎng)絡(luò)狀態(tài)有關(guān),從而能處理與時(shí)間有關(guān)的動(dòng)態(tài)變化。

Elman網(wǎng)絡(luò)是遞歸神經(jīng)網(wǎng)絡(luò)的代表,結(jié)構(gòu)與多層前饋網(wǎng)絡(luò)相似,不同的是隱層神經(jīng)元的輸出被反饋回來(lái),與下一時(shí)刻輸入層神經(jīng)元提供的信號(hào)一起,作為隱層神經(jīng)元在下一時(shí)刻的輸入。隱層神經(jīng)元通常采用sigmoid激活函數(shù),而網(wǎng)絡(luò)的訓(xùn)練則通過(guò)推廣的BP算法進(jìn)行。

6)Boltzmann機(jī)

神經(jīng)網(wǎng)絡(luò)中有一類模型是為網(wǎng)絡(luò)狀態(tài)定義一個(gè)能量(energy),能量最小化時(shí)網(wǎng)絡(luò)達(dá)到理想狀態(tài),而網(wǎng)絡(luò)的訓(xùn)練就是在最小化這個(gè)能量函數(shù)。

Boltzmann機(jī)就是一種基于能量的模型(energy-based model),其神經(jīng)元分顯層和隱層,顯層用于表示數(shù)據(jù)的輸入與輸出,隱層則被理解為數(shù)據(jù)的內(nèi)在表達(dá)。Boltzmann機(jī)中的神經(jīng)元都是布爾型,只取0、1兩種狀態(tài),1表示激活,0表示抑制。

?

5.6深度學(xué)習(xí)

參數(shù)越多的模型復(fù)雜度越高,容量越大,能勝任更復(fù)雜任務(wù)的學(xué)習(xí);但一般情形下,復(fù)雜模型的訓(xùn)練效果低,易陷入過(guò)擬合,隨著云計(jì)算、大數(shù)據(jù)時(shí)代的來(lái)臨,計(jì)算能力的大幅提高可緩解訓(xùn)練低效性,訓(xùn)練數(shù)據(jù)的大幅增加可降低過(guò)擬合風(fēng)險(xiǎn),如之,代表復(fù)雜模型的深度學(xué)習(xí)得以發(fā)展。一句話,因?yàn)橛?jì)算能力和數(shù)據(jù)容量的提升,導(dǎo)致深度學(xué)習(xí)可以建構(gòu)復(fù)雜模型來(lái)解決現(xiàn)實(shí)任務(wù)中較為復(fù)雜的問(wèn)題,存有上百億個(gè)參數(shù)的深度學(xué)習(xí)模型。

深層的神經(jīng)網(wǎng)絡(luò)模型就是典型的深度學(xué)習(xí)模型。對(duì)于神經(jīng)網(wǎng)絡(luò)模型,提高復(fù)雜度,可以增加隱層數(shù)目,從而增加神經(jīng)元連接權(quán)、閾值等參數(shù);也可通過(guò)增加隱層神經(jīng)元數(shù)目來(lái)實(shí)現(xiàn)。不過(guò)增加隱層的數(shù)目比增加隱層神經(jīng)元數(shù)目更有效,因?yàn)樵黾与[層數(shù)不僅增加了擁有激活函數(shù)的神經(jīng)元數(shù)目,還增加了激活函數(shù)的嵌套層數(shù)。然而,多隱層(指三個(gè)以上,深度學(xué)習(xí)模型通常有八九層甚至更多)神經(jīng)網(wǎng)絡(luò)難以直接用經(jīng)典算法(如標(biāo)準(zhǔn)BP算法)進(jìn)行訓(xùn)練,因?yàn)檎`差在多隱層內(nèi)逆?zhèn)鞑r(shí),往往會(huì)發(fā)散而不能收斂到穩(wěn)定狀態(tài)。

無(wú)監(jiān)督逐層訓(xùn)練(unsupervised layer-wise training)是多隱層網(wǎng)路訓(xùn)練的有效手段,其基本思想是每次訓(xùn)練一層隱結(jié)點(diǎn),訓(xùn)練時(shí)將上一層隱結(jié)點(diǎn)的輸出作為輸入,而本層隱結(jié)點(diǎn)的輸出作為下一層隱結(jié)點(diǎn)的輸入,稱為預(yù)訓(xùn)練,在預(yù)訓(xùn)練全部完成后,再對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào)(fine-tuning)訓(xùn)練。預(yù)訓(xùn)練+微調(diào)的做法可視為將大量參數(shù)分組,對(duì)每組先找到局部最優(yōu),然后基于局部最優(yōu)結(jié)果聯(lián)合起來(lái)進(jìn)行全局尋優(yōu),利用了模型大量參數(shù)所提供的自由度的同時(shí),節(jié)省了訓(xùn)練開(kāi)銷。

權(quán)共享(weightsharing),讓一組神經(jīng)元使用相同的連接權(quán),也是一種節(jié)省訓(xùn)練開(kāi)銷的策略。這個(gè)策略在卷積神經(jīng)網(wǎng)絡(luò)中發(fā)揮了重要作用。文中提到的卷積神經(jīng)網(wǎng)絡(luò)用于手寫(xiě)數(shù)字識(shí)別案例,有興趣可進(jìn)一步深入研究學(xué)習(xí)。

深度學(xué)習(xí)的訓(xùn)練過(guò)程,多隱層堆疊、每層對(duì)上一層的輸出進(jìn)行處理的機(jī)制,可以看作是在對(duì)輸入信號(hào)進(jìn)行逐層加工,從而把初始的、與輸出目標(biāo)之間聯(lián)系不太密切的輸入表示,轉(zhuǎn)化為成與輸出目標(biāo)聯(lián)系更為密切的表示,使得原來(lái)僅基于最后一層的輸出映射難以完成的任務(wù)稱為可能。這大體也是分治策略的思想,換言之,逐漸將初始的低層特征表示轉(zhuǎn)化為高層特征表示后,用簡(jiǎn)單模型即可完成復(fù)雜的分類等學(xué)習(xí)任務(wù)。由此,可將深度學(xué)習(xí)理解為進(jìn)行特征學(xué)習(xí)或表示學(xué)習(xí)。

以往在機(jī)器學(xué)習(xí)用于現(xiàn)實(shí)任務(wù)時(shí),描述樣本的特征通常需由人類專家來(lái)設(shè)計(jì),這稱為特征工程(feature engineering)。特征的好壞對(duì)泛化性能有至關(guān)重要的影響,人類專家設(shè)計(jì)出好特征也并非易事;特征學(xué)習(xí)則通過(guò)機(jī)器學(xué)習(xí)技術(shù)自身來(lái)產(chǎn)生好特征,這使機(jī)器學(xué)習(xí)向全自動(dòng)數(shù)據(jù)分析又前進(jìn)了一步。

這段話,我的理解是,以前輸入的特征是人來(lái)提供,現(xiàn)在連輸入的特征都是機(jī)器學(xué)習(xí)而來(lái),尤其是好的特征通過(guò)機(jī)器自動(dòng)學(xué)習(xí)而來(lái)更難能可貴。換句話說(shuō),人不需要任何介入,機(jī)器自己學(xué)習(xí)數(shù)據(jù),自己訓(xùn)練。未來(lái)人工智能是這個(gè)方向的,一切都是自學(xué)習(xí)而來(lái),而要支持這種自學(xué)習(xí)的模型,其復(fù)雜度可想而知,神經(jīng)網(wǎng)絡(luò)是否能滿足,尚未可知。


總結(jié)

以上是生活随笔為你收集整理的机器学习笔记(五)神经网络的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。