CS231n課程筆記四 反向傳播

導(dǎo)言

動(dòng)機(jī):為了高效的設(shè)計(jì)和調(diào)試神經(jīng)網(wǎng)絡(luò)于置,理解反向傳播的機(jī)理是很重要的髓削。
問題描述:有了函數(shù)f(x)我們對(duì)于計(jì)算f在x點(diǎn)的梯度很感興趣豆村。
在神經(jīng)網(wǎng)絡(luò)中剖踊,f相應(yīng)于損失函數(shù)和輸入x將組成訓(xùn)練集和神經(jīng)網(wǎng)絡(luò)權(quán)重驼鞭,比如損失將是SVM損失函數(shù)而輸入既是訓(xùn)練數(shù)據(jù)也是權(quán)重秦驯,既是我們可以很快的使用后向傳播計(jì)算出梯度,實(shí)際上我們通常也僅僅計(jì)算每一個(gè)參數(shù)的梯度挣棕,所以我們可以使用它來實(shí)現(xiàn)一個(gè)參數(shù)的更新译隘,然而正如我們?cè)谡n程中后面會(huì)看到的x仍然是有用的亲桥,比如為了可視化神經(jīng)網(wǎng)絡(luò)在做什么。

計(jì)算

首先看最簡(jiǎn)單的例子:


捕獲.PNG

反向傳播是一個(gè)精美的本地進(jìn)程固耘。電路圖中的每個(gè)門都會(huì)獲得一些輸入题篷,可以立即計(jì)算兩件事情:1.其輸出值和2.其輸入的本地梯度相對(duì)于其輸出值。注意厅目,門可以完全獨(dú)立完成番枚,而不知道它們嵌入的全電路的任何細(xì)節(jié)。但是损敷,一旦正向通過結(jié)束葫笼,在反向傳播期間,門將最終了解其輸出值的梯度在整個(gè)電路的最終輸出拗馒。連鎖規(guī)則說路星,門應(yīng)該采用該梯度,并將其乘以其通常為其所有輸入計(jì)算的每個(gè)梯度诱桂。
所以洋丐,后向傳播其實(shí)是門之間的互相交流,通過梯度信號(hào)來交流挥等,是增加還是減少友绝,增加減少多大程度,來是的最后的輸出結(jié)果更高肝劲。

模塊度

上面介紹的門是相對(duì)來說任意的九榔,任何可微的函數(shù)都可以作為一個(gè)門,并且可以把多個(gè)門集合到一個(gè)里面或者分解一個(gè)函數(shù)到多個(gè)門中涡相。

image.png

可以用下圖來表示:

image.png

分階段反向傳播哲泊。如上面的代碼所示,在實(shí)踐中催蝗,將前進(jìn)路徑分解為容易反向推進(jìn)的階段總是有幫助的切威。例如,我們創(chuàng)建了一個(gè)中間變量點(diǎn)丙号,它保存了w和x之間的點(diǎn)積的輸出先朦。在反向通過期間,我們?nèi)缓笠来斡?jì)算(反向順序)保存這些變量的梯度的相應(yīng)變量(例如犬缨,ddot喳魏,最后dw,dx)怀薛。

本節(jié)的要點(diǎn)是刺彩,反向傳播如何執(zhí)行的細(xì)節(jié)以及我們認(rèn)為是門的前向功能的哪些部分是方便的問題。它有助于了解表達(dá)式的哪些部分具有容易的本地漸變,使得它們可以用最少的代碼和努力鏈接在一起创倔。

案例 分階段計(jì)算

下面看以下的案例:

image.png
x = 3 # example values
y = -4

# forward pass
sigy = 1.0 / (1 + math.exp(-y)) # sigmoid in numerator   #(1)
num = x + sigy # numerator                               #(2)
sigx = 1.0 / (1 + math.exp(-x)) # sigmoid in denominator #(3)
xpy = x + y                                              #(4)
xpysqr = xpy**2                                          #(5)
den = sigx + xpysqr # denominator                        #(6)
invden = 1.0 / den                                       #(7)
f = num * invden # done!                                 #(8)

有幾點(diǎn)需要注意:首先應(yīng)該將計(jì)算過的變量放入緩存瘦陈,為了后巷傳遞變量應(yīng)該把一些變量存儲(chǔ)辆飘,在實(shí)際中你想要結(jié)構(gòu)化這些變量,所以他們?cè)诤笙騻鞑ブ心軌蚩捎盟姨!A硗饽琳酰跋虻谋磉_(dá)式中用到x和y多次赛糟,所以當(dāng)我們使用后向傳播的時(shí)候應(yīng)該慎重使用+=而不是=疚沐,以在這些變量上積累梯度魄宏,而不是直接替換掉,這個(gè)符合多變量鏈?zhǔn)揭?guī)則台盯。

后向傳播流的模式

