見出し画像

ディープラーニング入門#4:代表的な活性化関数(シグモイド・ReLU・ソフトマックス など)


活性化関数とは

ディープラーニングにおける活性化関数とは、ニューラルネットワークの各層で計算された数値を「そのまま次に渡すか」「どの程度強く反応させるか」を決める仕組みです。もし活性化関数がなければ、どれだけ層を重ねても計算は単なる足し算と掛け算の組み合わせになり、複雑なパターンを学習できません。

活性化関数は、人間の脳の神経細胞が「一定以上の刺激で発火する」イメージに近く、入力が小さければ弱く、大きければ強く反応させます。これらを使うことで、画像認識や音声認識のような複雑な判断が可能になります。活性化関数にはさまざまな種類がありますが、ここではディープラーニングの基礎として押さえておきたい代表的なものを紹介します。

シグモイド関数

シグモイド関数は、出力を 0〜1の範囲 に収める活性化関数です。
出力を確率として解釈しやすいため、2値分類問題の出力層で標準的に使われます。
一方で、入力の絶対値が大きくなると勾配が非常に小さくなり、学習が進みにくくなる(勾配消失)という問題があります。そのため、現在では隠れ層で使われることは少なくなっています。

ReLU(Rectified Linear Unit)

ReLUは、現在もっとも広く使われている活性化関数です。
入力が正のときはそのまま出力し、負のときは0を返すという、非常にシンプルな仕組みを持っています。
ReLUの主な利点は、

  • 計算が高速

  • 勾配消失が起きにくい

  • 深いネットワークでも学習しやすい

といった点です。そのため、多くのディープラーニングモデルでは、隠れ層にReLU系の活性化関数が採用されています。ただし、入力が負の場合に常に0を出力するため、一部のニューロンが完全に機能しなくなる「Dying ReLU」という問題が発生することがあります。

ソフトマックス関数(Softmax)

ソフトマックス関数は、主に 多クラス分類問題の出力層で使われる活性化関数です。
複数の出力を同時に扱い、それぞれを 「確率の分布」として表現する役割を持ちます。
たとえば、画像認識で犬、猫、鳥、のいずれかを判定する場合、ソフトマックス関数を使うことで、

  • 犬である確率:70%

  • 猫である確率:20%

  • 鳥である確率:10%
    といった形で、各クラスに属する可能性を同時に出力できます。

ソフトマックス関数の特徴は、

  • 出力の合計が1になる

  • 最も確率の高いクラスを自然に選択できる
    という点にあります。この性質により、多クラス分類において標準的な選択肢となっています。

その他の活性化関数

ReLUを改良したものとして、

  • Leaky ReLU

  • ELU

  • Swish
    なども提案されています。これらは、ReLUで起こりやすい「一部のニューロンが学習しなくなる問題」を緩和するために使われます。

このように、

  • 隠れ層では ReLU 系

  • 出力層ではタスクに応じて シグモイド関数 や ソフトマックス関数

と使い分けることが、ディープラーニングでは一般的です。

代表的な活性化関数の主な用途

活性化関数は目立たない存在ですが、モデルの学習効率や性能を大きく左右する重要な要素といえます。

ここまでお読み頂きありがとうございます。
AIって何? AIの歴史から最新情報まで、わかりやすく説明した、
これまでの記事(マガジン)の一覧をプロフィールページにまとめています。
AIの全体像をつかむヒントになると思いますので、ぜひご覧ください。

<前へ
ディープラーニング入門#3|ディープラーニングが高い性能を発揮する理由


次へ>
ディープラーニング入門#5|誤差関数(損失関数)


免責事項
・本記事は生成AI(ChatGPT等)を活用して執筆しています。内容の正確性・最新性には十分配慮しておりますが、誤りや古い情報が含まれる場合があります。ご利用・ご判断はご自身の責任でお願いいたします。万一、著作権等に問題がある場合はご連絡ください。

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