深度學習與電腦視覺系列(5)_反向傳播與它的直觀理解

來源:互聯網
上載者:User

作者:寒小陽
時間:2015年12月。
出處:http://blog.csdn.net/han_xiaoyang/article/details/50321873
聲明:著作權,轉載請聯絡作者並註明出處 1. 引言

其實一開始要講這部分內容,我是拒絕的,原因是我覺得有一種寫高數課總結的感覺。而一般直觀上理解反向傳播演算法就是求導的一個鏈式法則而已。但是偏偏理解這部分和其中的細節對於神經網路的設計和調整最佳化又是有用的,所以硬著頭皮寫寫吧。

問題描述與動機:

大家都知道的,其實我們就是在給定的映像像素向量x和對應的函數 f(x) f(x),然後我們希望能夠計算 f f在 x x上的梯度( ∇f(x) \nabla f(x))

我們之所以想解決這個問題,是因為在神經網路中, f f對應損失函數 L L,而輸入 x x則對應訓練樣本資料和神經網路的權重 W W。舉一個特例,損失函數可以是SVM loss function,而輸入則對應樣本資料 (xi,yi),i=1…N (x_i,y_i),i=1 \ldots N和權重 W W以及位移項 b b。需要注意的一點是,在我們的情境下,通常我們認為訓練資料是給定的,而權重是我們可以控制的變數。因此我們為了更新權重的等參數,使得損失函數值最小,我們通常是計算 f f對參數 W,b W,b的梯度。不過我們計算其在 xi x_i上的梯度有時候也是有用的,比如如果我們想做可視化以及瞭解神經網路在『做什麼』的時候。 2.高數梯度/偏導基礎

好了,現在開始複習高數課了,從最簡單的例子開始,假如 f(x,y)=xy f(x,y)=xy,那我們可以求這個函數對 x x和 y y的偏導,如下:
f(x,y)=xy→∂f∂x=y∂f∂y=x f(x,y) = x y \hspace{0.5in} \rightarrow \hspace{0.5in} \frac{\partial f}{\partial x} = y \hspace{0.5in} \frac{\partial f}{\partial y} = x

2.1 解釋

我們知道偏導數實際表示的含義:一個函數在給定變數所在維度,當前點附近的一個變動率。也就是:
df(x)dx=

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.