一、BP算法的意義
對于初學(xué)者來說,了解了一個(gè)算法的重要意義,往往會引起他對算法本身的重視。BP(Back Propagation,后向傳播)算法,具有非凡的歷史意義和重大的現(xiàn)實(shí)意義。
1.1、歷史意義
1969年,作為人工神經(jīng)網(wǎng)絡(luò)創(chuàng)始人的明斯基(Marrin M insky)和佩珀特(Seymour Papert)合作出版了《感知器》一書,論證了簡單的線性感知器功能有限,不能解決如“異或”(XOR )這樣的基本問題,而且對多層網(wǎng)絡(luò)也持悲觀態(tài)度。這些論點(diǎn)給神經(jīng)網(wǎng)絡(luò)研究以沉重的打擊,很多科學(xué)家紛紛離開這一領(lǐng)域,神經(jīng)網(wǎng)絡(luò)的研究走向長達(dá)10年的低潮時(shí)期。[1]
1974年哈佛大學(xué)的Paul Werbos發(fā)明BP算法時(shí),正值神經(jīng)外網(wǎng)絡(luò)低潮期,并未受到應(yīng)有的重視。[2]
1983年,加州理工學(xué)院的物理學(xué)家John Hopfield利用神經(jīng)網(wǎng)絡(luò),在旅行商這個(gè)NP完全問題的求解上獲得當(dāng)時(shí)最好成績,引起了轟動[2]。然而,Hopfield的研究成果仍未能指出明斯基等人論點(diǎn)的錯誤所在,要推動神經(jīng)網(wǎng)絡(luò)研究的全面開展必須直接解除對感知器——多層網(wǎng)絡(luò)算法的疑慮。[1]
真正打破明斯基冰封魔咒的是,David Rumelhart等學(xué)者出版的《平行分布處理:認(rèn)知的微觀結(jié)構(gòu)探索》一書。書中完整地提出了BP算法,系統(tǒng)地解決了多層網(wǎng)絡(luò)中隱單元連接權(quán)的學(xué)習(xí)問題,并在數(shù)學(xué)上給出了完整的推導(dǎo)。這是神經(jīng)網(wǎng)絡(luò)發(fā)展史上的里程碑,BP算法迅速走紅,掀起了神經(jīng)網(wǎng)絡(luò)的第二次高潮。[1,2]
因此,BP算法的歷史意義:明確地否定了明斯基等人的錯誤觀點(diǎn),對神經(jīng)網(wǎng)絡(luò)第二次高潮具有決定性意義。
1.2、現(xiàn)實(shí)意義
這一點(diǎn)是說BP算法在神經(jīng)網(wǎng)絡(luò)領(lǐng)域中的地位和意義。
BP算法是迄今最成功的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,現(xiàn)實(shí)任務(wù)中使用神經(jīng)網(wǎng)絡(luò)時(shí),大多是在使用BP算法進(jìn)行訓(xùn)練[2],包括最近炙手可熱的深度學(xué)習(xí)概念下的卷積神經(jīng)網(wǎng)絡(luò)(CNNs)。
二、什么是BP算法
2.1、BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)是這樣一種神經(jīng)網(wǎng)絡(luò)模型,它是由一個(gè)輸入層、一個(gè)輸出層和一個(gè)或多個(gè)隱層構(gòu)成,它的激活函數(shù)采用sigmoid函數(shù),采用BP算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)。
2.2、BP算法基本思想
BP算法全稱叫作誤差反向傳播(error Back Propagation,或者也叫作誤差逆?zhèn)鞑?算法。其算法基本思想為:在2.1所述的前饋網(wǎng)絡(luò)中,輸入信號經(jīng)輸入層輸入,通過隱層計(jì)算由輸出層輸出,輸出值與標(biāo)記值比較,若有誤差,將誤差反向由輸出層向輸入層傳播,在這個(gè)過程中,利用梯度下降算法對神經(jīng)元權(quán)值進(jìn)行調(diào)整。
2.3、BP算法數(shù)學(xué)工具
BP算法中核心的數(shù)學(xué)工具就是微積分的鏈?zhǔn)角髮?dǎo)法則。
2.4、BP算法的推導(dǎo)[2][3]
三、BP算法的缺點(diǎn)
3.1、局部極小值問題
BP算法的缺點(diǎn),首當(dāng)其沖就是局部極小值問題。
3.2、算法訓(xùn)練非常慢
BP算法本質(zhì)上是梯度下降,而它所要優(yōu)化的目標(biāo)函數(shù)又非常復(fù)雜,這使得BP算法效率低下。
四、參考
[1]、《BP算法的哲學(xué)思考》,成素梅、郝中華著
[2]、《機(jī)器學(xué)習(xí)》,周志華著
[3]、Deep Learning論文筆記之(四)CNN卷積神經(jīng)網(wǎng)絡(luò)推導(dǎo)和實(shí)現(xiàn)
五、時(shí)間線
2016-05-13 第一次發(fā)布
2016-06-04 較大幅度修改,完善推導(dǎo)過程,修改文章名
2016-07-23 修改了公式推導(dǎo)中的一個(gè)錯誤,修改了一個(gè)表述錯誤