Lec 7: Backpropagation

  • Backpropagation 是一種比較有效率的 gradient descent

Chain Rule

  • y=g(x),z=h(y)

    • dzdx=dzdydydx
  • x=g(s),y=h(s),z=k(x,y)

    • dzds=dxdszx+dydszy

Backpropagation

L(θ)=Nn=1Cn(θ) so that L(θ)w=Nn=1Cn(θ)w 所以現在只需要 focus 在如何計算某筆 training data 的 loss

  • Forward pass
    • compute zw for all params w
  • Backward pass
    • compute Cz for all activation function input z

Forward pass

zw 其實就是他的 input

Backward pass

Cz=azCa

  • 以 sigmoid 而言,a/z=σ(z)(1σ(z))

而根據 chain rule,C/a=z[l+1]Z[l+1]z[l+1]aCz[l+1]z[l+1]k/a=w[l+1]k

因此 Cz=azz[l+1]Z[l+1]w[l+1]kCz[l+1]k

  • a/z 其實就是該層 activation function 的微分 (在 z 值 的導數 σ(z),而 z 在 forward pass 時已經知道,因此這一項是常數)
  • C/z[l+1]k 就是下一層某個 neuron 的 C/z

所以要求某層的 C/z 就只要從最後一層算回來就好,故名 backward pass

Backpropagation - Summary

C/w=zw×Cz

只要是跟第 k 個 input 相連的 w 的 forward pass

  • zwk=a[l1]k
    • 就是跟著他的 input

backward pass

  • Cz=σ(z)z[l+1]kZ[l+1]w[l+1]kCz[l+1]k

results matching ""

    No results matching ""