活性化関数 - ReLU・Sigmoid・Softmax

ニューラルネットに非線形性を加える活性化関数の種類と使い分けを学びます。

編集・検証: AIパスポートスタディ編集部 公式情報: GUGA 生成AIパスポート公式ページ 制作・検証方針

今日は先生が職員会議で不在。ITクラブの3人だけで、活性化関数について予習します。リーダー役はジャスミン、まとめ役はつむぎ、ボケ役はましろ。先生が戻ったときに胸を張れるよう、頑張りましょう。先生不在だからこそ、自分たちで考える力が育つ回です。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

よーし、今日は先生いないし、あたしたちだけで活性化関数を攻略するよ! つむぎ、頼んだ!

深見 つむぎ(普段) 深見 つむぎ

いきなり丸投げ……まあいいわ。
活性化関数は、ニューロンが受け取った入力から、出力をどう決めるかを決める関数のこと。
ここに非線形性を入れることで、ネットワークが複雑な問題を解けるようになるの。

戸倉 ジャスミン(あせる) 戸倉 ジャスミン

非線形性? ほんと難しい言葉ばっかだね……。

深見 つむぎ(普段) 深見 つむぎ

直線じゃ表現できないグニャッとした関係性のこと、と理解してOK。
活性化関数がないと、何層重ねても結局『大きな1層』と同じ働きしかできないのよ。
数学的には、線形変換を合成してもまた線形変換、ってだけの話ね。

雪村 ましろ(しょんぼり) 雪村 ましろ

ふぇぇ、それはもったいないですぅ……。
せっかく深くしたのにぃ。

深見 つむぎ(普段) 深見 つむぎ

代表的なのは3つ。
1つ目の活性化関数の筆頭『ReLU』は、入力が0以下なら0、0より大きければそのまま出力する関数。
計算がものすごく速くて、勾配消失問題も起きにくいので、今の深層学習の中間層で最も広く使われているわ。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

へー、シンプルじゃん! で、残り2つは?

深見 つむぎ(普段) 深見 つむぎ

『Sigmoid』は、どんな入力でも出力を0〜1に押し込める S字型の関数。
確率として解釈しやすいから、2クラス分類の出力層で使われる。
『Softmax』は、複数クラスの出力を合計1の確率分布に変換する関数で、多クラス分類の出力層で定番ね。

雪村 ましろ(笑顔) 雪村 ましろ

シグモイドはギューっと押し込む感じで、ソフトマックスはみんなで合計100%になるように調整する感じ……和菓子の餡子を均等に包むみたいですぅ!

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

ましろ、その例えいいじゃん! 和菓子屋の娘の例えってやっぱ強いね!

深見 つむぎ(笑顔) 深見 つむぎ

つまり使い分けのポイントは、中間層はReLU、2値分類の出力はSigmoid、多値分類の出力はSoftmax。
これを覚えれば大丈夫。

戸倉 ジャスミン(普段) 戸倉 ジャスミン

他にもあんの?

深見 つむぎ(普段) 深見 つむぎ

あるわよ。
ReLUの亜種で負の領域にも微小な勾配を残す『Leaky ReLU』、負の傾きを学習可能にした『PReLU』、滑らかさを重視した『GELU』や『Swish』など。
Transformer系モデルではGELUが定番。
歴史的にはSigmoid→tanh→ReLU→GELUと進化してきていて、ReLUには入力が常に負だと出力が0のまま止まる『死んだReLU』という注意点もあるわ。
Softmaxも大きな値でオーバーフローしやすいから実装ではmaxを引く工夫が定番ね。

雪村 ましろ(びっくり) 雪村 ましろ

ふぇぇ、道具も時代とともに変わっていくんですねぇ。

戸倉 ジャスミン(笑い) 戸倉 ジャスミン

よーし、先生に『つむぎがまとめました!』って報告しよう!

確認クイズ

多クラス分類問題の出力層に最もよく使われる活性化関数はどれか?

  1. ReLU
  2. Sigmoid
  3. Softmax
  4. tanh
こたえを見る

正解: 3. Softmax

Softmaxは入力ベクトルを確率分布 (各要素が0〜1で合計が1) に変換するため、多クラス分類の出力層で広く使われます。ReLUは中間層向け、Sigmoidは2値分類出力向けと使い分けます。

🔖 この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。