解答と解説を表示
<h4>バックプロパゲーションと連鎖律 (加算ノード)</h4>
<p>バックプロパゲーションでは、連鎖律を用いて勾配を出力側から入力側へと伝播させます。入力 \(x\) に関する損失 \(L\) の勾配 \(\frac{\partial L}{\partial x}\) を計算する式は以下の通りです。</p>
<div class="formula">
$ \frac{\partial L}{\partial x} = \frac{\partial L}{\partial z} \times \frac{\partial z}{\partial x}$
</div>
<p>ここで、\(\frac{\partial L}{\partial z}\) は上流から伝わってきた勾配、\(\frac{\partial z}{\partial x}\) は加算ノード \(z = x + y\) のローカルな勾配(\(z\) の \(x\) に関する偏微分)です。</p><h5>ローカル勾配 (\(\frac{\partial z}{\partial x}\)) の計算</h5>
<p>関数 \(z = x + y\) を \(x\) で偏微分します。このとき、\(y\) は定数として扱います。</p>
<div class="formula">
$\frac{\partial z}{\partial x} = \frac{\partial}{\partial x}(x + y) = \frac{\partial}{\partial x}(x) + \frac{\partial}{\partial x}(y) = 1 + 0 = 1$
</div>
<p>(同様に、\(y\) に関する偏微分 \(\frac{\partial z}{\partial y}\) も 1 となります。)</p><h5>連鎖律の適用</h5>
<p>計算したローカル勾配 \(\frac{\partial z}{\partial x} = 1\) を連鎖律の式に代入します。</p>
<div class="formula">
$\frac{\partial L}{\partial x} = \frac{\partial L}{\partial z} \times \frac{\partial z}{\partial x} = \frac{\partial L}{\partial z} \times 1$
</div>
<p>したがって、下流に伝わる勾配 \(\frac{\partial L}{\partial x}\) は、上流からの勾配 \(\frac{\partial L}{\partial z}\) に 1 を掛けたもの、つまり \(\frac{\partial L}{\partial z}\) そのものになります。</p>
<p>よって、正しい選択肢は3番目です。</p><div class="key-point">
<div class="key-point-title">加算ノードのバックプロパゲーション</div>
<p>加算ノード(\(z = x + y\)のバックプロパゲーションでは、上流から伝わってきた勾配(\(\frac{\partial L}{\partial z}\)は、そのまま変化せずに下流の各入力(\(x\) と \(y\))に分配(コピー)されます。</p>
<ul>
<li>\(\frac{\partial L}{\partial x} = \frac{\partial L}{\partial z} \times 1\)</li>
<li>\(\frac{\partial L}{\partial y} = \frac{\partial L}{\partial z} \times 1\)</li>
</ul>
<p>これは、入力の微小な変化が出力にそのまま(係数1で)影響することに対応しています。</p>
</div>