Deep Learning(An MIT Press book) 6.5.7 - 6.5.8

Deep Learning(An MIT Press book) の要点メモシリーズ。

Chapter 6 Deep Feedforward Networks

6.5 Back-Propagation and Other Differentiation Algorithms

6.5.7 Example: Back-Propagation for MLP Training

  • 隠れ層が1つの MLP の計算グラフの例
    • 勾配の計算グラフは読むのも書くのも大変
      • 勾配を自動で計算できるのが back-propagation を使う利点の1つ
    • MLP の計算コストは行列の積が支配的
      • back-propagation 時は重みの行列が転置になるだけなのでコストは同じ
    • MLP の主なメモリコストは非線形関数の入力を持っておかないといけない部分
      • (例えば今回のように relu だと負の値が消えちゃうので、back-propagation で逆から辿った時に入力を復元できない?)

6.5.8 Complications

  • 実際の back-propagation の実装はこれまでの説明よりも複雑
    • operation が複数の tensor を返す場合がある
      • max とその index を返す場合
    • メモリ消費
      • tensor の足し合わせをするときに、個別に計算したものを足すより1つのバッファに乗せていくほうが効率的
    • データの型
      • 32bit or 64bit ?
    • 勾配が計算できない場合
      • undefined が望ましいのかどうか