活性化関数
Activation Function
ニューラルネットの各層で、入力を非線形に変換する関数。これによりNNは複雑なパターンを表現できるようになる。
活性化関数とは
活性化関数(Activation Function)は、ニューラルネットワークの各ノード(ニューロン)で、入力を非線形に変換して出力する関数です。NNが複雑なパターンを表現できるようになる鍵となる部品です。
もし活性化関数がなければ、何層重ねても単なる線形変換にしかならず、単純な問題しか解けなくなります。
なぜ必要か
- 非線形性の導入: 直線では表せない複雑な関係を学習できるようにする
- 表現力の確保: 多層化の効果を発揮させる
- 学習の安定化: 値の範囲を整え、学習が進みやすくする
「非線形化こそがディープラーニングの表現力の源**」と言えます。
代表的な活性化関数
- シグモイド: 値を0〜1に変換。古典的だが勾配消失しやすい
- tanh: 値を-1〜1に変換。シグモイドの改良版
- ReLU: 0以下は0、正の値はそのまま通す。現代ディープラーニングの定番
- Leaky ReLU / GELU: ReLUの改良版。Transformer系でよく使われる
- ソフトマックス: 出力層で確率分布を作るときに使う
現在の主流
中間層ではReLU系、分類の出力層ではソフトマックスが事実上の標準です。シンプルかつ学習が進みやすく、計算も軽いため広く採用されています。
活性化関数は地味な部品に見えますが、NNを"NNたらしめる"本質的な役割を担っています。
