用語集に戻る
プログラミング基礎中級

逆伝播

一言で言うと

損失から勾配を計算する向き。

もう少し詳しく

一言で言うと

損失から勾配を計算する向き。

もう少し詳しく

ニューラルネットワークの学習において、損失関数の値を出力層から入力層へ向かって連鎖律(chain rule)を使って伝播させ、各層の重みに対する偏微分(勾配)を求める仕組みです。順伝播(forward pass)でデータを入力から出力へ流して損失を計算し、逆伝播(backward pass)でその損失を各重みの勾配に分解します。求めた勾配をもとに w ← w - η(∂L/∂w) という式で重みを更新することで、モデルが徐々に正解に近づいていきます。

逆伝播を正しく理解するには、連鎖律・勾配消失問題・自動微分(AutoDiff)との関係を合わせて押さえることが重要です。深い層になるほど勾配が指数的に小さくなる勾配消失が起きやすく、ReLU 活性化関数や残差接続(ResNet)はこの問題への対策として生まれました。現代のフレームワークは計算グラフを自動構築して逆伝播を実行するため、利用者は明示的に偏微分を手書きする必要がありません。

実務でどう使うか

  • モデル訓練フェーズ ── 損失を各重みの勾配に分解し、SGD・Adam などのオプティマイザに渡すために使われます

  • フレームワーク活用 ── PyTorch では loss.backward()、TensorFlow では GradientTape が逆伝播を自動実行します。スクラッチ実装する場合は連鎖律を手動で展開する必要があります

  • 業務応用: 業務自動化スクリプトや簡単なツールを作る際にも頻繁に登場します
  • 関連する章

    Ch193 で詳しく学べます。

    関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る