簡介:BP(Back Propagation)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland為首的科學(xué)家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。
BP網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入-輸出模式映射關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學(xué)方程。它的學(xué)習(xí)規(guī)則是使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。
BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu)包括輸入層(input)、隱層(hide layer)和輸出層(output layer) 摘 要:BP神經(jīng)網(wǎng)絡(luò)算法是在BP神經(jīng)網(wǎng)絡(luò)現(xiàn)有算法的基礎(chǔ)上提出的,是通過任意選定一組權(quán)值,將給定的目標(biāo)輸出直接作為線性方程的代數(shù)和來建立線性方程組,解得待求權(quán),不存在傳統(tǒng)方法的局部極小及收斂速度慢的問題,且更易理解。 關(guān)鍵詞:固定權(quán)值;gauss消元法;BP算法 人工神經(jīng)網(wǎng)絡(luò)(artificial neural networks,ANN)系統(tǒng)是20世紀(jì)40年代后出現(xiàn)的,它是由眾多的神經(jīng)元可調(diào)的連接權(quán)值連接而成,具有大規(guī)模并行處理、分布式信息存儲、良好的自組織自學(xué)習(xí)能力等特點,在信息處理、模式識別、智能控制及系統(tǒng)建模等領(lǐng)域得到越來越廣泛的應(yīng)用。
尤其誤差反向傳播算法(Error Back-propagation Training,簡稱BP網(wǎng)絡(luò))可以逼近任意連續(xù)函數(shù),具有很強(qiáng)的非線性映射能力,而且網(wǎng)絡(luò)的中間層數(shù)、各層的處理單元數(shù)及網(wǎng)絡(luò)的學(xué)習(xí)系數(shù)等參數(shù)可根據(jù)具體情況設(shè)定,靈活性很大,所以它在許多應(yīng)用領(lǐng)域中起到重要作用。近年來,為了解決BP神經(jīng)網(wǎng)絡(luò)收斂速度慢、不能保證收斂到全局最小點,網(wǎng)絡(luò)的中間層及它的單元數(shù)選取無理論指導(dǎo)及網(wǎng)絡(luò)學(xué)習(xí)和記憶的不穩(wěn)定性等缺陷,提出了許多改進(jìn)算法。
1 傳統(tǒng)的BP算法簡述 BP算法是一種有監(jiān)督式的學(xué)習(xí)算法,其主要思想是:輸入學(xué)習(xí)樣本,使用反向傳播算法對網(wǎng)絡(luò)的權(quán)值和偏差進(jìn)行反復(fù)的調(diào)整訓(xùn)練,使輸出的向量與期望向量盡可能地接近,當(dāng)網(wǎng)絡(luò)輸出層的誤差平方和小于指定的誤差時訓(xùn)練完成,保存網(wǎng)絡(luò)的權(quán)值和偏差。具體步驟如下: (1)初始化,隨機(jī)給定各連接權(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)+琢dtkbj wij(n+1)=wij(n)+茁ejkaik rt(n+1)=rt(n)+琢dtk θj(n+1)=θj(n)+茁ejk 式中:琢,茁為學(xué)習(xí)系數(shù)(0。
BP網(wǎng)絡(luò)是一種神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。
其由輸入層、中間層、輸出層組成的階層型神經(jīng)網(wǎng)絡(luò),中間層可擴(kuò)展為多層。相鄰層之間各神經(jīng)元進(jìn)行全連接,而每層各神經(jīng)元之間無連接,網(wǎng)絡(luò)按有教師示教的方式進(jìn)行學(xué)習(xí),當(dāng)一對學(xué)習(xí)模式提供給網(wǎng)絡(luò)后,各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)產(chǎn)生連接權(quán)值(Weight)。
然后按減小希望輸出與實際輸出誤差的方向,從輸出層經(jīng)各中間層逐層修正各連接權(quán),回到輸入層。此過程反復(fù)交替進(jìn)行,直至網(wǎng)絡(luò)的全局誤差趨向給定的極小值,即完成學(xué)習(xí)的過程。
找個神經(jīng)網(wǎng)絡(luò)軟件,如NeuroSolutions或邁實神經(jīng)網(wǎng)絡(luò)軟件,邊操作邊學(xué)習(xí),會更好的理解神經(jīng)網(wǎng)絡(luò)。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是1986年由Rumelhart和McCelland為首的科學(xué)家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入-輸出模式映射關(guān)系,而無需事前揭示描述這種映射關(guān)系的數(shù)學(xué)方程。它的學(xué)習(xí)規(guī)則是使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu)包括輸入層(input)、隱層(hidden layer)和輸出層(output layer)。
BP算法的基本思想是:學(xué)習(xí)過程由信號正向傳播與誤差的反向回傳兩個部分組成;正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱層依次逐層處理,傳向輸出層,若輸出層輸出與期望不符,則將誤差作為調(diào)整信號逐層反向回傳,對神經(jīng)元之間的連接權(quán)矩陣做出處理,使誤差減小。經(jīng)反復(fù)學(xué)習(xí),最終使誤差減小到可接受的范圍。具體步驟如下:
1、從訓(xùn)練集中取出某一樣本,把信息輸入網(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、対訓(xùn)練集中每一個輸入—輸出樣本對重復(fù)以上步驟,直到整個訓(xùn)練樣本集的誤差減小到符合要求為止。
Back PropagationBP (Back Propagation)神經(jīng)網(wǎng)絡(luò),即誤差反傳誤差反向傳播算法的學(xué)習(xí)過程,由信息的正向傳播和誤差的反向傳播兩個過程組成。
輸入層各神經(jīng)元負(fù)責(zé)接收來自外界的輸入信息,并傳遞給中間層各神經(jīng)元;中間層是內(nèi)部信息處理層,負(fù)責(zé)信息變換,根據(jù)信息變化能力的需求,中間層(隱含層)可以設(shè)計為單隱層或者多隱層結(jié)構(gòu);最后一個隱層傳遞到輸出層各神經(jīng)元的信息,經(jīng)進(jìn)一步處理后,完成一次學(xué)習(xí)的正向傳播處理過程,由輸出層向外界輸出信息處理結(jié)果。神經(jīng)網(wǎng)絡(luò)很多種,BP神經(jīng)網(wǎng)絡(luò)最常用。
思維學(xué)普遍認(rèn)為,人類大腦的思維分為抽象(邏輯)思維、形象(直觀)思維和靈感(頓悟)思維三種基本方式。
邏輯性的思維是指根據(jù)邏輯規(guī)則進(jìn)行推理的過程;它先將信息化成概念,并用符號表示,然后,根據(jù)符號運(yùn)算按串行模式進(jìn)行邏輯推理;這一過程可以寫成串行的指令,讓計算機(jī)執(zhí)行。然而,直觀性的思維是將分布式存儲的信息綜合起來,結(jié)果是忽然間產(chǎn)生想法或解決問題的辦法。這種思維方式的根本之點在于以下兩點:1.信息是通過神經(jīng)元上的興奮模式分布儲在網(wǎng)絡(luò)上;2.信息處理是通過神經(jīng)元之間同時相互作用的動態(tài)過程來完成的。
人工神經(jīng)網(wǎng)絡(luò)具有初步的自適應(yīng)與自組織能力。在學(xué)習(xí)或訓(xùn)練過程中改變突觸權(quán)重值,以適應(yīng)周圍環(huán)境的要求。同一網(wǎng)絡(luò)因?qū)W習(xí)方式及內(nèi)容不同可具有不同的功能。人工神經(jīng)網(wǎng)絡(luò)是一個具有學(xué)習(xí)能力的系統(tǒng),可以發(fā)展知識,以致超過設(shè)計者原有的知識水平。通常,它的學(xué)習(xí)訓(xùn)練方式可分為兩種,一種是有監(jiān)督或稱有導(dǎo)師的學(xué)習(xí),這時利用給定的樣本標(biāo)準(zhǔn)進(jìn)行分類或模仿;另一種是無監(jiān)督學(xué)習(xí)或稱無導(dǎo)師學(xué)習(xí),這時,只規(guī)定學(xué)習(xí)方式或某些規(guī)則,則具體的學(xué)習(xí)內(nèi)容隨系統(tǒng)所處環(huán)境 (即輸入信號情況)而異,系統(tǒng)可以自動發(fā)現(xiàn)環(huán)境特征和規(guī)律性,具有更近似人腦的功能。
人工神經(jīng)網(wǎng)絡(luò)就是模擬人思維的第二種方式。這是一個非線性動力學(xué)系統(tǒng),其特色在于信息的分布式存儲和并行協(xié)同處理。雖然單個神經(jīng)元的結(jié)構(gòu)極其簡單,功能有限,但大量神經(jīng)元構(gòu)成的網(wǎng)絡(luò)系統(tǒng)所能實現(xiàn)的行為卻是極其豐富多彩的。
人工神經(jīng)網(wǎng)絡(luò)首先要以一定的學(xué)習(xí)準(zhǔn)則進(jìn)行學(xué)習(xí),然后才能工作?,F(xiàn)以人工神經(jīng)網(wǎng)絡(luò)對手寫“A”、“B”兩個字母的識別為例進(jìn)行說明,規(guī)定當(dāng)“A”輸入網(wǎng)絡(luò)時,應(yīng)該輸出“1”,而當(dāng)輸入為“B”時,輸出為“0”。
所以網(wǎng)絡(luò)學(xué)習(xí)的準(zhǔn)則應(yīng)該是:如果網(wǎng)絡(luò)作出錯誤的的判決,則通過網(wǎng)絡(luò)的學(xué)習(xí),應(yīng)使得網(wǎng)絡(luò)減少下次犯同樣錯誤的可能性。首先,給網(wǎng)絡(luò)的各連接權(quán)值賦予(0,1)區(qū)間內(nèi)的隨機(jī)值,將“A”所對應(yīng)的圖象模式輸入給網(wǎng)絡(luò),網(wǎng)絡(luò)將輸入模式加權(quán)求和、與門限比較、再進(jìn)行非線性運(yùn)算,得到網(wǎng)絡(luò)的輸出。在此情況下,網(wǎng)絡(luò)輸出為“1”和“0”的概率各為50%,也就是說是完全隨機(jī)的。這時如果輸出為“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)整,當(dāng)給網(wǎng)絡(luò)輪番輸入若干個手寫字母“A”、“B”后,經(jīng)過網(wǎng)絡(luò)按以上學(xué)習(xí)方法進(jìn)行若干次學(xué)習(xí)后,網(wǎng)絡(luò)判斷的正確率將大大提高。這說明網(wǎng)絡(luò)對這兩個模式的學(xué)習(xí)已經(jīng)獲得了成功,它已將這兩個模式分布地記憶在網(wǎng)絡(luò)的各個連接權(quán)值上。當(dāng)網(wǎng)絡(luò)再次遇到其中任何一個模式時,能夠作出迅速、準(zhǔn)確的判斷和識別。一般說來,網(wǎng)絡(luò)中所含的神經(jīng)元個數(shù)越多,則它能記憶、識別的模式也就越多。
如圖所示拓?fù)浣Y(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ò)。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:2.912秒