誤差逆伝播

計算グラフを勾配が逆流する様子を見ます。L = (y − t)²y = σ(w·x + b) の各ノードに連鎖律で勾配が伝わります。

1.5
0.8
-0.5
1.00
順伝播(値が前進) 逆伝播(勾配が逆流) いま点灯中のノード
出力 y = σ(z)
損失 L = (y−t)²
∂L/∂w
∂L/∂b
∂L/∂x
計算グラフ(左→右が順伝播、右→左が逆伝播)
ニューラルネットの学習では、まず入力から出力へ計算が流れ(順伝播)、損失 L を求めます。 そのあと、各パラメータが損失をどれだけ動かすか(勾配 ∂L/∂w など)を、 出力側から入力側へ向かって計算します。これが誤差逆伝播(バックプロパゲーション)です。
各エッジには局所勾配(そのノードが1つ前のノードをどう変えるか)が貼られていて、 勾配は「上流から来た勾配 × 局所勾配」として掛け算で逆流します。これが連鎖律です。
スライダーで x・w・b・t を変えて順伝播の値を更新し、「逆伝播スタート」で勾配が右から左へ流れる様子を見ましょう。

いま何が起きている?

ここがポイント