Sigmoid#
术语解释#
Sigmoid 函数(也称 Logistic 函数) 是一种在深度学习和机器学习中广泛使用的非线性激活函数(或映射函数),其数学表达式为 $g(z)=\frac{1}{1+{{e}^{-z}}}$ ,它能将输入值从 $(-\infty ,+\infty )$ 映射到 $(0,1)$ 的开区间内,常用于二分类输出层(表示概率)或门控机制(如 LSTM 中的输入 / 遗忘门)。

出现动机#
-
解决分类问题的概率预测:在线性回归中,输出值是任意实数,无法直接表示概率。Sigmoid 函数能够将线性组合的结果映射到之间,从而将其解释为样本属于某个类别的概率。 关于这部分内容可以参见 「3.4 逻辑回归损失函数推导:交叉熵与最大似然解析」 内容。
-
引入非线性变换:单纯的线性层堆叠依然只能表示线性关系,无法拟合复杂的函数。Sigmoid 作为激活函数,为神经网络引入了非线性,使得模型能够进行深层特征提取并解决复杂的非线性问题。 关于这部分内容可以参见 「 3.1.6 深度学习线性回归入门:从线性输入到非线性变换」
优点缺点#
-
优点:
-
连续光滑且处处可导:这使得它非常适合使用梯度下降算法进行参数优化。
-
输出范围受限:将输出压缩在 $(0,1)$ 之间,在需要输出概率分布的任务(如逻辑回归、多标签分类)中非常直观。
-
求导计算简单:其导数具有非常简洁的形式 $g^{\prime}(z)=g(z)(1−g(z))$ ,这在反向传播计算梯度时能提高效率。
-
中心对称:Sigmoid 函数关于点 $(0,0.5)$ 中心对称。
-
-
缺点:
-
梯度消失(饱和现象):这是 Sigmoid 最显著的缺点。当输入值非常大(正饱和)或非常小(负饱和)时,函数的导数趋于 0。在深层网络的反向传播中,梯度的连续累乘会导致靠近输入层的梯度变得极其微小,使得模型训练变慢甚至停止。
-
计算开销较大:相比于 ReLU 等函数,Sigmoid 包含指数运算,在处理大规模数据和深层网络时,计算量相对较大。
-
收敛速度慢:Sigmoid 导数的最大值仅为 0.25。这意味着即使在激活函数的活跃区,梯度的传递也会被显著减弱,从而减缓参数的更新速度。
-
非零中心输出:Sigmoid 的输出均大于 0,这可能导致在神经网络后层中,神经元的输入分布发生偏移,影响收敛效率
-
相关术语#
- ReLU