順伝播
入力から出力へ、層を順に計算していく過程。
やっていること#
各層で
この繰り返し。行列積と要素ごとの関数適用だけなので、 GPU による並列化が効く。
計算量#
層 の重みが なら、その層の計算は 。 バッチサイズ なら 倍。
実際には行列積がほとんどを占めるので、 GPU の 行列演算ユニットの性能がそのまま学習速度になる。
中間値を保持する#
学習時は、逆伝播で 各層の と が必要になる。 そのため順伝播の中間結果をメモリに保持しなければならない。
これが大規模モデルの学習で GPU メモリが不足する主因。 勾配チェックポインティング(一部を捨てて再計算する)で メモリと計算時間を交換する手法がある。
参考文献#
- Ian Goodfellow, Yoshua Bengio, Aaron Courville. Deep Learning. MIT Press, 2016.(全文公開) https://www.deeplearningbook.org/
- Aston Zhang et al. Dive into Deep Learning. Cambridge University Press, 2023.(全文公開) https://d2l.ai/