反向傳播算法簡稱BP算法,是適合于多層神經(jīng)元網(wǎng)絡(luò)的一種學(xué)習(xí)算法,它建立在梯度下降法的基礎(chǔ)上。BP網(wǎng)絡(luò)的輸入輸出關(guān)系實(shí)質(zhì)上是一種映射關(guān)系:一個(gè)n輸入m輸出的BP神經(jīng)網(wǎng)絡(luò)所完成的功能是從n維歐氏空間向m維歐氏空間中一有限域的連續(xù)映射,這一映射具有高度非線性。
一、反向傳播算法簡介
反向傳播算法即誤差反向傳播算法,適合于多層神經(jīng)元網(wǎng)絡(luò)的一種學(xué)習(xí)算法,它建立在梯度下降法的基礎(chǔ)上。BP網(wǎng)絡(luò)的輸入輸出關(guān)系實(shí)質(zhì)上是一種映射關(guān)系:一個(gè)n輸入m輸出的BP神經(jīng)網(wǎng)絡(luò)所完成的功能是從n維歐氏空間向m維歐氏空間中一有限域的連續(xù)映射,這一映射具有高度非線性。它的信息處理能力來源于簡單非線性函數(shù)的多次復(fù)合,因此具有很強(qiáng)的函數(shù)復(fù)現(xiàn)能力。這是BP算法得以應(yīng)用的基礎(chǔ)。
反向傳播算法主要由兩個(gè)環(huán)節(jié)(激勵(lì)傳播、權(quán)重更新)反復(fù)循環(huán)迭代,直到網(wǎng)絡(luò)的對輸入的響應(yīng)達(dá)到預(yù)定的目標(biāo)范圍為止。
BP算法的學(xué)習(xí)過程由正向傳播過程和反向傳播過程組成。在正向傳播過程中,輸入信息通過輸入層經(jīng)隱含層,逐層處理并傳向輸出層。如果在輸出層得不到期望的輸出值,則取輸出與期望的誤差的平方和作為目標(biāo)函數(shù),轉(zhuǎn)入反向傳播,逐層求出目標(biāo)函數(shù)對各神經(jīng)元權(quán)值的偏導(dǎo)數(shù),構(gòu)成目標(biāo)函數(shù)對權(quán)值向量的梯量,作為修改權(quán)值的依據(jù),網(wǎng)絡(luò)的學(xué)習(xí)在權(quán)值修改過程中完成。誤差達(dá)到所期望值時(shí),網(wǎng)絡(luò)學(xué)習(xí)結(jié)束。
二、權(quán)重更新步驟
1.將輸入激勵(lì)和響應(yīng)誤差相乘,從而獲得權(quán)重的梯度;
2.將這個(gè)梯度乘上一個(gè)比例并取反后加到權(quán)重上。
3.這個(gè)比例將會影響到訓(xùn)練過程的速度和效果,因此稱為“訓(xùn)練因子”。梯度的方向指明了誤差擴(kuò)大的方向,因此在更新權(quán)重的時(shí)候需要對其取反,從而減小權(quán)重引起的誤差。