この計算ツールでできること
このツールは、双曲線正接関数 \(\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 を横切る奇関数です。
計算例(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 が大きいと勾配が消失するのですか? \(x\) が大きくなると tanh は ±1 に飽和するため、\(1 - \tanh^{2}\) は 0 に近づきます。この「勾配消失」は、深いネットワークの学習を遅らせる原因となることがあります。
微分が負になることはありますか? ありません。\(f'(x) = \operatorname{sech}^{2}(x)\) はすべての実数 \(x\) で厳密に正であり、したがって tanh は常に増加関数です。
ゼロ除算のリスクはありますか? ありません。\(\cosh(x)\) はすべての実数 \(x\) で 1 以上となるため、\(\operatorname{sech}^{2}(x)\) は常に正しく定義されます。