【かっせいかかんすう】
活性化関数 とは?
最終更新:
💡 値を変換して、表現の幅を広げる
ニューラルネットワークで値を変換する関数。非線形性を加える役割、ReLUやシグモイドの例、学習と出力の解釈を解説します。
📌 このページのポイント
- ニューラルネットワークで、計算した値を変換する関数
- 隠れ層へ非線形性を加え、複雑な関係を表せるようにする
- ReLU・シグモイド・tanh等、目的で種類を選ぶ
- 活性化関数だけで、学習の成功や予測の正しさは決まらない
活性化関数って、何をするの?
ニューラルネットワークで計算した値を、次に渡す値へ変換するよ。隠れ層では、非線形な変換を入れることが大切。入力と出力の複雑な関係を表せるようにするんだ。
ただ層を増やすだけでは、だめ?
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」 = 活性化の値を決める関数
💬 人工ニューラルネットワークの出力値を変換する関数です。「発火するか」のたとえで説明されますが、常にオン・オフの二値を返すものではありません。