通过MCP连接 →

输入计算

任意实数(正数、负数或零)

数学公式

广告

结果

Softsign 一阶导数
0.4444444444
phi'(x)
phi(x) = x / (1 + |x|) 0.3333333333
phi'(x) = 1 / (1 + |x|)^2 0.4444444444

什么是 Softsign 函数?

Softsign 函数是神经网络中常用的一种平滑激活函数,定义为 \(\phi(x) = \frac{x}{1 + |x|}\)。它能把任意实数输入映射到开区间 \((-1, 1)\) 内,作用与双曲正切(tanh)类似,但趋近饱和上下限的速度更慢。这种更"温和"的饱和特性有助于缓解训练过程中的梯度消失问题。本计算器同时给出函数值 \(\phi(x)\),并以一阶导数 \(\phi'(x)\) 作为主要输出结果。

Two overlaid curves on x-y axes: an S-shaped curve flattening toward horizontal asymptotes and a bell-shaped curve peaking at the center
The Softsign function phi(x) = x/(1+|x|) (S-shaped) and its derivative phi'(x) = 1/(1+|x|)^2 (bell-shaped).

如何使用本计算器

在输入框中填入任意实数 \(x\)——正数、负数或零均可——即可读取 \(\phi'(x)\)(即 Softsign 曲线的斜率)以及 \(\phi(x)\)(激活输出值)。整个计算不涉及任何单位,\(x\) 是一个无量纲的纯实数。默认输入值为 \(x = 0.5\)。

公式详解

函数 \(\phi(x) = \frac{x}{1 + |x|}\) 的导数为

$$\phi'(x) = \frac{1}{\left(1 + \left|x\right|\right)^{2}}$$

由于分母 \((1 + |x|)\) 恒大于等于 1,因此该导数始终严格为正,取值范围落在区间 \((0, 1]\) 内。导数在 \(x = 0\) 处取得最大值 1,此处曲线最为陡峭。随着 \(|x|\) 不断增大,\(\phi'(x)\) 会逐渐趋近于 0,正反映了该函数的饱和特性。

Advertisement
Single bell-shaped curve peaking at value 1 above the origin, symmetric and decaying to zero on both sides
Graph of the derivative phi'(x) = 1/(1+|x|)^2, symmetric about x=0 with a maximum of 1 at the origin.

实例演算

以 \(x = 0.5\) 为例:\(|x| = 0.5\),因此 \(1 + |x| = 1.5\)。函数值为

$$\phi(0.5) = \frac{0.5}{1.5} = 0.333333\ldots$$

导数为

$$\phi'(0.5) = \frac{1}{1.5^{2}} = \frac{1}{2.25} = 0.444444\ldots$$

也就是说,在 \(x = 0.5\) 处,Softsign 曲线的输出约为 0.3333,斜率约为 0.4444。

常见问题

Softsign 在所有点都可导吗?是的。尽管 \(|x|\) 在 \(x = 0\) 处存在一个折点,但 \(\phi\) 在该点的左导数与右导数都等于 1,因此 \(\phi\) 在 \(x = 0\) 以及其他任意位置都是可导的。

导数有可能为负吗?不会。\(\phi'(x) = \frac{1}{\left(1 + |x|\right)^{2}}\) 始终为正,因为它等于 1 除以一个正数的平方。

Softsign 与 tanh 有什么区别?两者都会饱和到 \((-1, 1)\) 区间,但 Softsign 采用的是多项式(\(1/x^2\))尾部,而 tanh 采用的是指数尾部。因此 Softsign 饱和得更慢,在远离零点的区域仍能保留稍大一些的梯度。

最后更新: