Tanh(ハイパーボリックタンジェント)関数は、機械学習やディープラーニングモデルで広く使われている活性化関数である。Tanh関数は入力値を-1から1までの範囲にマッピングするため、出力が負の値と正の値の両方を表す必要があるタスクに特に有用である。Tanhは数学的にはシグモイド関数に似ていますが、より広い出力範囲を提供するため、特定のタイプのニューラルネットワークに効果的です。
Tanhは原点を中心に対称なS字型(シグモイド)関数である。主な性質は以下の通り:
Tanhは、負の値を考慮する必要がある場面でよく使用される。以下はその主な応用例である:
Tanhは、時系列や自然言語などのシーケンシャルなデータを処理するリカレントニューラルネットワーク(RNN)で頻繁に使用される。負から正の値の範囲を提供できるため、時間の経過に伴うデータポイントの関係を捉えるのに適している。
バイナリ結果を予測するモデルの場合、Tanhは入力データを下流の意思決定タスクを容易にする範囲に変換するために隠れ層で使用することができる。例えば、Tanhはソフトマックス活性化関数を持つ最終層の前に入力特徴を処理するかもしれない。
画像セグメンテーションのようなコンピュータビジョンのタスクでは、Tanhは特徴抽出を強化する範囲にピクセル強度を正規化することができる。これは、畳み込みニューラルネットワーク(CNN)のようなモデルと組み合わせた場合に特に有用である。
テキスト感情分析では、TanhはRNNまたはLSTM(Long Short-Term Memory networks)で使用され、肯定的な感情と否定的な感情の両方を捉えることで、感情の極性をモデル化する。この関数のゼロ中心の性質は、対立する感情を効果的に区別するのに役立つ。
自律走行システムの文脈では、Tanhはセンサーデータを処理するニューラルネットワーク層で利用することができる。例えば、LiDAR信号のようなセンサーの測定値を正規化し、基準点からの正負両方の偏差を考慮することができる。
TanhはSigmoid関数と類似しているが、Sigmoidの範囲(0~1)に比べてより広い範囲(-1~1)を提供する。このため、Tanhはゼロ中心の出力を必要とするタスクにより適している。しかし、ディープネットワークでは、その単純さと消失勾配の問題がないことから、整流線形ユニット(ReLU)が好まれることが多い。
Tanhを使用する主な課題の1つは、関数が極端な入力値で飽和する場合に起こりうる勾配の消失問題である。これは特にディープネットワークにおいて問題となり、勾配に基づく最適化が効果的でなくなる。これに対処するために、ReLUやLeaky ReLUのような代替活性化関数を採用することができる。
Tanhは、多くの機械学習アプリケーション、特に負と正の両方の範囲を含む出力を必要とするアプリケーションにおいて、汎用的で効果的な活性化関数であり続けている。新しい活性化関数はその限界のいくつかに対処しているが、初期のディープ・ラーニング・アーキテクチャの進歩におけるその役割は控えめにはできない。Tanhのような活性化関数を実験する簡単で実用的な方法については、Ultralytics HUBを探求し、シームレスにモデルを訓練して展開する。