アルゴリズム編

最適化アルゴリズム、損失関数問題に関する計算問題

ReLU関数の勾配 レベル1

活性化関数ReLU(Rectified Linear Unit) \(f(z) = \max(0, z)\) について、その入力 \(z\) に対する勾配(微分値) \(\frac{df}{dz}\) の記述として正しいものを選択してください。

解説
解答と解説を表示
<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>
問題 1/3
カテゴリ一覧に戻る