神經網絡BP算法及其Caffe實現(xiàn)

大名鼎鼎的BackPropagation算法署穗,是如今神經網絡/深度學習的基礎優(yōu)化算法。
其實在1974年Paul Werbos就提出了利用backprop優(yōu)化求解神經網絡的可能性案疲,真正火起來是1986年Rumelhart和Hinton一起重新發(fā)現(xiàn),通過backpropgation算法可以有效地優(yōu)化求解神經網絡麻养。
隨著神經網絡的今年飛速發(fā)展,如今的深度學習鳖昌,背后的優(yōu)化策略就是基于這套簡單有效的BP算法。

關于BP算法的直觀解釋和理解许昨,可以參考下面的回答:
如何直觀地解釋 back propagation 算法?-胡逸夫的回答
感謝作者非常直觀莉恼、詳細地解釋了BP算法的原理,并給出了直觀的理解方式类垫。

但是我在瀏覽大量對于BP算法的解釋,都基本止步于此残家。
對于BP算法的解釋,其實已經很到位了坞淮,但是具體到神經網絡中的參數(shù)優(yōu)化陪捷,個人感覺作者還沒講完,因此很多人可能會對各層參數(shù)的優(yōu)化存在疑問市袖。


BP算法鏈式求導

如上圖所示,我們假設輸入是a,b, 輸出是e酒觅,h(x),g(x),z(x)可以看做是中間的hidden layer。
那么可以得到: e = z(h(a,b),g(b))
通過作者推導的自頂而下的反向傳播舷丹,我們可以根據(jù)鏈式求導法則蜓肆,將求導的過程分割開來。
但是要注意的是仗扬,上圖中并沒有任何可學習的參數(shù)。
在神經網絡中穴豫,我們要學習的是各層的參數(shù),要更新的其實是各層的參數(shù)精肃,而神經網絡的輸入(這里可以看做是a,b)其實是固定的帜乞。
所以我們實際要調整的是各層的參數(shù)(weights,bias等),而這樣的過程并沒有在上圖中反應出來黎烈。

我們考慮各層有參數(shù)的情況匀谣,如下圖所示资溃。

各層存在參數(shù)w1,w2,w3,w4的情況

這樣的情況才是我們神經網絡bp中經常遇到的,此時我們需要bp更新的是其中的參數(shù)w1,w2,w3,w4宝恶,而不是a,b.
此時我們考慮其中某一層的參數(shù)更新趴捅,如下圖所示:

某一層參數(shù)更新的分析

在這一層中,我們實際要更新的參數(shù)是w3,
我們的bottom輸入是b,top輸出是d,
我們要得到的是整個網絡loss function關于w3的偏導综芥,然后根據(jù)w3=w3-lr x gradient對w3進行更新。
根據(jù)鏈式法則膀藐,我們發(fā)現(xiàn)其實top中我們已得到loss function關于top blob的偏導迟几。那么此時只要計算top blob關于要學習的參數(shù)的偏導,就可以根據(jù)鏈式運算得loss function關于要學習的參數(shù)的偏導类腮,就可以進行參數(shù)更新了蛉加。
在上圖中,我們的top blob是d,要學習的參數(shù)是w3. d與w3的關系是d=w3 x b+1
可以得到d關于w3的偏導是b厂抽,而b的取值我們根據(jù)前向傳播已知為1。
所以loss關于w3的偏導為3*1=3筷凤,這樣我們就可以根據(jù)bp進行w3的更新了。

同時我們計算該層function關于bottom的偏導藐守,繼續(xù)回傳蹂风,該層的bottom就可以作為前一層的top,這樣就實現(xiàn)了神經網絡中對各層參數(shù)的更新。

后續(xù)將簡單介紹以下Caffe中backwar部分的實現(xiàn)惠啄,未完待續(xù)任内。融柬。
話說簡書不支持數(shù)學公式真是反人類啊。粒氧。。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末廊敌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子骡澈,更是在濱河造成了極大的恐慌掷空,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坦弟,死亡現(xiàn)場離奇詭異护锤,居然都是意外死亡酿傍,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門氯析,熙熙樓的掌柜王于貴愁眉苦臉地迎上來莺褒,“玉大人,你說我怎么就攤上這事遵岩。” “怎么了尘执?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蠢熄。 經常有香客問我炉旷,道長叉讥,這世上最難降的妖魔是什么饥追? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮但绕,結果婚禮上,老公的妹妹穿的比我還像新娘六孵。我一直安慰自己,他們只是感情好劫窒,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布拆座。 她就那樣靜靜地躺著,像睡著了一般挪凑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上躏碳,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音菇绵,去河邊找鬼。 笑死脸甘,一個胖子當著我的面吹牛丹诀,可吹牛的內容都是我干的。 我是一名探鬼主播铆遭,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沿猜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了啼肩?” 一聲冷哼從身側響起衙伶,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤矢劲,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后芬沉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡丸逸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年黄刚,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片隘击。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡研铆,死狀恐怖,靈堂內的尸體忽然破棺而出棵红,到底是詐尸還是另有隱情,我是刑警寧澤逆甜,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站交煞,受9級特大地震影響,放射性物質發(fā)生泄漏素征。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一根欧、第九天 我趴在偏房一處隱蔽的房頂上張望端蛆。 院中可真熱鬧,春花似錦今豆、人聲如沸柔袁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽应役。三九已至,卻和暖如春箩祥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背袍祖。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蕉陋,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓茁肠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缩举。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內容

  • 2017.02.07. 打卡07劉妮妮 相信積累和沉淀 過年有人問我為什么上學托猩,她略帶愁容辽慕,家境不好,覺得自己一直...
    劉你你閱讀 163評論 0 1
  • 我還記得你的名字 從天空而來溅蛉,低入塵埃 我還記得你的樣子 與海棠同開,不惹鏡臺 我還記得你的眸子 泛輕舟漫海温艇,靜坐...
    飛狐119閱讀 137評論 2 0
  • 采擷唐詩宋詞之花 ――記九年級三班“飛花令”活動 ...
    靜語微文閱讀 7,037評論 5 3
  • Bitmap所造成的OOM 圖片是一個很耗內存的資源勺爱,因此經常會遇到OOM讯检。比如從本地文件中讀取圖片卫旱,然后在Gri...
    littleKang閱讀 3,719評論 7 61
  • 小時候围段,爸爸總叫我大頭娃娃。還記得有一首兒歌依稀是這么說的:大頭奈泪,大頭,下雨不愁涝桅;別人有傘拜姿,我有大頭冯遂。也許是因為頭...
    洳穎隨行閱讀 292評論 0 1