見出し画像

【第67回】AIはどこでスイッチを入れる?活性化関数(Sigmoid, ReLU等)とは

ニューラルネットワークは、ただ足し算するだけでは複雑な判断ができません。
そこで重要になるのが、非線形性を加える活性化関数です。
この記事では、SigmoidやReLUなどの役割と違いをやさしく解説します。


1. 読み方

かっせいかかんすう (Activation Function)


2. 意味(定義)

「ニューロンに届いた信号の合計値を、次の層へ伝えるための『適切な値』へと変換する関数」のことです。

  • 非線形性の導入: 単なる足し算の結果を、ぐにゃりと曲げたり、一定の値で切り捨てたりすることで、「複雑な境界線(曲線)」を描けるようにします。

  • 信号の制御: 入力された情報が「重要か(次へ送る)」「不要か(無視する)」というスイッチのような役割を果たします。

【自動ドアのセンサー感度調整の例え】
自動ドアには、動くものを検知するセンサーがあります。

  1. 入力信号: センサーが捉えた「動きの大きさ」です。

  2. 活性化関数(感度の設定):

    • パターンA (Sigmoid風): 動きが小さいときは「0」、大きくなると徐々に「0.5」「0.8」と反応し、動きが猛烈に大きいと「1」になる。滑らかな反応です。

    • パターンB (ReLU風): 動きが「一定(しきい値)」を超えていないときは、全く反応しない(「0」)。でも、一度超えたら、動きの大きさに比例してガツンと反応する。

  3. 出力: この変換された「反応度」が、ドアを開けるモーターへの命令として伝わります。

この「変換のルール」こそが活性化関数です。


3. 歴史・背景

初期のニューラルネットワークでは、シグモイド関数 (Sigmoid function) が主流でした。これは、どんな入力に対しても「0から1の間」に値を収めてくれる便利な関数でした。

しかし、層を深く(ディープに)していくと、「勾配消失問題(後述)」という致命的な問題が発生しました。層が深くなるにつれて、学習に必要な信号がどんどん小さくなって消えてしまう現象です。

この問題を解決するために登場したのが ReLU (Rectified Linear Unit) 関数 です。これは「マイナスの値は全部ゼロにする」という非常にシンプルなルールですが、これがディープラーニングの爆発的な進化(深層化)を可能にしました。


4. 比較・対比(似た用語との違い)

ここが試験で狙われる「整理」ポイントです!

  • Sigmoid(シグモイド)関数 ★重要

    • 特徴: 出力を「0 〜 1」の範囲に押し込める。

    • 弱点: 層が深くなると、勾配(学習のための信号)がどんどん小さくなって消えてしまう(勾配消失問題)。

  • ReLU(レリュ/Rectified Linear Unit)関数 ★最重要

    • 特徴: 入力が0以下のときは「0」、0より大きいときは「入力値をそのまま」出す。

    • 利点: 計算が非常に速い。また、勾配が消えにくいため、ディープラーニングの主流となっている。

  • tanh(ハイパボリックタンジェント)関数 ★重要

    • 特徴: 出力を「-1 〜 1」の範囲に押し込める。シグモイド関数を改良したもので、中心が0なので学習が進みやすい。


5. 活用シーン(どんな問題に使うか)

  • 中間層(隠れ層): 現在の主流は ReLU です。複雑な特徴を抽出するために使われます。

  • 出力層(最終的な答え):

    • 「これは猫か、犬か」という分類 → Softmax(ソフトマックス)関数(各クラスの確率: 猫10%、犬90%、合計100%として出力)。

    • 「明日の気温は何度か」という回帰 → 特になし(線形な出力)。


6. G検定での出題傾向

G検定では、以下のポイントが狙われます!

  1. 勾配消失問題 (Vanishing Gradient Problem) ★超頻出

    • 「シグモイド関数を使いすぎると、層が深くなったときに学習が進まなくなる現象」という文脈。

  2. ReLU関数の利点: 「計算が高速」「勾配消失を防ぎやすい」というキーワード。

  3. Softmax(ソフトマックス)関数の役割: 「出力層で、各クラスの確率(合計が1になるように)を算出するために使われる」という点。

  4. 関数ごとの出力範囲の違い: (Sigmoid: 0 〜 1、tanh: -1 〜 1) という知識。


7. G検定の例題

【問題1:勾配消失問題と活性化関数】

ディープラーニングにおいて、層を深くしていくにつれて学習が困難になる「勾配消失問題」を引き起こしやすい活性化関数はどれですか?

  • A. ReLU関数

  • B. Sigmoid関数

  • C. Leaky ReLU関数

  • D. 恒等関数 (Identity function)

【問題2:Softmax関数の用途】

多クラス分類(例:画像が「犬」「猫」「鳥」のどれであるかを判定する)において、出力層でよく用いられる、各クラスの確率の合計が1になるように変換する活性化関数はどれですか?

  • A. Sigmoid関数

  • B. ReLU関数

  • C. Softmax関数

  • D. tanh関数


8. 例題の回答と解説

【問題1 の回答】

正解:B

【解説】 シグモイド関数は、入力が大きすぎたり小さすぎたりすると、出力の変化(傾き)がほぼゼロになってしまいます。これを層の数だけ掛け合わせていくと、後ろの層まで「学習のための信号」が届かなくなってしまいます。これが勾配消失問題です。ReLUはこの問題を克服するために広く使われています。

【問題2 の回答】

正解:C

【解説】 Softmax(ソフトマックス)関数は、複数の出力値を「確率」として解釈できるように変換する関数です。すべてのクラスの確率を合計すると必ず 1 (100%) になるという性質があり、分類問題の最終ステップにおいて必須となります。A は二値分類、B は中間層、D は -1〜1 の範囲への変換に使われます。


【第68回】AIはズレをどう数字で見る?損失関数(MSE, 交差エントロピー)とは

中高生でも合格できる!G検定やさしい学習ロードマップへ戻る

いいなと思ったら応援しよう!