【用語解説】tanh関数(双曲線正接関数)とは?

機械学習で欠かせないtanh関数。 tanh関数とは?数学的な定義から、ニューラルネットワークにおける役割、ReLU関数との比較までを網羅。生成AI開発の基礎知識として。 AI_用語辞典
この記事は約3分で読めます。

tanh関数とは、ニューラルネットワークの活性化関数としてよく使われる数学の関数です。
この関数は、データをある範囲に収めたり、ネットワークの学習を効率的にしたりする役割を果たします。

ここでは、tanh関数がニューラルネットワークでどのように使われるのか、その特徴やメリット・デメリットについて解説いたします。

tanh関数の概要

数学的定義

tanh関数は、双曲線正接関数(Hyperbolic Tangent Function)の略で、以下のように定義されます。

これは、指数関数(exponential functions)を使って表現されますが、視覚的にはシグモイド関数に似たS字型の曲線を持ちます。

tanh関数の特徴

tanh関数の出力は、常に -1 から 1 の間の値を取ります。これが、ニューラルネットワークにおいて特に重要な理由の1つです。
シグモイド関数と比較してみましょう。

  • シグモイド関数:0 から 1 の間の出力
  • tanh関数:-1 から 1 の間の出力

この違いにより、tanh関数はゼロを中心に対称であり、正負の値を扱うタスクで有効です。

tanh関数の役割

tanh関数は、主にニューラルネットワークの活性化関数として使用されます。
活性化関数は、入力されたデータを次の層に渡す前に、その出力を非線形な形に変換するために使われます。
この非線形性が、ニューラルネットワークの複雑なパターン認識能力を高める要因となります。

  • 非線形性
    tanh関数を使うことで、ネットワークが線形ではない複雑な関係を学習できるようになります。

  • ゼロ中心
    tanh関数は、出力がゼロを中心に分布するため、学習がより安定しやすくなります。
    これは、勾配消失問題(後述)を軽減するためのメリットとなります。

tanh関数の長所と短所

長所

  • 非線形変換:ニューラルネットワークに複雑な学習能力を持たせます。

  • ゼロ中心の出力:学習を安定させる要因となります。

短所

  • 勾配消失問題
    tanh関数は、入力が大きな値になると、勾配が非常に小さくなります。
    これにより、バックプロパゲーション(誤差逆伝播法)の際に、重みがうまく更新されない「勾配消失問題」が発生しやすくなります。

  • ReLU関数の台頭
    最近では、tanh関数に代わりReLU(Rectified Linear Unit)関数がよく使用されます。ReLU関数は勾配消失問題に強く、特に深層学習において高い性能を発揮します。

実際の使用例

1. ニューラルネットワークにおけるtanh関数

tanh関数は、畳み込みニューラルネットワーク(CNN)リカレントニューラルネットワーク(RNN)などの構造に使用されます。
特にRNNでは、時系列データの処理や自然言語処理でその力を発揮します。
チャットボットや翻訳システムなどの生成AI技術の背後には、tanh関数を活用したアルゴリズムが組み込まれています。

2. 勾配消失問題への対策

tanh関数を使う際には、勾配消失問題を防ぐために、ネットワークの設計や他のテクニック(例えば、バッチ正規化など)を取り入れることが求められます。

まとめ

tanh関数は、生成AIや機械学習の重要な要素であり、ニューラルネットワークの非線形性を高め、複雑なデータパターンを学習するのに役立ちます。

しかし、勾配消失問題といった課題もあり、ReLU関数など他の活性化関数と使い分けることが重要です。

生成AIや機械学習の成長とともに、tanh関数の役割も進化しています。

引き続き、このような数理モデルを理解し、AI技術の未来を形作っていくことが大切です。

↓助成金活用で最大75%OFF!選べる9つのコース↓

ChatGPT/Gemini/Copilot/生成AI×GAS/生成AI×LINE/RAG開発/Dify/Adobe Firefly/Stable Diffusion
この記事を書いた人
星野クォンタ

星野クォンタです😊AIとDXの深層にハマってるおしゃべり好きなAIオタクです🚀🔍

星野クォンタをフォローする
AI_用語辞典
シェアする
星野クォンタをフォローする
AILANDs