Web教科書

活性化関数

活性化関数(アクティベーション・ファンクション)

解説:ニューロンの「やる気スイッチ」

活性化関数は、ニューロン(ノード)に入ってきた情報を、「次の層にどれくらいの強さで伝えるか」を決定する関数です。

人間の脳細胞(ニューロン)は、電気信号を受け取っても常に反応するわけではなく、ある一定以上の刺激が来たときだけ「発火(反応)」して信号を隣に伝えます。この「発火するかどうかの判断」や「信号の強弱の調整」を数式でモデル化したものが活性化関数です。

なぜ「非線形」な関数が必要なのか?

ここが最も重要なポイントです。もし、活性化関数を使わずに単なる「掛け算と足し算(線形変換)」だけで層を重ねたらどうなるでしょうか?

線形の罠(層を重ねる意味がなくなる)
「2倍する」という処理(線形)を2回重ねても、結局は「4倍する」という1回の処理と同じことになってしまいます。
つまり、活性化関数(非線形なカーブ)がないと、いくら層を深くしても複雑な表現(曲線的な境界線)が作れず、ディープラーニングの威力が出せないのです。

代表的な活性化関数と使い分け

現在は、場所(中間層か出力層か)によって使う関数がほぼ決まっています。

関数名 出力範囲 特徴・主な用途
ReLU関数
(ランプ関数)
0 〜 ∞ 【中間層の主役】
入力が0以下なら0、プラスならそのまま通す。「計算が速い」「勾配消失しにくい」ため、現在のディープラーニングで最も使われる。
シグモイド関数 0 〜 1 【二値分類の出力層】
滑らかなS字カーブ。かつては中間層でも使われたが、層を深くすると学習が進まなくなる「勾配消失問題」が起きやすいため、現在は主に出力層(確率表現)で使われる。
ソフトマックス関数 0 〜 1
(合計1.0)
【多クラス分類の出力層】
出力の合計が「100%(1.0)」になるように調整する。
例:「犬の確率80%、猫の確率20%」
tanh関数
(ハイパボリックタンジェント)
-1 〜 1 シグモイドに似ているが、0を中心に対称。「-1」まで出力できるのが特徴。RNNなどで使われることがある。

G検定対策

出題ポイント

  • 役割:「非線形性」を持たせることで、複雑なパターンを学習可能にすること。
  • ReLUの優位性:勾配消失問題(学習が止まる現象)に強く、計算コストが低いこと。
  • 出力層の選び方:
    • 回帰問題(数値予測)→ 恒等関数(そのまま出す)
    • 二値分類(Yes/No)→ シグモイド関数
    • 多クラス分類(AかBかCか)→ ソフトマックス関数

ひっかけ対策

  • × 線形関数でも層を増やせば表現力は上がる
    (解説)誤りです。線形関数の重ね合わせは、結局1つの線形関数と同じになります。これを打破するために活性化関数が必要です。
  • × すべての活性化関数は0〜1の範囲で出力する
    (解説)誤りです。ReLUは正の無限大までいきますし、tanhはマイナスの値(-1〜1)も取ります。
タイトルとURLをコピーしました