在這幅圖中首妖,add gate 會(huì)將梯度平等的傳遞給輸入節(jié)點(diǎn),無論前向的節(jié)點(diǎn)傳遞了什么值爷恳。
而max gate 規(guī)定了梯度傳遞的路線,他只會(huì)傳遞給特定的一個(gè)路線象踊。
multiply gate 會(huì)交換傳入的梯度温亲。

image.png

向量梯度

當(dāng)兩個(gè)向量相乘的時(shí)候,如何找到梯度是比較難的杯矩。

# forward pass
W = np.random.randn(5, 10)
X = np.random.randn(10, 3)
D = W.dot(X)

# now suppose we had the gradient on D from above in the circuit
dD = np.random.randn(*D.shape) # same shape as D
dW = dD.dot(X.T) #.T gives the transpose of the matrix
dX = W.T.dot(dD)

使用維度分析栈虚!請(qǐng)注意,您不需要記住dW和dX的表達(dá)式史隆,因?yàn)樗鼈內(nèi)菀赘鶕?jù)維度重新導(dǎo)出魂务。例如,我們知道權(quán)重dW上的梯度在計(jì)算之后必須與W的大小相同泌射,并且必須依賴于X和dD的矩陣乘法(如同時(shí)X粘姜,W都是單個(gè)數(shù)字的情況)而不是矩陣)∪劭幔總是有一種實(shí)現(xiàn)這一點(diǎn)的方法孤紧,以便維度得到解決。例如拒秘,X大小為[10×3]号显,dD大小為[5×3],所以如果我們想要dW和W具有[5×10]的形狀躺酒,那么實(shí)現(xiàn)這一點(diǎn)的唯一方法是使用dD.dot XT)押蚤,如上所示。

使用小的羹应,明確的例子揽碘。有些人可能會(huì)發(fā)現(xiàn)很難得出一些向量化表達(dá)式的漸變更新。我們的建議是明確地寫出一個(gè)最小的矢量化示例,導(dǎo)出紙上的漸變钾菊,然后將模式推廣到其有效的向量化形式帅矗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市煞烫,隨后出現(xiàn)的幾起案子浑此,更是在濱河造成了極大的恐慌,老刑警劉巖滞详,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凛俱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡料饥,警方通過查閱死者的電腦和手機(jī)蒲犬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岸啡,“玉大人原叮,你說我怎么就攤上這事⊙舱海” “怎么了奋隶?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)悦荒。 經(jīng)常有香客問我唯欣,道長(zhǎng),這世上最難降的妖魔是什么搬味? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任境氢,我火速辦了婚禮,結(jié)果婚禮上碰纬,老公的妹妹穿的比我還像新娘萍聊。我一直安慰自己,他們只是感情好悦析,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布脐区。 她就那樣靜靜地躺著,像睡著了一般她按。 火紅的嫁衣襯著肌膚如雪牛隅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天酌泰,我揣著相機(jī)與錄音媒佣,去河邊找鬼。 笑死陵刹,一個(gè)胖子當(dāng)著我的面吹牛默伍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼也糊,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼炼蹦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起狸剃,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤掐隐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后钞馁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虑省,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年僧凰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了探颈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡训措,死狀恐怖伪节,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绩鸣,我是刑警寧澤怀大,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站全闷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏萍启。R本人自食惡果不足惜总珠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望勘纯。 院中可真熱鬧局服,春花似錦、人聲如沸驳遵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽堤结。三九已至唆迁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間竞穷,已是汗流浹背唐责。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瘾带,地道東北人鼠哥。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親朴恳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子抄罕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 說明: 本系列文章翻譯斯坦福大學(xué)的課程:Convolutional Neural Networks for Vis...
    Warren_Liu閱讀 1,940評(píng)論 0 6
  • Course1:神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí),包括: [1] Week1:深度學(xué)習(xí)概述[2] Week2:神經(jīng)網(wǎng)絡(luò)基礎(chǔ)[3]...
    牛奶芝麻閱讀 2,236評(píng)論 4 9
  • Josh Davis, Ph.D. 神經(jīng)科學(xué)家教你5種有效策略于颖,使心智高效率表現(xiàn)呆贿,聰明完成當(dāng)日關(guān)鍵工作 適合的閱讀...
    Ingebaby閱讀 183評(píng)論 0 2
  • 透析記5.6 今日血濾。 十一點(diǎn)上機(jī)恍飘。上機(jī)稱重45.4公斤榨崩,脫水1.4公斤。流量210章母,血壓117/80母蛛。 透析過...
    小棕櫚閱讀 252評(píng)論 0 0
  • 特別不喜歡網(wǎng)上那些重復(fù)曬自己取得成功的人。他們乳怎,慣用的套路是給自己貼標(biāo)簽:斜杠青年彩郊、月入5萬、某公司市場(chǎng)總監(jiān)蚪缀,然后...
    725b30f7a6e1閱讀 104評(píng)論 0 0