活性化関数とは

活性化関数(Activation Function)は、ニューラルネットワークの各層で計算された重み付き和(総入力)に対して、非線形な変換を行う関数です。この関数は、ニューロンの出力を決定し、ネットワークが非線形関数を学習できるようにします。活性化関数は、ネットワークの表現力を高め、複雑な関数を近似できるようにします。

代表的な活性化関数には以下のようなものがあります:

  1. シグモイド関数(Sigmoid Function): この関数は、入力を0から1の間にスケーリングします。主に2クラス分類の出力層で使用されましたが、勾配消失の問題があり、最近では他の関数に置き換えられることが一般的です。

  2. ハイパボリックタンジェント関数(Hyperbolic Tangent Function、Tanh): シグモイド関数と同様に、入力を-1から1の間にスケーリングします。勾配消失の問題はシグモイド関数よりも少ないですが、それでも存在します。

  3. ReLU関数(Rectified Linear Unit): これは現在最も広く使用されている活性化関数の一つで、負の値では0に、正の値ではそのまま出力します。勾配消失の問題が少なく、計算効率も高いため、深層学習において主流となっています。

  4. Leaky ReLU関数: ReLUの改良版で、負の値に対して小さな傾きを持ちます。これにより、ReLUが0になるときに発生する「死んだニューロン」の問題を緩和します。

  5. ソフトマックス関数(Softmax Function): 通常、分類問題の出力層で使用されます。入力値を確率分布に変換し、各クラスに属する確率を得ることができます。

これらの活性化関数は、ニューラルネットワークの設計やタスクに応じて適切に選択されます。

未分類

Posted by ぼっち