【かっせいかかんすう】

活性化関数 とは?

最終更新:
💡 値を変換して、表現の幅を広げる

ニューラルネットワークで値を変換する関数。非線形性を加える役割、ReLUやシグモイドの例、学習と出力の解釈を解説します。

📌 このページのポイント
活性化関数:ReLUで値を変換標準のReLU:出力 = max(0, 入力)入力出力0負の値は0へ正の値はそのまま−2 → 00 → 03 → 3「オン・オフ」だけの二値変換ではない
重みとバイアスで計算した値を変換して、次の計算へ渡す例。ほかの活性化関数では変換の仕方も異なります。
ひよこ ひよこ
活性化関数って、何をするの?
ペンギン先生 ペンギン先生
ニューラルネットワークで計算した値を、次に渡す値へ変換するよ。隠れ層では、非線形な変換を入れることが大切。入力と出力の複雑な関係を表せるようにするんだ。
ひよこ ひよこ
ただ層を増やすだけでは、だめ?
ペンギン先生 ペンギン先生
重みを掛けて足し、バイアスを加える変換だけを重ねたMLPなら、全体を一つの同じ種類の変換にまとめられるよ。非線形な活性化関数を途中に入れることで、その制約を超えるんだ。
ひよこ ひよこ
ReLUは、どんな変換?
ペンギン先生 ペンギン先生
標準のReLUは、0以下を0、正の値をそのまま返すよ。図では−2が0、0が0、3が3になる例を示している。0と1だけを返すスイッチではないんだ。
ひよこ ひよこ
シグモイドなら、確率が分かる?
ペンギン先生 ペンギン先生
値を0と1の間へ変換するよ。二値分類の出力などで確率として解釈するように使うけれど、関数を通すだけで正しい確率になるわけではない。データや学習、予測の評価も必要なんだ。
ひよこ ひよこ
どの関数を使っても、学習は同じ?
ペンギン先生 ペンギン先生
値の変わり方や傾きが違うので、学習にも影響するよ。ReLUは負の入力で傾きが0になる。シグモイドは入力の絶対値が大きいと傾きが小さくなる。層の役割とモデルに合わせて選ぶんだ。
もっと詳しく知りたい人へ

ReLUに一度負の値が入ったら、二度と学習しない?

その一回だけで永久に止まるわけではありません。その入力では傾きが0ですが、別の入力や重みの変化で正の側になる可能性があります。多くの入力で出力が0のままになり、学習しにくくなる状態とは分けて考えます。

出力層でも、いつもReLUを使う?

予測したい量や損失関数に合わせます。二値分類でシグモイド、多クラス分類でsoftmaxを使う例があります。softmaxは値の組を、合計1の分布へ変換します。数値をそのまま出す用途など、別の選択もあります。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「活性化関数」って出てきたら「ニューラルネットワークで、計算した値を変換する関数」と思えばだいたいOK!
📖 おまけ:英語の意味
「Activation Function」 = 活性化の値を決める関数
💬 人工ニューラルネットワークの出力値を変換する関数です。「発火するか」のたとえで説明されますが、常にオン・オフの二値を返すものではありません。

参考資料

← 用語集にもどる