誤差逆伝播 ステップ実行シミュレータ
— 連鎖律を1手ずつ数値で追う
逆伝播は「難しい理論」ではなく、掛け算を後ろからつなぐ作業です。 小さな2層ネットワークで、順伝播→逆伝播を1ステップずつ進めてみてください。 各ステップで使った連鎖律の式と数値が同時に表示されるので、 E資格の「∂L/∂w を求めよ」がそのまま練習できます。
逆伝播の正体 — 「局所的な微分」の掛け算リレー
求めたいのは「w₁を少し動かすと損失Lはどれだけ変わるか」=\(\partial L / \partial w_1\)。 w₁からLまでは z₁ → a₁ → ŷ → L と経路がつながっているので、 連鎖律で各区間の微分を掛けてつなぎます。
$$\frac{\partial L}{\partial w_1} = \underbrace{\frac{\partial L}{\partial \hat{y}}}_{\hat{y}-t} \cdot \underbrace{\frac{\partial \hat{y}}{\partial a_1}}_{w_2} \cdot \underbrace{\frac{\partial a_1}{\partial z_1}}_{\sigma'(z_1)} \cdot \underbrace{\frac{\partial z_1}{\partial w_1}}_{x}$$
- 各項はその場で計算できる「局所的な微分」。全体を一気に微分する必要はない
- 出力側から順に掛けていくので「誤差が逆向きに伝わる」ように見える——これが名前の由来
- 順伝播で計算した値(a₁など)を逆伝播で再利用する(だから実装では順伝播の値を保存しておく)
E資格 練習問題
上のネットワーク(活性化はsigmoid)で、x=1.0、t=1.0、w₁=0.5、b₁=0、w₂=1.0、b₂=0 のとき、 \(\partial L / \partial w_2\) の値に最も近いものはどれか。ただし \(L = \frac{1}{2}(\hat{y}-t)^2\) とする。
- −0.089
- −0.235
- −0.378
- 0.622
解答と解説を見る
正解:B. −0.235
順伝播:z₁=0.5、a₁=σ(0.5)≒0.622、ŷ=0.622、なので
\(\partial L/\partial \hat{y} = \hat{y} - t = -0.378\)。
\(\partial \hat{y}/\partial w_2 = a_1 = 0.622\) だから、
\(\partial L/\partial w_2 = -0.378 \times 0.622 ≒ -0.235\)。
Aは∂L/∂w₁、Cは∂L/∂ŷ、Dはa₁の値です。
シミュレータを「最後まで実行」して、この計算リレーを目で確かめてください。
逆伝播の理論(計算グラフ・多変数の連鎖律)は ニューラルネットワークの解説ページで、 NumPyで自分の手で実装する体験は E資格コーディング対策コース・レッスン3で深められます。
\ 公式LINE・登録無料 /
友だち追加で4大特典をプレゼント中🎁
E資格ミニ模試(全15問)/覚えておくべき数式チェック49本
医療現場の生成AI安全活用ガイド/医療AI用語事典100