tanh関数(ハイパボリックタンジェント)
解説:シグモイド関数の進化版
tanh関数(Hyperbolic tangent function:双曲線正接関数)は、シグモイド関数によく似たS字カーブを描く活性化関数です。
シグモイド関数との最大の違いは、出力値の範囲が「-1 から 1」である点です。0を中心としてプラス側とマイナス側にバランスよく広がるため、データの偏りを抑えやすく、シグモイド関数よりも学習効率が良いとされています。

シグモイド関数との違い(ここが出る!)
| 比較項目 | シグモイド関数 | tanh関数 |
|---|---|---|
| 出力範囲 | 0 〜 1 | -1 〜 1 |
| グラフの中心 | (0, 0.5) | 原点 (0, 0) ※原点対称 |
| 学習効率 | 標準的 | シグモイドより良い (データがゼロ中心になるため) |
⚠️ 弱点は同じ「勾配消失」
tanh関数はシグモイドより優秀ですが、グラフの両端が平らになる(傾きがなくなる)という構造上の欠点は同じです。
そのため、層を深くしすぎるとやはり「勾配消失問題」が発生します。現在の中間層では、この問題を解決したReLU関数の方が主流です。
tanh関数はシグモイドより優秀ですが、グラフの両端が平らになる(傾きがなくなる)という構造上の欠点は同じです。
そのため、層を深くしすぎるとやはり「勾配消失問題」が発生します。現在の中間層では、この問題を解決したReLU関数の方が主流です。
G検定対策
出題ポイント
- 値の範囲:「-1から1」の範囲をとる関数を選ばせる問題が頻出です。
- 形状:「原点(0, 0)を中心とした点対称」であること。
- 歴史的位置づけ:「シグモイドよりはマシだが、ReLUほどではない(勾配消失は起きる)」という立ち位置を理解しておきましょう。
ひっかけ対策
- × 最小値は0である
(解説)最小値は「-1」です。0なのはシグモイド関数です。 - × 勾配消失問題を解決した
(解説)勾配消失は「起きにくく」はなりましたが、解決はしていません。解決したのはReLU関数です。
