ハイパボリックタンジェント関数(tanh)はどこで使われているのか?


こんにちは。ゆうせいです。
今回は「tanh関数(ハイパボリックタンジェント関数)はどこで使われているの?」という疑問にお答えします。難しそうに見えますが、例えを使いながらわかりやすく解説していきます。


tanh関数とは?

tanh(タッシュ)関数とは、「ハイパボリックタンジェント関数」の略称です。

数式で表すとこうなります:

f(x) = \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}

この関数の特徴は、出力が -1 から 1 の間に収まること。そして、x = 0 のときは f(0) = 0 になります。


tanh関数はどこで使われるの?

1. ニューラルネットワークの中間層(隠れ層)

中間層で使われる活性化関数として、tanh関数は学習の収束を助ける働きをします。

tanhは出力の中心が0なので、出力の分布が左右対称になり、学習が安定しやすくなります
シグモイド関数と比べて、出力の偏りが小さくなるのです。


2. 再帰型ニューラルネットワーク(RNN・LSTM)

時系列データを扱うRNN(Recurrent Neural Network)やLSTM(Long Short-Term Memory)では、内部状態の計算に頻繁に使われています。

例えば、LSTMのセル状態や出力に次のように使われます:

h_t = \tanh(W_h x_t + U_h h_{t-1} + b_h)

このように、過去の情報と現在の入力をなめらかに合成する用途でtanhが選ばれているのです。


シグモイド関数との比較

関数数式出力範囲中心点
シグモイドf(x) = \frac{1}{1 + e^{-x}}(0, 1)0.5
tanhf(x) = \tanh(x)(-1, 1)0

tanhの方が、入力に対する出力の変化が大きく、より豊かな表現力を持っています。


tanh関数のメリット・デメリット

項目内容
メリット・出力の平均が0に近く、学習が安定しやすい・非線形性が強く、表現力が高い
デメリット・入力が大きいと勾配が0に近づく(勾配消失問題)・計算コストがReLUより高い

勾配消失のイメージ

tanh関数は $x$ が大きくなると、$f(x)$ は $1$ に収束し、$x$ が小さくなると $-1$ に収束します。
このとき、関数の傾き(微分値)がどんどん小さくなっていくため、重み更新が止まってしまうことがあります。


現代の使いどころ

  • RNN/LSTM系モデルでの状態表現
  • 浅いネットワークでの中間層
  • 出力が0を中心に分布してほしいとき

ただし、深層ネットワークではReLU系が主流で、tanhはあくまで用途を選ぶ関数です。



まとめ

  • tanh関数は (-1, 1) の範囲で出力し、中心が0。
  • 中間層やRNN系のモデルで使われ、学習の安定性に貢献する。
  • 勾配消失には注意が必要。

今後の学習の指針

次は、tanh関数以外の活性化関数にも目を向けてみましょう!

  • ReLUとその派生(Leaky ReLU, PReLUなど)
  • 活性化関数の選び方と勾配の影響
  • それぞれの関数がどのようなタスクに向いているのか

実験を通してそれぞれの関数の効果を体感するのもおすすめですよ!


今後の学習の指針

ステップ関数のような単純なモデルから始まり、どう進化してきたのかを知ることは、人工知能を理解するうえでとても大切です。

次は、シグモイド関数やtanh関数、ReLU関数などの活性化関数の違いや使い分けについて学んでみるとよいでしょう!

生成AI研修のおすすめメニュー

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。