這個計算機的功能
本工具可針對任意實數 x,計算雙曲正切函數 tanh(x),更重要的是求出它的一階導數 tanh'(x),同時也會回報二階導數 tanh''(x)。雙曲正切是一條平滑的 S 形(sigmoid 型)曲線,輸出值被限制在 -1 與 1 之間,正因如此,它經常作為神經網路的激活函數出現,並廣泛應用於物理與工程模型中。
使用方式
輸入任意實數 x 後送出即可。計算機會先求得 tanh(x),再由這個單一數值推導出一階與二階導數。本計算不涉及任何單位換算:x 是一個無因次的實數,所有輸出結果同樣是無因次的。
公式說明
雙曲正切的定義為 tanh(x) = (e^x - e^-x) / (e^x + e^-x)。它的一階導數有一個非常優雅的封閉式:f'(x) = 1 - tanh(x)^2,也等同於 sech^2(x) = 1/cosh(x)^2。由於 tanh(x) 落在 (-1, 1) 區間內,一階導數必定落在 (0, 1] 之間,並在 x = 0 處達到最大值,此時斜率剛好等於 1。二階導數為 f''(x) = -2 tanh(x) (1 - tanh(x)^2),這是一個奇函數,會在 x = 0 處通過零點。
實例演算(x = 0.5)
tanh(0.5) = (1.6487212707 - 0.6065306597) / (1.6487212707 + 0.6065306597) = 0.4621171573。接著 f'(0.5) = 1 - 0.4621171573^2 = 0.7864477541,而 f''(0.5) = -2 x 0.4621171573 x 0.7864477541 = -0.7269278407。
常見問題
為什麼 x 很大時梯度會消失?當 x 增大時,tanh 會逐漸飽和趨近於 ±1,因此 1 - tanh^2 會趨近於 0。這種「梯度消失」現象,可能會拖慢深層網路的訓練速度。
導數有可能是負值嗎?不會。f'(x) = sech^2(x) 對所有實數 x 都嚴格為正,因此 tanh 始終是遞增函數。
會有除以零的風險嗎?不會。對任意實數 x,cosh(x) 至少為 1,因此 sech^2(x) 永遠有良好定義。