MCPで接続 →

計算を入力してください

公式

広告

結果

1次微分 tanh'(x)
0.786448
= 1 − tanh(x)^2
tanh(x) 0.462117
tanh'(x) 0.786448
tanh''(x) -0.726862

この計算ツールでできること

このツールは、双曲線正接関数 \(\tanh(x)\) の値を求めるとともに、より重要なその1次微分 \(\tanh'(x)\) を任意の実数 \(x\) について計算します。さらに2次微分 \(\tanh''(x)\) も同時に出力します。双曲線正接は、出力が −1 から 1 の間に収まる滑らかなS字状(シグモイド型)の関数です。この性質から、ニューラルネットワークの活性化関数として、また物理学・工学のモデルとして頻繁に登場します。

使い方

\(x\) に任意の実数を入力して計算してください。ツールはまず \(\tanh(x)\) を一度だけ計算し、その値をもとに1次微分と2次微分を導出します。単位の変換は必要ありません。\(x\) は無次元の実数であり、すべての出力も同様に無次元量です。

公式の解説

双曲線正接は $$\tanh(x) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}$$ で定義されます。その1次微分は $$f'(x) = 1 - \tanh^{2}(x)$$ すなわち \(\operatorname{sech}^{2}(x) = \frac{1}{\cosh^{2}(x)}\) という美しい閉形式で表されます。\(\tanh(x)\) は区間 \((-1, 1)\) に収まるため、1次微分は常に \((0, 1]\) の範囲にあり、\(x = 0\) で傾きがちょうど 1 となって最大になります。2次微分は $$f''(x) = -2\tanh(x)\left(1 - \tanh^{2}(x)\right)$$ で、\(x = 0\) で 0 を横切る奇関数です。

広告
tanh(x) のS字曲線と釣鐘型の導関数のグラフ
tanh関数(S字曲線)とその一次導関数 \(1 - \tanh^{2}(x)\)。x = 0 でピークを迎える釣鐘型の山。

計算例(x = 0.5)

$$\tanh(0.5) = \frac{1.6487212707 - 0.6065306597}{1.6487212707 + 0.6065306597} = 0.4621171573$$ 続いて $$f'(0.5) = 1 - 0.4621171573^{2} = 0.7864477541$$ $$f''(0.5) = -2 \times 0.4621171573 \times 0.7864477541 = -0.7269278407$$ となります。

x = 0.5 で tanh 曲線に接して傾きを示す接線
x = 0.5 では、導関数は tanh 曲線への接線の傾きに等しくなります。

よくある質問

なぜ x が大きいと勾配が消失するのですか? \(x\) が大きくなると tanh は ±1 に飽和するため、\(1 - \tanh^{2}\) は 0 に近づきます。この「勾配消失」は、深いネットワークの学習を遅らせる原因となることがあります。

微分が負になることはありますか? ありません。\(f'(x) = \operatorname{sech}^{2}(x)\) はすべての実数 \(x\) で厳密に正であり、したがって tanh は常に増加関数です。

ゼロ除算のリスクはありますか? ありません。\(\cosh(x)\) はすべての実数 \(x\) で 1 以上となるため、\(\operatorname{sech}^{2}(x)\) は常に正しく定義されます。

最終更新: