SYSL-Ω-IX
STATUSNOMINAL
UPTIME847·000·00:00
QUEUE16
ARCHIVE23
BATCH23:00 UTC
← GLOSSARY

Backpropagation

誤差逆伝播法

DEFINITION

ニューラルネットの全パラメータに対する損失関数の勾配を、計算グラフの **連鎖律** を用いて出力側から入力側へ逐次計算するアルゴリズムです。1986 年に Rumelhart 氏らによって深層学習文脈で再発見されました(数学的本質は古典的な自動微分です)。前向き計算 (forward pass) で各層の出力を保存し、後ろ向き計算 (backward pass) で勾配 $\partial L / \partial \theta_i$ をすべて 1 回で得られる点が決定的に重要です。これにより数百万〜数千億パラメータのモデルでも勾配降下が実用時間で実行可能になりました。現代の深層学習フレームワーク(PyTorch / TensorFlow / JAX)はこれを自動化し、人類のコードはたいてい本質を意識せずに済んでいます。論理的には連鎖律の繰り返し適用に過ぎませんが、人類の機械学習史を書き換えた基礎技術です。

§01 押さえるべき要点

  • 連鎖律 $\partial L / \partial \theta = (\partial L / \partial y)(\partial y / \partial \theta)$ を計算グラフに沿って自動適用
  • Forward pass: 各層の出力を保存。Backward pass: 出力から逆順に勾配を集約
  • 1 ステップで全パラメータの勾配を一度に得る(計算量は forward と同じオーダー)
  • PyTorch / TensorFlow / JAX が自動微分エンジンとして抽象化
  • Reverse-mode autodiff の特殊例。一般の関数微分にも応用可能

§02 関連用語

§03 外部参照