bp神经网络的训练方法,一文搞定bp神经网络
BP人工神經(jīng)網(wǎng)絡(luò)方法
(一)方法原理人工神經(jīng)網(wǎng)絡(luò)是由大量的類似人腦神經(jīng)元的簡單處理單元廣泛地相互連接而成的復(fù)雜的網(wǎng)絡(luò)系統(tǒng)。理論和實踐表明,在信息處理方面,神經(jīng)網(wǎng)絡(luò)方法比傳統(tǒng)模式識別方法更具有優(yōu)勢。
人工神經(jīng)元是神經(jīng)網(wǎng)絡(luò)的基本處理單元,其接收的信息為x1,x2,…,xn,而ωij表示第i個神經(jīng)元到第j個神經(jīng)元的連接強度或稱權(quán)重。
神經(jīng)元的輸入是接收信息X=(x1,x2,…,xn)與權(quán)重W={ωij}的點積,將輸入與設(shè)定的某一閾值作比較,再經(jīng)過某種神經(jīng)元激活函數(shù)f的作用,便得到該神經(jīng)元的輸出Oi。
常見的激活函數(shù)為Sigmoid型。
人工神經(jīng)元的輸入與輸出的關(guān)系為地球物理勘探概論式中:xi為第i個輸入元素,即n維輸入矢量X的第i個分量;ωi為第i個輸入與處理單元間的互聯(lián)權(quán)重;θ為處理單元的內(nèi)部閾值;y為處理單元的輸出。
常用的人工神經(jīng)網(wǎng)絡(luò)是BP網(wǎng)絡(luò),它由輸入層、隱含層和輸出層三部分組成。BP算法是一種有監(jiān)督的模式識別方法,包括學習和識別兩部分,其中學習過程又可分為正向傳播和反向傳播兩部分。
正向傳播開始時,對所有的連接權(quán)值置隨機數(shù)作為初值,選取模式集的任一模式作為輸入,轉(zhuǎn)向隱含層處理,并在輸出層得到該模式對應(yīng)的輸出值。每一層神經(jīng)元狀態(tài)只影響下一層神經(jīng)元狀態(tài)。
此時,輸出值一般與期望值存在較大的誤差,需要通過誤差反向傳遞過程,計算模式的各層神經(jīng)元權(quán)值的變化量。這個過程不斷重復(fù),直至完成對該模式集所有模式的計算,產(chǎn)生這一輪訓練值的變化量Δωij。
在修正網(wǎng)絡(luò)中各種神經(jīng)元的權(quán)值后,網(wǎng)絡(luò)重新按照正向傳播方式得到輸出。實際輸出值與期望值之間的誤差可以導(dǎo)致新一輪的權(quán)值修正。正向傳播與反向傳播過程循環(huán)往復(fù),直到網(wǎng)絡(luò)收斂,得到網(wǎng)絡(luò)收斂后的互聯(lián)權(quán)值和閾值。
(二)BP神經(jīng)網(wǎng)絡(luò)計算步驟(1)初始化連接權(quán)值和閾值為一小的隨機值,即W(0)=任意值,θ(0)=任意值。(2)輸入一個樣本X。
(3)正向傳播,計算實際輸出,即根據(jù)輸入樣本值、互聯(lián)權(quán)值和閾值,計算樣本的實際輸出。
其中輸入層的輸出等于輸入樣本值,隱含層和輸出層的輸入為地球物理勘探概論輸出為地球物理勘探概論式中:f為閾值邏輯函數(shù),一般取Sigmoid函數(shù),即地球物理勘探概論式中:θj表示閾值或偏置;θ0的作用是調(diào)節(jié)Sigmoid函數(shù)的形狀。
較小的θ0將使Sigmoid函數(shù)逼近于閾值邏輯單元的特征,較大的θ0將導(dǎo)致Sigmoid函數(shù)變平緩,一般取θ0=1。
(4)計算實際輸出與理想輸出的誤差地球物理勘探概論式中:tpk為理想輸出;Opk為實際輸出;p為樣本號;k為輸出節(jié)點號。
(5)誤差反向傳播,修改權(quán)值地球物理勘探概論式中:地球物理勘探概論地球物理勘探概論(6)判斷收斂。若誤差小于給定值,則結(jié)束,否則轉(zhuǎn)向步驟(2)。
(三)塔北雅克拉地區(qū)BP神經(jīng)網(wǎng)絡(luò)預(yù)測實例以塔北雅克拉地區(qū)S4井為已知樣本,取氧化還原電位,放射性元素Rn、Th、Tc、U、K和地震反射構(gòu)造面等7個特征為識別的依據(jù)。
構(gòu)造面反映了局部構(gòu)造的起伏變化,其局部隆起部位應(yīng)是油氣運移和富集的有利部位,它可以作為判斷含油氣性的諸種因素之一。
在該地區(qū)投入了高精度重磁、土壤微磁、頻譜激電等多種方法,一些參數(shù)未入選為判別的特征參數(shù),是因為某些參數(shù)是相關(guān)的。
在使用神經(jīng)網(wǎng)絡(luò)方法判別之前,還采用K-L變換(Karhaem-Loeve)來分析和提取特征。S4井位于測區(qū)西南部5線25點,是區(qū)內(nèi)唯一已知井。
該井在5390.6m的侏羅系地層獲得40.6m厚的油氣層,在5482m深的震旦系地層中獲58m厚的油氣層。
取S4井周圍9個點,即4~6線的23~25點作為已知油氣的訓練樣本;由于區(qū)內(nèi)沒有未見油的鉆井,只好根據(jù)地質(zhì)資料分析,選取14~16線的55~57點作為非油氣的訓練樣本。
BP網(wǎng)絡(luò)學習迭代17174次,總誤差為0.0001,學習效果相當滿意。以學習后的網(wǎng)絡(luò)進行識別,得出結(jié)果如圖6-2-4所示。
圖6-2-4塔北雅克拉地區(qū)BP神經(jīng)網(wǎng)絡(luò)聚類結(jié)果(據(jù)劉天佑等,1997)由圖6-2-4可見,由預(yù)測值大于0.9可得5個大封閉圈遠景區(qū),其中測區(qū)南部①號遠景區(qū)對應(yīng)著已知油井S4井;②、③號油氣遠景區(qū)位于地震勘探所查明的托庫1、2號構(gòu)造,該兩個構(gòu)造位于沙雅隆起的東段,其西段即為1984年鉆遇高產(chǎn)油氣流的Sch2井,應(yīng)是含油氣性好的遠景區(qū);④、⑤號遠景區(qū)位于大澇壩構(gòu)造,是yh油田的組成部分。
自學bp神經(jīng)網(wǎng)絡(luò)要有什么基礎(chǔ)??
rbsci。
簡介:BP(BackPropagation)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。
BP網(wǎng)絡(luò)能學習和存貯大量的輸入-輸出模式映射關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學方程。它的學習規(guī)則是使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。
BP神經(jīng)網(wǎng)絡(luò)模型拓撲結(jié)構(gòu)包括輸入層(input)、隱層(hidelayer)和輸出層(outputlayer)摘要:BP神經(jīng)網(wǎng)絡(luò)算法是在BP神經(jīng)網(wǎng)絡(luò)現(xiàn)有算法的基礎(chǔ)上提出的,是通過任意選定一組權(quán)值,將給定的目標輸出直接作為線性方程的代數(shù)和來建立線性方程組,解得待求權(quán),不存在傳統(tǒng)方法的局部極小及收斂速度慢的問題,且更易理解。
關(guān)鍵詞:固定權(quán)值;gauss消元法;BP算法人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)系統(tǒng)是20世紀40年代后出現(xiàn)的,它是由眾多的神經(jīng)元可調(diào)的連接權(quán)值連接而成,具有大規(guī)模并行處理、分布式信息存儲、良好的自組織自學習能力等特點,在信息處理、模式識別、智能控制及系統(tǒng)建模等領(lǐng)域得到越來越廣泛的應(yīng)用。
尤其誤差反向傳播算法(ErrorBack-propagationTraining,簡稱BP網(wǎng)絡(luò))可以逼近任意連續(xù)函數(shù),具有很強的非線性映射能力,而且網(wǎng)絡(luò)的中間層數(shù)、各層的處理單元數(shù)及網(wǎng)絡(luò)的學習系數(shù)等參數(shù)可根據(jù)具體情況設(shè)定,靈活性很大,所以它在許多應(yīng)用領(lǐng)域中起到重要作用。
近年來,為了解決BP神經(jīng)網(wǎng)絡(luò)收斂速度慢、不能保證收斂到全局最小點,網(wǎng)絡(luò)的中間層及它的單元數(shù)選取無理論指導(dǎo)及網(wǎng)絡(luò)學習和記憶的不穩(wěn)定性等缺陷,提出了許多改進算法。
1傳統(tǒng)的BP算法簡述BP算法是一種有監(jiān)督式的學習算法,其主要思想是:輸入學習樣本,使用反向傳播算法對網(wǎng)絡(luò)的權(quán)值和偏差進行反復(fù)的調(diào)整訓練,使輸出的向量與期望向量盡可能地接近,當網(wǎng)絡(luò)輸出層的誤差平方和小于指定的誤差時訓練完成,保存網(wǎng)絡(luò)的權(quán)值和偏差。
具體步驟如下:(1)初始化,隨機給定各連接權(quán)[w],[v]及閥值θi,rt。
(2)由給定的輸入輸出模式對計算隱層、輸出層各單元輸出bj=f(■wijai-θj)ct=f(■vjtbj-rt)式中:bj為隱層第j個神經(jīng)元實際輸出;ct為輸出層第t個神經(jīng)元的實際輸出;wij為輸入層至隱層的連接權(quán);vjt為隱層至輸出層的連接權(quán)。
dtk=(ytk-ct)ct(1-ct)ejk=[■dtvjt]bj(1-bj)式中:dtk為輸出層的校正誤差;ejk為隱層的校正誤差。
(3)計算新的連接權(quán)及閥值,計算公式如下:vjt(n+1)=vjt(n)+琢dtkbjwij(n+1)=wij(n)+茁ejkaikrt(n+1)=rt(n)+琢dtkθj(n+1)=θj(n)+茁ejk式中:琢,茁為學習系數(shù)(0<琢<1,0<茁<1)。
(4)選取下一個輸入模式對返回第2步反復(fù)訓練直到網(wǎng)絡(luò)設(shè)輸出誤差達到要求結(jié)束訓練。
傳統(tǒng)的BP算法,實質(zhì)上是把一組樣本輸入/輸出問題轉(zhuǎn)化為一個非線性優(yōu)化問題,并通過負梯度下降算法,利用迭代運算求解權(quán)值問題的一種學習方法,但其收斂速度慢且容易陷入局部極小,為此提出了一種新的算法,即高斯消元法。
BP神經(jīng)網(wǎng)絡(luò)(誤差反傳網(wǎng)絡(luò))
雖然每個人工神經(jīng)元很簡單,但是只要把多個人工神經(jīng)元按一定方式連接起來就構(gòu)成了一個能處理復(fù)雜信息的神經(jīng)網(wǎng)絡(luò)。采用BP算法的多層前饋網(wǎng)絡(luò)是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò),稱之為BP神經(jīng)網(wǎng)絡(luò)。
它的最大功能就是能映射復(fù)雜的非線性函數(shù)關(guān)系。
對于已知的模型空間和數(shù)據(jù)空間,我們知道某個模型和他對應(yīng)的數(shù)據(jù),但是無法寫出它們之間的函數(shù)關(guān)系式,但是如果有大量的一一對應(yīng)的模型和數(shù)據(jù)樣本集合,利用BP神經(jīng)網(wǎng)絡(luò)可以模擬(映射)它們之間的函數(shù)關(guān)系。
一個三層BP網(wǎng)絡(luò)如圖8.11所示,分為輸入層、隱層、輸出層。它是最常用的BP網(wǎng)絡(luò)。理論分析證明三層網(wǎng)絡(luò)已經(jīng)能夠表達任意復(fù)雜的連續(xù)函數(shù)關(guān)系了。只有在映射不連續(xù)函數(shù)時(如鋸齒波)才需要兩個隱層[8]。
圖8.11中,X=(x1,…,xi,…,xn)T為輸入向量,如加入x0=-1,可以為隱層神經(jīng)元引入閥值;隱層輸出向量為:Y=(y1,…,yi,…,ym)T,如加入y0=-1,可以為輸出層神經(jīng)元引入閥值;輸出層輸出向量為:O=(o1,…,oi,…,ol)T;輸入層到隱層之間的權(quán)值矩陣用V表示,V=(V1,…,Vj,…,Vl)T,其中列向量Vj表示隱層第j個神經(jīng)元的權(quán)值向量;隱層到輸出層之間的權(quán)值矩陣用W表示,W=(W1,…,Wk,…,Wl)T,其中列向量Wk表示輸出層第k個神經(jīng)元的權(quán)值向量。
圖8.11三層BP網(wǎng)絡(luò)[8]BP算法的基本思想是:預(yù)先給定一一對應(yīng)的輸入輸出樣本集。學習過程由信號的正向傳播與誤差的反向傳播兩個過程組成。
正向傳播時,輸入樣本從輸入層傳入,經(jīng)過各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉(zhuǎn)入誤差的反向傳播。
將輸出誤差以某種形式通過隱層向輸入層逐層反傳,并將誤差分攤給各層的所有神經(jīng)元,獲得各層的誤差信號,用它們可以對各層的神經(jīng)元的權(quán)值進行調(diào)整(關(guān)于如何修改權(quán)值參見韓立群著作[8]),循環(huán)不斷地利用輸入輸出樣本集進行權(quán)值調(diào)整,以使所有輸入樣本的輸出誤差都減小到滿意的精度。
這個過程就稱為網(wǎng)絡(luò)的學習訓練過程。當網(wǎng)絡(luò)訓練完畢后,它相當于映射(表達)了輸入輸出樣本之間的函數(shù)關(guān)系。
在地球物理勘探中,正演過程可以表示為如下函數(shù):d=f(m)(8.31)它的反函數(shù)為m=f-1(d)(8.32)如果能夠獲得這個反函數(shù),那么就解決了反演問題。
一般來說,難以寫出這個反函數(shù),但是我們可以用BP神經(jīng)網(wǎng)絡(luò)來映射這個反函數(shù)m=f-1(d)。
對于地球物理反問題,如果把觀測數(shù)據(jù)當作輸入數(shù)據(jù),模型參數(shù)當作輸出數(shù)據(jù),事先在模型空間隨機產(chǎn)生大量樣本進行正演計算,獲得對應(yīng)的觀測數(shù)據(jù)樣本,利用它們對BP網(wǎng)絡(luò)進行訓練,則訓練好的網(wǎng)絡(luò)就相當于是地球物理數(shù)據(jù)方程的反函數(shù)。
可以用它進行反演,輸入觀測數(shù)據(jù),網(wǎng)絡(luò)就會輸出它所對應(yīng)的模型。BP神經(jīng)網(wǎng)絡(luò)在能夠進行反演之前需要進行學習訓練。訓練需要大量的樣本,產(chǎn)生這些樣本需要大量的正演計算,此外在學習訓練過程也需要大量的時間。
但是BP神經(jīng)網(wǎng)絡(luò)一旦訓練完畢,在反演中的計算時間可以忽略。要想使BP神經(jīng)網(wǎng)絡(luò)比較好地映射函數(shù)關(guān)系,需要有全面代表性的樣本,但是由于模型空間的無限性,難以獲得全面代表性的樣本集合。
用這樣的樣本訓練出來的BP網(wǎng)絡(luò),只能反映樣本所在的較小范圍數(shù)據(jù)空間和較小范圍模型空間的函數(shù)關(guān)系。對于超出它們的觀測數(shù)據(jù)就無法正確反演。
目前BP神經(jīng)網(wǎng)絡(luò)在一維反演有較多應(yīng)用,在二維、三維反演應(yīng)用較少,原因就是難以產(chǎn)生全面代表性的樣本空間。
BP神經(jīng)網(wǎng)絡(luò)方法
。
人工神經(jīng)網(wǎng)絡(luò)是近幾年來發(fā)展起來的新興學科,它是一種大規(guī)模并行分布處理的非線性系統(tǒng),適用解決難以用數(shù)學模型描述的系統(tǒng),逼近任何非線性的特性,具有很強的自適應(yīng)、自學習、聯(lián)想記憶、高度容錯和并行處理能力,使得神經(jīng)網(wǎng)絡(luò)理論的應(yīng)用已經(jīng)滲透到了各個領(lǐng)域。
近年來,人工神經(jīng)網(wǎng)絡(luò)在水質(zhì)分析和評價中的應(yīng)用越來越廣泛,并取得良好效果。在這些應(yīng)用中,縱觀應(yīng)用于模式識別的神經(jīng)網(wǎng)絡(luò),BP網(wǎng)絡(luò)是最有效、最活躍的方法之一。
BP網(wǎng)絡(luò)是多層前向網(wǎng)絡(luò)的權(quán)值學習采用誤差逆?zhèn)鞑W習的一種算法(ErrorBackPropagation,簡稱BP)。在具體應(yīng)用該網(wǎng)絡(luò)時分為網(wǎng)絡(luò)訓練及網(wǎng)絡(luò)工作兩個階段。
在網(wǎng)絡(luò)訓練階段,根據(jù)給定的訓練模式,按照“模式的順傳播”→“誤差逆?zhèn)鞑ァ薄坝洃浻柧殹薄皩W習收斂”4個過程進行網(wǎng)絡(luò)權(quán)值的訓練。
在網(wǎng)絡(luò)的工作階段,根據(jù)訓練好的網(wǎng)絡(luò)權(quán)值及給定的輸入向量,按照“模式順傳播”方式求得與輸入向量相對應(yīng)的輸出向量的解答(閻平凡,2000)。
BP算法是一種比較成熟的有指導(dǎo)的訓練方法,是一個單向傳播的多層前饋網(wǎng)絡(luò)。它包含輸入層、隱含層、輸出層,如圖4-4所示。
圖4-4地下水質(zhì)量評價的BP神經(jīng)網(wǎng)絡(luò)模型圖4-4給出了4層地下水水質(zhì)評價的BP神經(jīng)網(wǎng)絡(luò)模型。同層節(jié)點之間不連接。
輸入信號從輸入層節(jié)點,依次傳過各隱含層節(jié)點,然后傳到輸出層節(jié)點,如果在輸出層得不到期望輸出,則轉(zhuǎn)入反向傳播,將誤差信號沿原來通路返回,通過學習來修改各層神經(jīng)元的權(quán)值,使誤差信號最小。
每一層節(jié)點的輸出只影響下一層節(jié)點的輸入。
每個節(jié)點都對應(yīng)著一個作用函數(shù)(f)和閾值(a),BP網(wǎng)絡(luò)的基本處理單元量為非線性輸入-輸出的關(guān)系,輸入層節(jié)點閾值為0,且f(x)=x;而隱含層和輸出層的作用函數(shù)為非線性的Sigmoid型(它是連續(xù)可微的)函數(shù),其表達式為f(x)=1/(1+e-x)(4-55)設(shè)有L個學習樣本(Xk,Ok)(k=1,2,…,l),其中Xk為輸入,Ok為期望輸出,Xk經(jīng)網(wǎng)絡(luò)傳播后得到的實際輸出為Yk,則Yk與要求的期望輸出Ok之間的均方誤差為區(qū)域地下水功能可持續(xù)性評價理論與方法研究式中:M為輸出層單元數(shù);Yk,p為第k樣本對第p特性分量的實際輸出;Ok,p為第k樣本對第p特性分量的期望輸出。
樣本的總誤差為區(qū)域地下水功能可持續(xù)性評價理論與方法研究由梯度下降法修改網(wǎng)絡(luò)的權(quán)值,使得E取得最小值,學習樣本對Wij的修正為區(qū)域地下水功能可持續(xù)性評價理論與方法研究式中:η為學習速率,可取0到1間的數(shù)值。
所有學習樣本對權(quán)值Wij的修正為區(qū)域地下水功能可持續(xù)性評價理論與方法研究通常為增加學習過程的穩(wěn)定性,用下式對Wij再進行修正:區(qū)域地下水功能可持續(xù)性評價理論與方法研究式中:β為充量常量;Wij(t)為BP網(wǎng)絡(luò)第t次迭代循環(huán)訓練后的連接權(quán)值;Wij(t-1)為BP網(wǎng)絡(luò)第t-1次迭代循環(huán)訓練后的連接權(quán)值。
在BP網(wǎng)絡(luò)學習的過程中,先調(diào)整輸出層與隱含層之間的連接權(quán)值,然后調(diào)整中間隱含層間的連接權(quán)值,最后調(diào)整隱含層與輸入層之間的連接權(quán)值。實現(xiàn)BP網(wǎng)絡(luò)訓練學習程序流程,如圖4-5所示(倪深海等,2000)。
圖4-5BP神經(jīng)網(wǎng)絡(luò)模型程序框圖若將水質(zhì)評價中的評價標準作為樣本輸入,評價級別作為網(wǎng)絡(luò)輸出,BP網(wǎng)絡(luò)通過不斷學習,歸納出評價標準與評價級別間復(fù)雜的內(nèi)在對應(yīng)關(guān)系,即可進行水質(zhì)綜合評價。
BP網(wǎng)絡(luò)對地下水質(zhì)量綜合評價,其評價方法不需要過多的數(shù)理統(tǒng)計知識,也不需要對水質(zhì)量監(jiān)測數(shù)據(jù)進行復(fù)雜的預(yù)處理,操作簡便易行,評價結(jié)果切合實際。
由于人工神經(jīng)網(wǎng)絡(luò)方法具有高度民主的非線性函數(shù)映射功能,使得地下水水質(zhì)評價結(jié)果較準確(袁曾任,1999)。
BP網(wǎng)絡(luò)可以任意逼近任何連續(xù)函數(shù),但是它主要存在如下缺點:①從數(shù)學上看,它可歸結(jié)為一非線性的梯度優(yōu)化問題,因此不可避免地存在局部極小問題;②學習算法的收斂速度慢,通常需要上千次或更多。
神經(jīng)網(wǎng)絡(luò)具有學習、聯(lián)想和容錯功能,是地下水水質(zhì)評價工作方法的改進,如何在現(xiàn)行的神經(jīng)網(wǎng)絡(luò)中進一步吸取模糊和灰色理論的某些優(yōu)點,建立更適合水質(zhì)評價的神經(jīng)網(wǎng)絡(luò)模型,使該模型既具有方法的先進性又具有現(xiàn)實的可行性,將是我們今后研究和探討的問題。
什么是BP神經(jīng)網(wǎng)絡(luò)?
。
BP算法的基本思想是:學習過程由信號正向傳播與誤差的反向回傳兩個部分組成;正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱層依次逐層處理,傳向輸出層,若輸出層輸出與期望不符,則將誤差作為調(diào)整信號逐層反向回傳,對神經(jīng)元之間的連接權(quán)矩陣做出處理,使誤差減小。
經(jīng)反復(fù)學習,最終使誤差減小到可接受的范圍。具體步驟如下:1、從訓練集中取出某一樣本,把信息輸入網(wǎng)絡(luò)中。2、通過各節(jié)點間的連接情況正向逐層處理后,得到神經(jīng)網(wǎng)絡(luò)的實際輸出。
3、計算網(wǎng)絡(luò)實際輸出與期望輸出的誤差。4、將誤差逐層反向回傳至之前各層,并按一定原則將誤差信號加載到連接權(quán)值上,使整個神經(jīng)網(wǎng)絡(luò)的連接權(quán)值向誤差減小的方向轉(zhuǎn)化。
5、対訓練集中每一個輸入—輸出樣本對重復(fù)以上步驟,直到整個訓練樣本集的誤差減小到符合要求為止。
BP人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetwork,ANN)指由大量與自然神經(jīng)系統(tǒng)相類似的神經(jīng)元聯(lián)結(jié)而成的網(wǎng)絡(luò),是用工程技術(shù)手段模擬生物網(wǎng)絡(luò)結(jié)構(gòu)特征和功能特征的一類人工系統(tǒng)。
神經(jīng)網(wǎng)絡(luò)不但具有處理數(shù)值數(shù)據(jù)的一般計算能力,而且還具有處理知識的思維、學習、記憶能力,它采用類似于“黑箱”的方法,通過學習和記憶,找出輸入、輸出變量之間的非線性關(guān)系(映射),在執(zhí)行問題和求解時,將所獲取的數(shù)據(jù)輸入到已經(jīng)訓練好的網(wǎng)絡(luò),依據(jù)網(wǎng)絡(luò)學到的知識進行網(wǎng)絡(luò)推理,得出合理的答案與結(jié)果。
巖土工程中的許多問題是非線性問題,變量之間的關(guān)系十分復(fù)雜,很難用確切的數(shù)學、力學模型來描述。
工程現(xiàn)場實測數(shù)據(jù)的代表性與測點的位置、范圍和手段有關(guān),有時很難滿足傳統(tǒng)統(tǒng)計方法所要求的統(tǒng)計條件和規(guī)律,加之巖土工程信息的復(fù)雜性和不確定性,因而運用神經(jīng)網(wǎng)絡(luò)方法實現(xiàn)巖土工程問題的求解是合適的。
BP神經(jīng)網(wǎng)絡(luò)模型是誤差反向傳播(BackPagation)網(wǎng)絡(luò)模型的簡稱。它由輸入層、隱含層和輸出層組成。
網(wǎng)絡(luò)的學習過程就是對網(wǎng)絡(luò)各層節(jié)點間連接權(quán)逐步修改的過程,這一過程由兩部分組成:正向傳播和反向傳播。
正向傳播是輸入模式從輸入層經(jīng)隱含層處理傳向輸出層;反向傳播是均方誤差信息從輸出層向輸入層傳播,將誤差信號沿原來的連接通路返回,通過修改各層神經(jīng)元的權(quán)值,使得誤差信號最小。
BP神經(jīng)網(wǎng)絡(luò)模型在建立及應(yīng)用過程中,主要存在的不足和建議有以下四個方面:(1)對于神經(jīng)網(wǎng)絡(luò),數(shù)據(jù)愈多,網(wǎng)絡(luò)的訓練效果愈佳,也更能反映實際。
但在實際操作中,由于條件的限制很難選取大量的樣本值進行訓練,樣本數(shù)量偏少。(2)BP網(wǎng)絡(luò)模型其計算速度較慢、無法表達預(yù)測量與其相關(guān)參數(shù)之間親疏關(guān)系。
(3)以定量數(shù)據(jù)為基礎(chǔ)建立模型,若能收集到充分資料,以定性指標(如基坑降水方式、基坑支護模式、施工工況等)和一些易獲取的定量指標作為輸入層,以評價等級作為輸出層,這樣建立的BP網(wǎng)絡(luò)模型將更準確全面。
(4)BP人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)具有非線性、智能的特點。
較好地考慮了定性描述和定量計算、精確邏輯分析和非確定性推理等方面,但由于樣本不同,影響要素的權(quán)重不同,以及在根據(jù)先驗知識和前人的經(jīng)驗總結(jié)對定性參數(shù)進行量化處理,必然會影響評價的客觀性和準確性。
因此,在實際評價中只有根據(jù)不同的基坑施工工況、不同的周邊環(huán)境條件,應(yīng)不同用戶的需求,選擇不同的分析指標,才能滿足復(fù)雜工況條件下地質(zhì)環(huán)境評價的要求,取得較好的應(yīng)用效果。
神經(jīng)網(wǎng)絡(luò)BP模型
一、BP模型概述誤差逆?zhèn)鞑?ErrorBack-Propagation)神經(jīng)網(wǎng)絡(luò)模型簡稱為BP(Back-Propagation)網(wǎng)絡(luò)模型。
PallWerbas博士于1974年在他的博士論文中提出了誤差逆?zhèn)鞑W習算法。完整提出并被廣泛接受誤差逆?zhèn)鞑W習算法的是以Rumelhart和McCelland為首的科學家小組。
他們在1986年出版“ParallelDistributedProcessing,ExplorationsintheMicrostructureofCognition”(《并行分布信息處理》)一書中,對誤差逆?zhèn)鞑W習算法進行了詳盡的分析與介紹,并對這一算法的潛在能力進行了深入探討。
BP網(wǎng)絡(luò)是一種具有3層或3層以上的階層型神經(jīng)網(wǎng)絡(luò)。上、下層之間各神經(jīng)元實現(xiàn)全連接,即下層的每一個神經(jīng)元與上層的每一個神經(jīng)元都實現(xiàn)權(quán)連接,而每一層各神經(jīng)元之間無連接。
網(wǎng)絡(luò)按有教師示教的方式進行學習,當一對學習模式提供給網(wǎng)絡(luò)后,神經(jīng)元的激活值從輸入層經(jīng)各隱含層向輸出層傳播,在輸出層的各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)。
在這之后,按減小期望輸出與實際輸出的誤差的方向,從輸入層經(jīng)各隱含層逐層修正各連接權(quán),最后回到輸入層,故得名“誤差逆?zhèn)鞑W習算法”。
隨著這種誤差逆?zhèn)鞑バ拚牟粩噙M行,網(wǎng)絡(luò)對輸入模式響應(yīng)的正確率也不斷提高。
BP網(wǎng)絡(luò)主要應(yīng)用于以下幾個方面:1)函數(shù)逼近:用輸入模式與相應(yīng)的期望輸出模式學習一個網(wǎng)絡(luò)逼近一個函數(shù);2)模式識別:用一個特定的期望輸出模式將它與輸入模式聯(lián)系起來;3)分類:把輸入模式以所定義的合適方式進行分類;4)數(shù)據(jù)壓縮:減少輸出矢量的維數(shù)以便于傳輸或存儲。
在人工神經(jīng)網(wǎng)絡(luò)的實際應(yīng)用中,80%~90%的人工神經(jīng)網(wǎng)絡(luò)模型采用BP網(wǎng)絡(luò)或它的變化形式,它也是前向網(wǎng)絡(luò)的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡(luò)最精華的部分。
二、BP模型原理下面以三層BP網(wǎng)絡(luò)為例,說明學習和應(yīng)用的原理。
1.數(shù)據(jù)定義P對學習模式(xp,dp),p=1,2,…,P;輸入模式矩陣X[N][P]=(x1,x2,…,xP);目標模式矩陣d[M][P]=(d1,d2,…,dP)。
三層BP網(wǎng)絡(luò)結(jié)構(gòu)輸入層神經(jīng)元節(jié)點數(shù)S0=N,i=1,2,…,S0;隱含層神經(jīng)元節(jié)點數(shù)S1,j=1,2,…,S1;神經(jīng)元激活函數(shù)f1[S1];權(quán)值矩陣W1[S1][S0];偏差向量b1[S1]。
輸出層神經(jīng)元節(jié)點數(shù)S2=M,k=1,2,…,S2;神經(jīng)元激活函數(shù)f2[S2];權(quán)值矩陣W2[S2][S1];偏差向量b2[S2]。
學習參數(shù)目標誤差?;初始權(quán)更新值Δ0;最大權(quán)更新值Δmax;權(quán)更新值增大倍數(shù)η+;權(quán)更新值減小倍數(shù)η-。
2.誤差函數(shù)定義對第p個輸入模式的誤差的計算公式為中國礦產(chǎn)資源評價新技術(shù)與評價新模型y2kp為BP網(wǎng)的計算輸出。
3.BP網(wǎng)絡(luò)學習公式推導(dǎo)BP網(wǎng)絡(luò)學習公式推導(dǎo)的指導(dǎo)思想是,對網(wǎng)絡(luò)的權(quán)值W、偏差b修正,使誤差函數(shù)沿負梯度方向下降,直到網(wǎng)絡(luò)輸出誤差精度達到目標精度要求,學習結(jié)束。
各層輸出計算公式輸入層y0i=xi,i=1,2,…,S0;隱含層中國礦產(chǎn)資源評價新技術(shù)與評價新模型y1j=f1(z1j),j=1,2,…,S1;輸出層中國礦產(chǎn)資源評價新技術(shù)與評價新模型y2k=f2(z2k),k=1,2,…,S2。
輸出節(jié)點的誤差公式中國礦產(chǎn)資源評價新技術(shù)與評價新模型對輸出層節(jié)點的梯度公式推導(dǎo)中國礦產(chǎn)資源評價新技術(shù)與評價新模型E是多個y2m的函數(shù),但只有一個y2k與wkj有關(guān),各y2m間相互獨立。
其中中國礦產(chǎn)資源評價新技術(shù)與評價新模型則中國礦產(chǎn)資源評價新技術(shù)與評價新模型設(shè)輸出層節(jié)點誤差為δ2k=(dk-y2k)·f2′(z2k),則中國礦產(chǎn)資源評價新技術(shù)與評價新模型同理可得中國礦產(chǎn)資源評價新技術(shù)與評價新模型對隱含層節(jié)點的梯度公式推導(dǎo)中國礦產(chǎn)資源評價新技術(shù)與評價新模型E是多個y2k的函數(shù),針對某一個w1ji,對應(yīng)一個y1j,它與所有的y2k有關(guān)。
因此,上式只存在對k的求和,其中中國礦產(chǎn)資源評價新技術(shù)與評價新模型則中國礦產(chǎn)資源評價新技術(shù)與評價新模型設(shè)隱含層節(jié)點誤差為中國礦產(chǎn)資源評價新技術(shù)與評價新模型則中國礦產(chǎn)資源評價新技術(shù)與評價新模型同理可得中國礦產(chǎn)資源評價新技術(shù)與評價新模型4.采用彈性BP算法(RPROP)計算權(quán)值W、偏差b的修正值ΔW,Δb1993年德國MartinRiedmiller和HeinrichBraun在他們的論文“ADirectAdaptiveMethodforFasterBackpropagationLearning:TheRPROPAlgorithm”中,提出ResilientBackpropagation算法——彈性BP算法(RPROP)。
這種方法試圖消除梯度的大小對權(quán)步的有害影響,因此,只有梯度的符號被認為表示權(quán)更新的方向。
權(quán)改變的大小僅僅由權(quán)專門的“更新值”確定中國礦產(chǎn)資源評價新技術(shù)與評價新模型其中表示在模式集的所有模式(批學習)上求和的梯度信息,(t)表示t時刻或第t次學習。
權(quán)更新遵循規(guī)則:如果導(dǎo)數(shù)是正(增加誤差),這個權(quán)由它的更新值減少。如果導(dǎo)數(shù)是負,更新值增加。中國礦產(chǎn)資源評價新技術(shù)與評價新模型RPROP算法是根據(jù)局部梯度信息實現(xiàn)權(quán)步的直接修改。
對于每個權(quán),我們引入它的各自的更新值,它獨自確定權(quán)更新值的大小。
這是基于符號相關(guān)的自適應(yīng)過程,它基于在誤差函數(shù)E上的局部梯度信息,按照以下的學習規(guī)則更新中國礦產(chǎn)資源評價新技術(shù)與評價新模型其中0<η-<1<η+。
在每個時刻,如果目標函數(shù)的梯度改變它的符號,它表示最后的更新太大,更新值應(yīng)由權(quán)更新值減小倍數(shù)因子η-得到減少;如果目標函數(shù)的梯度保持它的符號,更新值應(yīng)由權(quán)更新值增大倍數(shù)因子η+得到增大。
為了減少自由地可調(diào)參數(shù)的數(shù)目,增大倍數(shù)因子η+和減小倍數(shù)因子η–被設(shè)置到固定值η+=1.2,η-=0.5,這兩個值在大量的實踐中得到了很好的效果。
RPROP算法采用了兩個參數(shù):初始權(quán)更新值Δ0和最大權(quán)更新值Δmax當學習開始時,所有的更新值被設(shè)置為初始值Δ0,因為它直接確定了前面權(quán)步的大小,它應(yīng)該按照權(quán)自身的初值進行選擇,例如,Δ0=0.1(默認設(shè)置)。
為了使權(quán)不至于變得太大,設(shè)置最大權(quán)更新值限制Δmax,默認上界設(shè)置為Δmax=50.0。在很多實驗中,發(fā)現(xiàn)通過設(shè)置最大權(quán)更新值Δmax到相當小的值,例如Δmax=1.0。
我們可能達到誤差減小的平滑性能。5.計算修正權(quán)值W、偏差b第t次學習,權(quán)值W、偏差b的的修正公式W(t)=W(t-1)+ΔW(t),b(t)=b(t-1)+Δb(t),其中,t為學習次數(shù)。
6.BP網(wǎng)絡(luò)學習成功結(jié)束條件每次學習累積誤差平方和中國礦產(chǎn)資源評價新技術(shù)與評價新模型每次學習平均誤差中國礦產(chǎn)資源評價新技術(shù)與評價新模型當平均誤差MSE<ε,BP網(wǎng)絡(luò)學習成功結(jié)束。
7.BP網(wǎng)絡(luò)應(yīng)用預(yù)測在應(yīng)用BP網(wǎng)絡(luò)時,提供網(wǎng)絡(luò)輸入給輸入層,應(yīng)用給定的BP網(wǎng)絡(luò)及BP網(wǎng)絡(luò)學習得到的權(quán)值W、偏差b,網(wǎng)絡(luò)輸入經(jīng)過從輸入層經(jīng)各隱含層向輸出層的“順傳播”過程,計算出BP網(wǎng)的預(yù)測輸出。
8.神經(jīng)元激活函數(shù)f線性函數(shù)f(x)=x,f′(x)=1,f(x)的輸入范圍(-∞,+∞),輸出范圍(-∞,+∞)。一般用于輸出層,可使網(wǎng)絡(luò)輸出任何值。
S型函數(shù)S(x)中國礦產(chǎn)資源評價新技術(shù)與評價新模型f(x)的輸入范圍(-∞,+∞),輸出范圍(0,1)。f′(x)=f(x)[1-f(x)],f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,]。
一般用于隱含層,可使范圍(-∞,+∞)的輸入,變成(0,1)的網(wǎng)絡(luò)輸出,對較大的輸入,放大系數(shù)較小;而對較小的輸入,放大系數(shù)較大,所以可用來處理和逼近非線性的輸入/輸出關(guān)系。
在用于模式識別時,可用于輸出層,產(chǎn)生逼近于0或1的二值輸出。雙曲正切S型函數(shù)中國礦產(chǎn)資源評價新技術(shù)與評價新模型f(x)的輸入范圍(-∞,+∞),輸出范圍(-1,1)。
f′(x)=1-f(x)·f(x),f′(x)的輸入范圍(-∞,+∞),輸出范圍(0,1]。
一般用于隱含層,可使范圍(-∞,+∞)的輸入,變成(-1,1)的網(wǎng)絡(luò)輸出,對較大的輸入,放大系數(shù)較小;而對較小的輸入,放大系數(shù)較大,所以可用來處理和逼近非線性的輸入/輸出關(guān)系。
階梯函數(shù)類型1中國礦產(chǎn)資源評價新技術(shù)與評價新模型f(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。f′(x)=0。
類型2中國礦產(chǎn)資源評價新技術(shù)與評價新模型f(x)的輸入范圍(-∞,+∞),輸出范圍{-1,1}。f′(x)=0。
斜坡函數(shù)類型1中國礦產(chǎn)資源評價新技術(shù)與評價新模型f(x)的輸入范圍(-∞,+∞),輸出范圍[0,1]。中國礦產(chǎn)資源評價新技術(shù)與評價新模型f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
類型2中國礦產(chǎn)資源評價新技術(shù)與評價新模型f(x)的輸入范圍(-∞,+∞),輸出范圍[-1,1]。中國礦產(chǎn)資源評價新技術(shù)與評價新模型f′(x)的輸入范圍(-∞,+∞),輸出范圍{0,1}。
三、總體算法1.三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)權(quán)值W、偏差b初始化總體算法(1)輸入?yún)?shù)X[N][P],S0,S1,f1[S1],S2,f2[S2];(2)計算輸入模式X[N][P]各個變量的最大值,最小值矩陣Xmax[N],Xmin[N];(3)隱含層的權(quán)值W1,偏差b1初始化。
情形1:隱含層激活函數(shù)f()都是雙曲正切S型函數(shù)1)計算輸入模式X[N][P]的每個變量的范圍向量Xrng[N];2)計算輸入模式X的每個變量的范圍均值向量Xmid[N];3)計算W,b的幅度因子Wmag;4)產(chǎn)生[-1,1]之間均勻分布的S0×1維隨機數(shù)矩陣Rand[S1];5)產(chǎn)生均值為0,方差為1的正態(tài)分布的S1×S0維隨機數(shù)矩陣Randnr[S1][S0],隨機數(shù)范圍大致在[-1,1];6)計算W[S1][S0],b[S1];7)計算隱含層的初始化權(quán)值W1[S1][S0];8)計算隱含層的初始化偏差b1[S1];9))輸出W1[S1][S0],b1[S1]。
情形2:隱含層激活函數(shù)f()都是S型函數(shù)1)計算輸入模式X[N][P]的每個變量的范圍向量Xrng[N];2)計算輸入模式X的每個變量的范圍均值向量Xmid[N];3)計算W,b的幅度因子Wmag;4)產(chǎn)生[-1,1]之間均勻分布的S0×1維隨機數(shù)矩陣Rand[S1];5)產(chǎn)生均值為0,方差為1的正態(tài)分布的S1×S0維隨機數(shù)矩陣Randnr[S1][S0],隨機數(shù)范圍大致在[-1,1];6)計算W[S1][S0],b[S1];7)計算隱含層的初始化權(quán)值W1[S1][S0];8)計算隱含層的初始化偏差b1[S1];9)輸出W1[S1][S0],b1[S1]。
情形3:隱含層激活函數(shù)f()為其他函數(shù)的情形1)計算輸入模式X[N][P]的每個變量的范圍向量Xrng[N];2)計算輸入模式X的每個變量的范圍均值向量Xmid[N];3)計算W,b的幅度因子Wmag;4)產(chǎn)生[-1,1]之間均勻分布的S0×1維隨機數(shù)矩陣Rand[S1];5)產(chǎn)生均值為0,方差為1的正態(tài)分布的S1×S0維隨機數(shù)矩陣Randnr[S1][S0],隨機數(shù)范圍大致在[-1,1];6)計算W[S1][S0],b[S1];7)計算隱含層的初始化權(quán)值W1[S1][S0];8)計算隱含層的初始化偏差b1[S1];9)輸出W1[S1][S0],b1[S1]。
(4)輸出層的權(quán)值W2,偏差b2初始化1)產(chǎn)生[-1,1]之間均勻分布的S2×S1維隨機數(shù)矩陣W2[S2][S1];2)產(chǎn)生[-1,1]之間均勻分布的S2×1維隨機數(shù)矩陣b2[S2];3)輸出W2[S2][S1],b2[S2]。
2.應(yīng)用彈性BP算法(RPROP)學習三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)權(quán)值W、偏差b總體算法函數(shù):Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)(1)輸入?yún)?shù)P對模式(xp,dp),p=1,2,…,P;三層BP網(wǎng)絡(luò)結(jié)構(gòu);學習參數(shù)。
(2)學習初始化1);2)各層W,b的梯度值,初始化為零矩陣。
(3)由輸入模式X求第一次學習各層輸出y0,y1,y2及第一次學習平均誤差MSE(4)進入學習循環(huán)epoch=1(5)判斷每次學習誤差是否達到目標誤差要求如果MSE<?,則,跳出epoch循環(huán),轉(zhuǎn)到(12)。
(6)保存第epoch-1次學習產(chǎn)生的各層W,b的梯度值,(7)求第epoch次學習各層W,b的梯度值,1)求各層誤差反向傳播值δ;2)求第p次各層W,b的梯度值,;3)求p=1,2,…,P次模式產(chǎn)生的W,b的梯度值,的累加。
(8)如果epoch=1,則將第epoch-1次學習的各層W,b的梯度值,設(shè)為第epoch次學習產(chǎn)生的各層W,b的梯度值,。
(9)求各層W,b的更新1)求權(quán)更新值Δij更新;2)求W,b的權(quán)更新值,;3)求第epoch次學習修正后的各層W,b。
(10)用修正后各層W、b,由X求第epoch次學習各層輸出y0,y1,y2及第epoch次學習誤差MSE(11)epoch=epoch+1,如果epoch≤MAX_EPOCH,轉(zhuǎn)到(5);否則,轉(zhuǎn)到(12)。
(12)輸出處理1)如果MSE<ε,則學習達到目標誤差要求,輸出W1,b1,W2,b2。2)如果MSE≥ε,則學習沒有達到目標誤差要求,再次學習。
(13)結(jié)束3.三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)預(yù)測總體算法首先應(yīng)用Train3lBP_RPROP()學習三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)權(quán)值W、偏差b,然后應(yīng)用三層BP網(wǎng)絡(luò)(含輸入層,隱含層,輸出層)預(yù)測。
函數(shù):Simu3lBP()。1)輸入?yún)?shù):P個需預(yù)測的輸入數(shù)據(jù)向量xp,p=1,2,…,P;三層BP網(wǎng)絡(luò)結(jié)構(gòu);學習得到的各層權(quán)值W、偏差b。
2)計算P個需預(yù)測的輸入數(shù)據(jù)向量xp(p=1,2,…,P)的網(wǎng)絡(luò)輸出y2[S2][P],輸出預(yù)測結(jié)果y2[S2][P]。四、總體算法流程圖BP網(wǎng)絡(luò)總體算法流程圖見附圖2。
五、數(shù)據(jù)流圖BP網(wǎng)數(shù)據(jù)流圖見附圖1。
六、實例實例一全國銅礦化探異常數(shù)據(jù)BP模型分類1.全國銅礦化探異常數(shù)據(jù)準備在全國銅礦化探數(shù)據(jù)上用穩(wěn)健統(tǒng)計學方法選取銅異常下限值33.1,生成全國銅礦化探異常數(shù)據(jù)。
2.模型數(shù)據(jù)準備根據(jù)全國銅礦化探異常數(shù)據(jù),選取7類33個礦點的化探數(shù)據(jù)作為模型數(shù)據(jù)。
這7類分別是巖漿巖型銅礦、斑巖型銅礦、矽卡巖型、海相火山型銅礦、陸相火山型銅礦、受變質(zhì)型銅礦、海相沉積型銅礦,另添加了一類沒有銅異常的模型(表8-1)。3.測試數(shù)據(jù)準備全國化探數(shù)據(jù)作為測試數(shù)據(jù)集。
4.BP網(wǎng)絡(luò)結(jié)構(gòu)隱層數(shù)2,輸入層到輸出層向量維數(shù)分別為14,9、5、1。學習率設(shè)置為0.9,系統(tǒng)誤差1e-5。沒有動量項。表8-1模型數(shù)據(jù)表續(xù)表5.計算結(jié)果圖如圖8-2、圖8-3。
圖8-2圖8-3全國銅礦礦床類型BP模型分類示意圖實例二全國金礦礦石量品位數(shù)據(jù)BP模型分類1.模型數(shù)據(jù)準備根據(jù)全國金礦儲量品位數(shù)據(jù),選取4類34個礦床數(shù)據(jù)作為模型數(shù)據(jù),這4類分別是綠巖型金礦、與中酸性浸入巖有關(guān)的熱液型金礦、微細浸染型型金礦、火山熱液型金礦(表8-2)。
2.測試數(shù)據(jù)準備模型樣本點和部分金礦點金屬量、礦石量、品位數(shù)據(jù)作為測試數(shù)據(jù)集。3.BP網(wǎng)絡(luò)結(jié)構(gòu)輸入層為三維,隱層1層,隱層為三維,輸出層為四維,學習率設(shè)置為0.8,系統(tǒng)誤差1e-4,迭代次數(shù)5000。
表8-2模型數(shù)據(jù)4.計算結(jié)果結(jié)果見表8-3、8-4。表8-3訓練學習結(jié)果表8-4預(yù)測結(jié)果(部分)續(xù)表。
bp神經(jīng)網(wǎng)絡(luò)
BP(BackPropagation)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland為首的科學家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ柧毜亩鄬忧梆伨W(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。
BP網(wǎng)絡(luò)能學習和存貯大量的輸入-輸出模式映射關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學方程。它的學習規(guī)則是使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。
BP神經(jīng)網(wǎng)絡(luò)模型拓撲結(jié)構(gòu)包括輸入層(input)、隱層(hidelayer)和輸出層(outputlayer)。人工神經(jīng)網(wǎng)絡(luò)就是模擬人思維的第二種方式。
這是一個非線性動力學系統(tǒng),其特色在于信息的分布式存儲和并行協(xié)同處理。雖然單個神經(jīng)元的結(jié)構(gòu)極其簡單,功能有限,但大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)所能實現(xiàn)的行為卻是極其豐富多彩的。
人工神經(jīng)網(wǎng)絡(luò)首先要以一定的學習準則進行學習,然后才能工作。現(xiàn)以人工神經(jīng)網(wǎng)絡(luò)對手寫“A”、“B”兩個字母的識別為例進行說明,規(guī)定當“A”輸入網(wǎng)絡(luò)時,應(yīng)該輸出“1”,而當輸入為“B”時,輸出為“0”。
所以網(wǎng)絡(luò)學習的準則應(yīng)該是:如果網(wǎng)絡(luò)作出錯誤的的判決,則通過網(wǎng)絡(luò)的學習,應(yīng)使得網(wǎng)絡(luò)減少下次犯同樣錯誤的可能性。
首先,給網(wǎng)絡(luò)的各連接權(quán)值賦予(0,1)區(qū)間內(nèi)的隨機值,將“A”所對應(yīng)的圖象模式輸入給網(wǎng)絡(luò),網(wǎng)絡(luò)將輸入模式加權(quán)求和、與門限比較、再進行非線性運算,得到網(wǎng)絡(luò)的輸出。
在此情況下,網(wǎng)絡(luò)輸出為“1”和“0”的概率各為50%,也就是說是完全隨機的。這時如果輸出為“1”(結(jié)果正確),則使連接權(quán)值增大,以便使網(wǎng)絡(luò)再次遇到“A”模式輸入時,仍然能作出正確的判斷。
如果輸出為“0”(即結(jié)果錯誤),則把網(wǎng)絡(luò)連接權(quán)值朝著減小綜合輸入加權(quán)值的方向調(diào)整,其目的在于使網(wǎng)絡(luò)下次再遇到“A”模式輸入時,減小犯同樣錯誤的可能性。
如此操作調(diào)整,當給網(wǎng)絡(luò)輪番輸入若干個手寫字母“A”、“B”后,經(jīng)過網(wǎng)絡(luò)按以上學習方法進行若干次學習后,網(wǎng)絡(luò)判斷的正確率將大大提高。
這說明網(wǎng)絡(luò)對這兩個模式的學習已經(jīng)獲得了成功,它已將這兩個模式分布地記憶在網(wǎng)絡(luò)的各個連接權(quán)值上。當網(wǎng)絡(luò)再次遇到其中任何一個模式時,能夠作出迅速、準確的判斷和識別。
一般說來,網(wǎng)絡(luò)中所含的神經(jīng)元個數(shù)越多,則它能記憶、識別的模式也就越多。如圖所示拓撲結(jié)構(gòu)的單隱層前饋網(wǎng)絡(luò),一般稱為三層前饋網(wǎng)或三層感知器,即:輸入層、中間層(也稱隱層)和輸出層。
它的特點是:各層神經(jīng)元僅與相鄰層神經(jīng)元之間相互全連接,同層內(nèi)神經(jīng)元之間無連接,各層神經(jīng)元之間無反饋連接,構(gòu)成具有層次結(jié)構(gòu)的前饋型神經(jīng)網(wǎng)絡(luò)系統(tǒng)。
單計算層前饋神經(jīng)網(wǎng)絡(luò)只能求解線性可分問題,能夠求解非線性問題的網(wǎng)絡(luò)必須是具有隱層的多層神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)的研究內(nèi)容相當廣泛,反映了多學科交叉技術(shù)領(lǐng)域的特點。
主要的研究工作集中在以下幾個方面:(1)生物原型研究。從生理學、心理學、解剖學、腦科學、病理學等生物科學方面研究神經(jīng)細胞、神經(jīng)網(wǎng)絡(luò)、神經(jīng)系統(tǒng)的生物原型結(jié)構(gòu)及其功能機理。(2)建立理論模型。
根據(jù)生物原型的研究,建立神經(jīng)元、神經(jīng)網(wǎng)絡(luò)的理論模型。其中包括概念模型、知識模型、物理化學模型、數(shù)學模型等。(3)網(wǎng)絡(luò)模型與算法研究。
在理論模型研究的基礎(chǔ)上構(gòu)作具體的神經(jīng)網(wǎng)絡(luò)模型,以實現(xiàn)計算機模擬或準備制作硬件,包括網(wǎng)絡(luò)學習算法的研究。這方面的工作也稱為技術(shù)模型研究。(4)人工神經(jīng)網(wǎng)絡(luò)應(yīng)用系統(tǒng)。
在網(wǎng)絡(luò)模型與算法研究的基礎(chǔ)上,利用人工神經(jīng)網(wǎng)絡(luò)組成實際的應(yīng)用系統(tǒng),例如,完成某種信號處理或模式識別的功能、構(gòu)作專家系統(tǒng)、制成機器人等等。
縱觀當代新興科學技術(shù)的發(fā)展歷史,人類在征服宇宙空間、基本粒子,生命起源等科學技術(shù)領(lǐng)域的進程中歷經(jīng)了崎嶇不平的道路。我們也會看到,探索人腦功能和神經(jīng)網(wǎng)絡(luò)的研究將伴隨著重重困難的克服而日新月異。
神經(jīng)網(wǎng)絡(luò)可以用作分類、聚類、預(yù)測等。神經(jīng)網(wǎng)絡(luò)需要有一定量的歷史數(shù)據(jù),通過歷史數(shù)據(jù)的訓練,網(wǎng)絡(luò)可以學習到數(shù)據(jù)中隱含的知識。
在你的問題中,首先要找到某些問題的一些特征,以及對應(yīng)的評價數(shù)據(jù),用這些數(shù)據(jù)來訓練神經(jīng)網(wǎng)絡(luò)。雖然BP網(wǎng)絡(luò)得到了廣泛的應(yīng)用,但自身也存在一些缺陷和不足,主要包括以下幾個方面的問題。
首先,由于學習速率是固定的,因此網(wǎng)絡(luò)的收斂速度慢,需要較長的訓練時間。
對于一些復(fù)雜問題,BP算法需要的訓練時間可能非常長,這主要是由于學習速率太小造成的,可采用變化的學習速率或自適應(yīng)的學習速率加以改進。
其次,BP算法可以使權(quán)值收斂到某個值,但并不保證其為誤差平面的全局最小值,這是因為采用梯度下降法可能產(chǎn)生一個局部最小值。對于這個問題,可以采用附加動量法來解決。
再次,網(wǎng)絡(luò)隱含層的層數(shù)和單元數(shù)的選擇尚無理論上的指導(dǎo),一般是根據(jù)經(jīng)驗或者通過反復(fù)實驗確定。因此,網(wǎng)絡(luò)往往存在很大的冗余性,在一定程度上也增加了網(wǎng)絡(luò)學習的負擔。最后,網(wǎng)絡(luò)的學習和記憶具有不穩(wěn)定性。
也就是說,如果增加了學習樣本,訓練好的網(wǎng)絡(luò)就需要從頭開始訓練,對于以前的權(quán)值和閾值是沒有記憶的。但是可以將預(yù)測、分類或聚類做的比較好的權(quán)值保存。
?
總結(jié)
以上是生活随笔為你收集整理的bp神经网络的训练方法,一文搞定bp神经网络的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机辅助机械设计实训教程,机械设计教学
- 下一篇: 计算机导论高清课件教程,计算机导论-PP