最終更新日:2026年8月21日
gk neural_network activation
G検定トップ
> 活性化関数とは?ReLU・Sigmoid・tanh・Softmaxを切り分け【G検定】
まず結論
活性化関数の中心的な役割は、ニューラルネットワークに非線形性を与えることです。
| 関数 | 主な使いどころ | 判断キーワード |
|---|---|---|
| ReLU | 中間層 | 負は0、正はそのまま |
| Sigmoid | 二値分類の出力層 | 0〜1 |
| tanh | 中間層など | -1〜1 |
| Softmax | 多クラス分類の出力層 | 出力の合計が1 |
G検定では、まず「なぜ必要か」→ 非線形性、次に「どこで使うか」で切ると整理しやすいです。
直感的な説明
活性化関数がない多層ネットワークでは、線形変換を何層重ねても全体としては線形変換のままです。
つまり、層を増やしただけでは複雑な境界を表現できません。
活性化関数を入れることで出力に「曲がり」を作り、XORのような線形分離できない関係も表現できるようになります。
定義・仕組み
ニューロンでは、入力の重み付き和とバイアスを計算した後、活性化関数を適用します。
出力 = 活性化関数(重み付き和 + バイアス)
ReLU
- 入力が0以下 → 0
- 入力が正 → そのまま
- 計算が軽く、中間層で広く使われる
- 正の領域では勾配を保ちやすい
- 負の領域で勾配が0になり続けるとDead ReLUが起こりうる
ReLU系の違いは、ReLU / Leaky ReLU / PReLU比較で確認できます。
Sigmoid
- 出力範囲は0〜1
- 二値分類の出力を確率として扱いたい場面で使われる
- 飽和領域では微分が小さくなり、深い中間層では勾配消失の原因になりやすい
tanh
- 出力範囲は-1〜1
- 0を中心とした出力を持つ
- Sigmoidと同様、飽和領域では勾配消失が起こりうる
Softmax
- 複数クラスのスコアを確率分布として扱える形へ変換する
- 出力の合計が1になる
- 多クラス分類の出力層で使われることが多い
いつ使う?(得意・不得意)
| 問題文の表現 | 疑う関数 |
|---|---|
| 中間層・負の入力は0 | ReLU |
| 二値分類・0〜1 | Sigmoid |
| -1〜1・0中心 | tanh |
| 多クラス・合計1 | Softmax |
活性化関数は「名前だけ」で選ぶのではなく、中間層か出力層か、出力をどう解釈したいかで判断します。
G検定ひっかけポイント
- ❌「活性化関数の目的は出力範囲を制限することだけ」→ 中心は非線形性の導入
- ❌「活性化関数がなくても、層を増やせば非線形になる」→ 線形変換だけなら全体も線形
- ❌「Sigmoidは勾配消失を起こさない」→ 飽和領域で起こりやすい
- ❌「ReLUなら勾配消失を完全に防げる」→ 起こりにくくするが万能ではない
- ❌「Softmaxは中間層の標準的な活性化関数」→ 多クラス分類の出力層で使われることが多い
- ⭕「XORのような非線形問題を扱う」→ 多層化+非線形活性化が重要
まとめ(試験直前用)
- 活性化関数の役割 → 非線形性を入れる
- ReLU → 中間層
- Sigmoid → 二値分類の出力
- Softmax → 多クラス分類の出力
- Sigmoid / tanh → 飽和による勾配消失に注意
「なぜ必要?」と聞かれたら、まず非線形性を思い出します。