解答と解説を表示
<h4>バックプロパゲーションと連鎖律 (シグモイド関数)</h4>
<p>損失 \(L\) の入力 \(z\) に関する勾配 \(\frac{\partial L}{\partial z}\) を求めるには、連鎖律を適用します。</p>
<div class="formula">
$\frac{\partial L}{\partial z} = \frac{\partial L}{\partial \sigma} \times \frac{d \sigma}{d z}$
</div>
<p>ここで、\(\frac{\partial L}{\partial \sigma}\) は上流から伝わってきた勾配、\(\frac{d \sigma}{d z}\) はシグモイド関数のローカルな勾配(微分値)です。</p><h5>ステップ1: ローカル勾配 (\(\frac{d \sigma}{d z}\)) の計算</h5>
<p>シグモイド関数 \(\sigma(z) = \frac{1}{1 + e^{-z}}\) の微分は、その出力値 \(\sigma(z)\) を使って簡単に計算できるという便利な性質があります。</p>
<div class="formula">
$\frac{d \sigma}{d z} = \sigma(z) (1 - \sigma(z))$
</div>
<p>問題文より、順伝播時の出力は \(\sigma(z=0.4) \approx 0.5987\) です。この値を使って、\(z=0.4\) における微分値を計算します。</p>
<div class="formula">
$\frac{d \sigma}{d z}\bigg|_{z=0.4} \approx 0.5987 \times (1 - 0.5987)
\approx 0.5987 \times 0.4013 \
\approx 0.240318..$
</div><h5>ステップ2: 連鎖律の適用</h5>
<p>上流からの勾配 \(\frac{\partial L}{\partial \sigma} = -1.2\) と、計算したローカル勾配 \(\frac{d \sigma}{d z} \approx 0.2403\) を用いて、\(\frac{\partial L}{\partial z}\) を計算します。</p>
<div class="formula">
$\frac{\partial L}{\partial z} = \frac{\partial L}{\partial \sigma} \times \frac{d \sigma}{d z} \
\approx -1.2 \times 0.2403 \
\approx -0.28836...$
</div><p>したがって、入力 \(z\) に関する損失 \(L\) の勾配を小数点以下4桁まで求めると、約 <strong>-0.2884</strong> です。</p><div class="key-point">
<div class="key-point-title">シグモイド関数の勾配の特徴</div>
<ul>
<li>シグモイド関数の微分値 \(\sigma(z)(1 - \sigma(z))\) は、\(z=0\) のとき最大値 0.25 をとり、\(|z|\) が大きくなるにつれて 0 に近づきます。</li>
<li>この性質により、バックプロパゲーションで層を遡るごとに勾配が小さくなりやすく、勾配消失問題を引き起こす一因となります。</li>
</ul>
</div>