logo

双曲線正接 📂関数

双曲線正接

定義

双曲線関数のうち、双曲線正弦双曲線余弦の比として定義される以下のような関数を双曲線正接hyperbolic tangentまたはハイパボリックタンジェントといい、よく$\tanh$と略記する。

$$ \tanh x := \frac{\sinh x}{\cosh x} = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}} = \frac{e^{2x} - 1}{e^{2x} + 1} $$

性質

  • 値域: 値域は$(-1, 1)$であり、$x \to \pm\infty$のとき$\tanh x \to \pm 1$に漸近する。

  • 奇関数: $\tanh(-x) = -\tanh x$。特に$\tanh 0 = 0$なので、グラフは原点を通る。

  • 導関数: 次が成り立つ。 $$ (\tanh x)^{\prime} = 1 - \tanh^{2} x = \operatorname{sech}^{2} x $$ 微分値は$x = 0$で最大値$1$をとり、$|x|$が大きくなるほど$0$に収束する。

シグモイドとの関係

ロジスティック・シグモイド関数 $\sigma(x) = \dfrac{1}{1 + e^{-x}}$とは次の関係がある。

$$ \tanh x = 2\sigma(2x) - 1 $$

つまり双曲線正接は、シグモイドを上下に引き伸ばして値域を$(0, 1)$から$(-1, 1)$へ移し、原点対称になるように平行移動したものである。

活性化関数としての$\tanh$

双曲線正接は人工ニューラルネットワークで広く使われる非線形活性化関数の一つである。シグモイドと比較すると、次のような性質を持つ。

  • ゼロ中心: シグモイドの値域$(0, 1)$は常に正であるため出力の平均が$0$から外れるが、$\tanh$は値域が$(-1, 1)$で原点対称なので、出力が$0$を中心に分布する。これは次の層の学習を安定させる。
  • より大きい勾配: 先に見たように$\tanh$の微分は最大$1$である一方、シグモイドの微分は最大$1/4$を超えられない。したがって$\tanh$はシグモイドより勾配消失に相対的に脆弱でない。

ただし$\tanh$もまた$|x|$が大きくなると微分が$0$に近づく飽和の性質を持つため、層を非常に深く積むと依然として勾配消失が現れる。このため今日のニューラルネットワークでは飽和のない$\operatorname{ReLU}$系が主に使われてはいるが、ネットワークがそれほど深くない場合や値域を制限したい場合には依然として使われる。

関連リンク