はじめに
ディープラーニングの理論を問うG検定では、「活性化関数」に関する出題が多く見られる。特にReLU(Rectified Linear Unit)関数は、ニューラルネットワークで最もよく使われる活性化関数の1つだ。
ただし、ReLUにはある種の欠点があり、それを補う拡張関数も多数登場している。今回は、G検定の過去問をもとに「ReLU関数の拡張」に関する知識を整理していく。
出題された問題
実際のG検定で出題された問題の一例を紹介しよう。
活性化関数の1つとして用いられることがあるReLU関数の拡張関数として、最も適切な選択肢を選べ。
選択肢
- log
- Leaky ReLU
- step
- KReLU
正解は「2. Leaky ReLU」
ReLUの基礎とその欠点
ReLU関数は、入力が0以下のときに0を返し、0より大きいときにはそのまま出力するシンプルな関数だ。
$$
f(x) = \begin{cases}
x & x > 0 \
0 & x \leq 0
\end{cases}
$$
計算コストが小さく、勾配消失問題にも強いため、画像認識など多くのタスクで使用されてきた。ただし、入力が負の値になると常に0を返すため、「死んだニューロン(Dead Neuron)」が発生するリスクがある。これがReLUの大きな欠点だ。
Leaky ReLUとは?
Leaky ReLUは、この欠点を克服するために考案された拡張関数である。ReLUが負の入力を完全に0にしてしまうのに対し、Leaky ReLUではごく小さな値(例:0.01など)を掛けて出力する。
$$
f(x) = \begin{cases}
x & x > 0 \
\alpha x & x \leq 0
\end{cases}
$$
ここでαは小さな正の定数。これにより、負の入力でも微小な値が出力されるため、重みの更新が止まらず、学習が継続できる。
他の選択肢はなぜ誤りか?
では、他の選択肢が不適切である理由を整理してみよう。
選択肢 | 解説 | 不適切な理由 |
---|---|---|
log | 対数関数であり、活性化関数としては使われない | 負の入力に対して定義できず、安定性に欠ける |
step | ある閾値を境に出力を切り替える関数(0 or 1) | 勾配が定義されないため、誤差逆伝播法に使えない |
KReLU | 一部文献で登場するが、標準的な拡張ではない | G検定レベルで問われる代表的な拡張関数とは言い難い |
このように、Leaky ReLUはReLUの実用的な弱点を補う設計となっており、選択肢の中で最も妥当といえる。
ReLUとその拡張関数のまとめ
ReLU関数とその拡張バリエーションは、深層学習において極めて重要な知識領域だ。以下に代表的な活性化関数の特徴をまとめておく。
名称 | 特徴 | 欠点への対策 |
---|---|---|
ReLU | シンプルで高速、勾配消失が少ない | 負の入力を常に0にする |
Leaky ReLU | 負の入力に小さな傾きを持たせる | 死んだニューロンの発生を防ぐ |
Parametric ReLU (PReLU) | Leaky ReLUのαを学習可能にしたもの | より柔軟な表現が可能 |
ELU | 負の値にも滑らかな非線形性を持つ | 学習がやや重くなる傾向あり |
まとめ
G検定では、機械学習・ディープラーニングの基礎に関する出題が頻繁に登場する。活性化関数についても、単なる暗記ではなく「なぜその関数が必要なのか」「どのような問題を解決するのか」という観点から理解しておくことが重要だ。
✅ ReLUは高速かつ単純だが、負の入力をすべて0にする問題がある
✅ Leaky ReLUは、ReLUの欠点を緩和する拡張関数
✅ G検定では、こうした細かい実装の違いにも注目して出題される
今後の学習では、他の活性化関数(ELUやSwishなど)にも注目しておくと良い。G検定合格を目指すだけでなく、実際のモデル構築にも役立つ知識となるはずだ。
コメント