活性化関数 (G検定)

活性化関数

1. 定義と概要

活性化関数とは、ニューロン(脳の神経細胞を模した、入力を受け取って計算するネットワークの最小単位)が受け取った入力の重み付き総和(それぞれの入力に重要度をかけて足し合わせた値)を、次の層に渡す出力値へと変換する関数です。多くの場合、非線形関数(出力が入力に比例せず、グラフが直線にならない関数)が用いられます。

代表例は、ステップ関数、シグモイド関数、tanh関数、ReLU関数、ソフトマックス関数の5つです。活性化関数に線形関数だけを使うと、層をいくつ重ねても数学的には単層のネットワークと等価になり、多層化する意味がなくなります。非線形性を持たせることで、層を重ねるほど複雑な表現を学習できるようになります。

初期の単純パーセプトロン(初期のニューラルネットワークの原型となったシンプルなモデル)ではステップ関数が使われていました。その後、誤差逆伝播法(バックプロパゲーション。出力側の誤差を逆方向に伝えながら各層の重みを調整する学習手法)が普及して以降は、微分(関数の傾き、つまり値がどれだけ変化するかを求める計算)が可能なシグモイド関数が広く使われるようになったという経緯があります。

2. 試験対策ポイント

G検定でまず重要な論点になるのは、活性化関数に非線形関数が使われる理由です。層をいくつ重ねても線形関数だけでは単層のネットワークと数学的に同じ働きになってしまうため、非線形性を持たせることで初めて多層化の意味が生まれるという点が柱になります。

中間層(入力層と出力層の間にあり、計算を担う層)で使われる各関数の特徴も、あわせて整理しておきたいところです。出力の形と性質を並べると、違いがつかみやすくなります。

関数 出力の形 主な特徴
ステップ関数 0か1の二値 微分ができず、誤差逆伝播に使えない
シグモイド関数 0から1のなめらかな曲線 微分が可能
tanh関数 -1から1 出力が0を中心とする点がシグモイド関数との違い
ReLU関数 0以上はそのまま出力、0未満は0 計算が単純

誤差逆伝播法は各層の重みを微分値に基づいて調整する仕組みのため、微分できない活性化関数はこの学習方法と相性が悪いという性質があります。ステップ関数が初期のモデルにとどまり、微分できるシグモイド関数へ置き換わっていった背景も、この点にあります。

勾配消失問題(層を重ねるほど誤差の伝わり方が小さくなり、学習がほとんど進まなくなる現象)との関係も、試験対策として重要なテーマです。シグモイド関数は微分値の最大が0.25と小さく、誤差逆伝播で層をさかのぼるたびにこの値が掛け合わされるため、深い層ほど勾配がほぼゼロに近づきます。

中間層をシグモイド関数だけで構成すると、入力に近い層ほど誤差が伝わりにくくなり、学習がほとんど進まなくなるという問題が起こります。これに対してReLU関数は、正の入力に対して微分値が常に1であるため勾配が縮小しにくく、現在の中間層で広く使われています。

出力層(ネットワークの最後にあり、最終的な結果を出す層)はタスクに応じて使い分けられるという対応関係も、あわせて押さえておきたいポイントです。

タスク 出力層で使う活性化関数
回帰問題 恒等関数(入力をそのまま出力する関数)
二値分類 シグモイド関数
多クラス分類 ソフトマックス関数

ソフトマックス関数は出力の総和が1になるよう正規化するため、結果を各カテゴリに属する確率として扱えます。問題設定の違いがそのまま出力層の関数の違いに対応するので、3つをセットで覚えておくと迷いにくくなります。

3. 関連概念との比較・相違点

ステップ関数との最大の違いは、微分可能かどうかという点にあります。ステップ関数は出力が0か1のみで、微分ができないため誤差逆伝播に使えません。一方でシグモイド関数はなめらかな連続値を出力し、微分が可能です。

この違いが、初期の単純パーセプトロンから誤差逆伝播法を使う多層ネットワークへ移行する過程で、活性化関数がステップ関数からシグモイド関数へと置き換わった背景になっています。

tanh関数との最大の違いは、出力範囲と勾配消失の起こりやすさです。シグモイド関数は出力が0から1で微分値の最大は0.25ですが、tanh関数は出力が-1から1で出力が0を中心とし、微分値の最大は1です。この差から、tanh関数はシグモイド関数よりも深い層で使いやすい活性化関数として扱われます。

ReLU関数と比較したときに最も違うのは、深い層での勾配消失への強さです。シグモイド関数やtanh関数は微分値が1未満で、層を重ねるほど勾配が縮小しやすい性質を持ちます。

これに対してReLU関数は正の領域で微分値が常に1であるため、勾配が縮小しにくいという特徴を持ちます。そのため、ReLU関数は深い層を持つモデルほど選ばれやすい活性化関数です。

4. ビジネス・実務での活用シナリオ

画像認識の分野では、畳み込みニューラルネットワーク(画像の特徴を段階的に捉える構造を持つネットワーク)の中間層にReLU関数を使う構成が一般的です。ReLU関数を使うことで、層を深くしても勾配消失が起こりにくく、計算コストを抑えながら高精度なモデルを学習できます。その結果、限られた計算資源でも、より深いネットワーク構成で精度を高めやすくなります。

需要予測や売上予測では、出力層に恒等関数を使う構成が採用されます。恒等関数は入力をそのまま出力するため、金額や個数といった連続値をそのままの尺度で出力できます。出力を0から1などの範囲に押し込めないため、数値を直接予測する回帰タスクに対応した組み方といえます。

画像分類やスパム判定などの分類タスクでは、出力層にソフトマックス関数を使う構成が採用されます。ソフトマックス関数は、各カテゴリに属する確率として結果を提示する関数です。複数カテゴリのうち最も確率の高いものを予測結果として採用できるうえ、確率という形で示されることで、判定にどの程度の確からしさがあるかもあわせて把握できます。

5. 要点まとめ

  • 活性化関数は、ニューロンが受け取った入力の総和を次の層への出力に変換する関数で、多層ネットワークの表現力を高めるために非線形関数が用いられます。
  • 代表例はステップ関数・シグモイド関数・tanh関数・ReLU関数・ソフトマックス関数の5つで、シグモイド関数やtanh関数は勾配消失が起こりやすく、ReLU関数は起こりにくいという関係にあります。
  • 出力層はタスクに応じて使い分けられ、回帰問題では恒等関数、二値分類ではシグモイド関数、多クラス分類ではソフトマックス関数が用いられます。

6. 確認問題

問1ReLU関数は、入力が0以上の場合はその値をそのまま出力し、0未満の場合は0を出力する関数である。

解答・解説をみる

○ 正しい

ReLU関数の定義そのものです。計算が単純で勾配消失が起こりにくいため、中間層で広く使われています。

問2シグモイド関数は出力範囲が-1から1であり、tanh関数よりも勾配消失が起こりにくいという特徴を持つ。

解答・解説をみる

× 誤り

正しくは、出力範囲が-1から1で勾配消失が起こりにくいのはtanh関数の特徴です。シグモイド関数の出力範囲は0から1で、微分値の最大が0.25とtanh関数より小さいため、多層で使うと勾配消失がより起こりやすくなります。両者の特徴を入れ替えた記述です。

問3多クラス分類の出力層ではソフトマックス関数が使われ、各出力の総和が1になるよう正規化される。

解答・解説をみる

○ 正しい

ソフトマックス関数は、出力を確率として解釈できるよう正規化する関数です。回帰問題の出力層では恒等関数、二値分類ではシグモイド関数が使われるという対応関係も、ここでの要点です。