BP演算法是不是就是為了求gradient而發現的簡便演算法?
01-09
神經網路裡面直接求代價函數的偏導求不出來,然後突然發現定義DELTA反向算一通就可以比較方便的求偏導了,然後BP演算法就被發現了,我這麼理解對不對啊
我覺得BP演算法只是鏈式求導的應用,用於把誤差關於W的導數逐層向前傳遞,一直不明白這麼簡單的演算法怎麼那麼久才被發現
直接求就能求到梯度。
反向傳播這種說法比較形象,為了方便知識傳播吧。
其實用圖用反向傳播這些方式更不好理解,當初初學的時候就是從看圖開始的,一愣一愣的,好久沒明白,似懂非懂的。直到把式子寫出來,一目了然,求梯度用鏈式法則,不能再輕鬆。題外話,神經網路歸到概率圖模型的框架下理解更好,不要跟神經扯什麼關係,又生硬又不好理解。BP是誤差的反向傳播,用於誤差的傳播。
借鑒了鏈式求導法則,但是並不等價於多元函數的鏈式求導。
基本沒錯。因為要用基於gradient的優化方式,所以需要求gradient。
數學上用鏈式法則就可以求gradient,根本無所謂什麼BP,但要用電腦算就必須有高效的演算法,於是就有人開始用上了BP。實際上也是逐層傳導,大致可以理解為逐步的鏈式法則求導。對。BP演算法就是求梯度。
錯了,理解反了。BP是一種演算法,需要gradient來達到這種目的。
推薦閱讀:
※除了深度神經網路已經實現的特性以外,大腦還有哪些特性是值得機器學習領域借鑒的?
※推薦演算法中除了itemcf外還有哪些計算item相似度的策略,另外有哪些基於模型的itemcf演算法?
※如何看待如今上演的全民 CS,全民 AI 現象?
※二值化網路如何實現加速?
※美國數據挖掘研究生?