解答と解説を表示
<h4>ReLU (Rectified Linear Unit) 関数の微分</h4>
<p>ReLU関数は、ディープラーニングにおいて最も広く用いられる活性化関数の一つです。その定義はシンプルです。</p>
<div class="formula">
$f(z) = \max(0, z) = \begin{cases} z & \text{if } z > 0 \\\\ 0 & \text{if } z \le 0 \end{cases}$
</div>
<p>この関数の勾配(微分値 \(\frac{df}{dz}\) は、バックプロパゲーションにおいて重要です。入力zの値によって場合分けして計算します。</p>
<ul>
<li><strong>\(z > 0\) の場合:</strong> この区間では \(f(z) = z\) です。\(z\) で微分すると、\(\frac{df}{dz} = 1\) となります。</li>
<li><strong>\(z < 0\) の場合:</strong> この区間では \(f(z) = 0\) です(定数)。定数を微分すると、\(\frac{df}{dz} = 0\) となります。</li>
<li><strong>\(z = 0\) の場合:</strong> 数学的には、この点では微分不可能です(グラフが折れ曲がっているため)。しかし、コンピュータでの実装上は、この点での勾配を 0 または 1 のどちらか(一般的には 0)として定義します。</li>
</ul>
<p>まとめると、ReLUの勾配は以下のようになります。</p>
<div class="formula">
$\frac{df}{dz} = \begin{cases} 1 & \text{if } z > 0 \\\\ 0 & \text{if } z \le 0 \end{cases}$
</div><h5>選択肢の評価</h5>
<ul>
<li>選択肢1: 誤り。\(z > 0\) なら勾配は <strong>1</strong> です。</li>
<li>選択肢2: 誤り。\(z < 0\) なら勾配は <strong>0</strong> です。</li>
<li><strong>選択肢3: 正しい。入力 \(z\) が負の場合 (\(z < 0\))、勾配は 0 です。</strong></li>
<li>選択肢4: 誤り。勾配は入力 \(z\) の符号によって変わります。</li>
</ul><div class="key-point">
<div class="key-point-title">ReLUの勾配の特徴と影響</div>
<ul>
<li><strong>計算効率:</strong> 勾配が 0 か 1 と非常にシンプルであるため、計算が高速です。</li>
<li><strong>勾配消失問題の緩和:</strong> 正の領域では勾配が 1 であり、シグモイド関数のように勾配が小さくならないため、勾配消失問題を緩和できます。</li>
<li><strong>Dying ReLU問題:</strong> 入力が負になると勾配が常に 0 になるため、一度活性化されなくなったニューロンが、その後まったく更新されなくなる「死んだ」状態になる可能性があります。</li>
</ul>
</div>