1. 程式人生 > >深度學習筆記——理論與推導之Backpropagation(二)

深度學習筆記——理論與推導之Backpropagation(二)

Backpropagation(反向傳播):

背景——Cost Function與Gradient Descent

  1. Cost Function:
    這裡寫圖片描述
  2. Gradient Descent:
    這裡寫圖片描述

backpropagation是一種高效計算網路中gradient的方法

對權重wij求偏導

由於C的變化與z有關,z的變化與w有關,因此,需要分為如下兩部分求解:
這裡寫圖片描述

  • z對w求偏導:
    • z對w求偏導實際上就是對 z = wx+b求偏導,因此我們需要做的就是將x分為兩部分,一部分就是輸入層(input),另一部分就是隱藏層的輸入a:
      這裡寫圖片描述
  • C對z求偏導:
    如下圖所示,我們要把求偏導分為以下兩個問題:
    這裡寫圖片描述

    • 那麼我們先解決第一個問題,我們所求的這個值,實際上是輸出層中的一個element的值:
      這裡寫圖片描述
      可以看到,在輸出層中,y對z求偏導實際是就是a對z求偏導,而a對z求偏導,實際上就是activation function對z求導;而C對y求偏導實際上就是cost function對y求導。
      現在我們已經求出了輸出層中某個元素的值了,接下來就是擴充套件到整個vector上。由於它的第一項是activation function對z求導,第二項是cost function對y求導,因此可以寫成如下形式:
      這裡寫圖片描述
      注意:上面的element-wise multiplication指的不是矩陣乘法,而是:如,x = [[1,2],[3,4]],y = [[1,2],[3,4]],x·y = [[1,4],[9,16]]
    • 接下來我們來解決第二個問題,我們也是從一個元素入手:
      這裡寫圖片描述
      接下來進行計算:
      這裡寫圖片描述
      有了上面的公式,現在我們發現可以將這個公式看成一個新型的神經元。
      輸入的是這裡寫圖片描述乘上它們在l+1層的權重,接著將乘積通過一個常量(也就是activation function的導數)可以看做是一個放大器。
      這裡寫圖片描述
      因此我們可以得到下面的l層和l+1層的關係
      這裡寫圖片描述
      下面我們可以將反向傳輸和一般的神經網路進行對比:
      這裡寫圖片描述
      這裡寫圖片描述
  • 總結:
    這裡寫圖片描述