神经网络之sigmoid激活函数

🔹 一、Sigmoid 函数的定义

Sigmoid 函数是一种 S 型曲线函数,定义如下:

σ(x)=11+e−x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+e−x1

其中:

  • x∈(−∞,+∞)x \in (-\infty, +\infty)x∈(−∞,+∞):任意实数输入
  • σ(x)∈(0,1)\sigma(x) \in (0, 1)σ(x)∈(0,1):输出被"压缩"到 0 和 1 之间

🔹 二、函数图像

图像特点:

  • S 型曲线(形似"滑梯")
  • 左侧趋近于 0,右侧趋近于 1
  • 中心对称点:(0,0.5)(0, 0.5)(0,0.5)
  • 单调递增
  • 平滑连续

lim⁡x→−∞σ(x)=0lim⁡x→+∞σ(x)=1σ(0)=0.5 \lim_{x \to -\infty} \sigma(x) = 0 \\ \lim_{x \to +\infty} \sigma(x) = 1 \\ \sigma(0) = 0.5 x→−∞limσ(x)=0x→+∞limσ(x)=1σ(0)=0.5


🔹 三、导数与梯度

Sigmoid 函数的导数非常优美,便于反向传播:

σ′(x)=σ(x)⋅(1−σ(x)) \sigma'(x) = \sigma(x) \cdot (1 - \sigma(x)) σ′(x)=σ(x)⋅(1−σ(x))

特点:

  • 只需要输出本身就能计算导数(简洁高效)
  • 导数最大值为 14=0.25\frac{1}{4} = 0.2541=0.25(当 x=0x = 0x=0)
  • 当 xxx 很大或很小时,导数接近 0 → 梯度消失问题

🔹 四、为什么使用 Sigmoid?

✅ 优点:

优点 说明
非线性 允许神经网络拟合复杂的函数
可微 所有点处都有导数,适合梯度下降法
输出范围 (0,1) 适合做概率解释(例如二分类)
光滑 输出变化连续平滑,有利于优化

❌ 缺点:

缺点 原因与后果
梯度消失 输入很大或很小时导数趋近于 0,导致神经网络前层无法有效训练
非零中心 输出总是正数,会导致偏置更新缓慢,训练不稳定
饱和问题 当输出接近0或1时,对输入的微小变化反应很小,神经元几乎"死掉"
计算慢 涉及指数函数 e−xe^{-x}e−x,相比于 ReLU 类函数更慢

🔹 五、在神经网络中的应用场景

场景 是否推荐使用 Sigmoid?
隐藏层 ❌ 不推荐(容易梯度消失)
输出层(二分类) ✅ 强烈推荐(概率解释 + BCE Loss)
多分类输出层 ❌ 不推荐,推荐使用 Softmax
早期网络结构 ✅ 使用较多(如早期 MLP)

🔹 六、数值实现注意(以 PyTorch 为例)

PyTorch 中常用组合:

python 复制代码
import torch
import torch.nn as nn

# 单独使用 sigmoid
sigmoid = nn.Sigmoid()
out = sigmoid(x)

# 配合 BCE Loss,推荐使用 BCEWithLogitsLoss(数值更稳定)
loss_fn = nn.BCEWithLogitsLoss()

⚠️ 如果你使用了 BCEWithLogitsLoss不要再手动加 Sigmoid,它内部已包含。


🔹 七、Sigmoid 与 Logistic 回归的关系

Sigmoid 函数源自统计学中的 Logistic Regression

p(y=1∣x)=11+e−(wTx+b) p(y=1|x) = \frac{1}{1 + e^{-(w^T x + b)}} p(y=1∣x)=1+e−(wTx+b)1

神经网络中的二分类本质就是将前向传播部分看作线性变换,再通过 sigmoid 输出概率。


🔚 总结:Sigmoid 函数一览表

属性
数学表达式 11+e−x\frac{1}{1 + e^{-x}}1+e−x1
输出范围 (0,1)(0, 1)(0,1)
是否可导 ✅ 是
导数 σ(x)(1−σ(x))\sigma(x)(1 - \sigma(x))σ(x)(1−σ(x))
最大梯度 0.25
是否零中心 ❌ 否
是否饱和 ✅ 是(两端)
常用场景 二分类输出层
替代推荐 隐藏层用 ReLU / GELU / Swish 等更好
相关推荐
小王不爱笑1328 分钟前
LangChain4J 整合多 AI 模型核心实现步骤
java·人工智能·spring boot
码农三叔20 分钟前
(9-3)电源管理与能源系统:充电与扩展能源方案
人工智能·嵌入式硬件·机器人·能源·人形机器人
2401_8638014641 分钟前
怎么把多个glb/gltf格式模型,导出保存一个个物体,只保留自己想要的部分
人工智能
一切皆有可能!!42 分钟前
昇腾atlas 300I duo部署Qwen3-8B完整实战:从选型到成功运行
人工智能·大模型·昇腾·大模型部署
问道财经42 分钟前
和飞书合作,安克没能走出舒适区
人工智能
Fleshy数模1 小时前
从一条直线开始:线性回归的底层逻辑与实战
人工智能·机器学习·概率论
哥布林学者1 小时前
吴恩达深度学习课程五:自然语言处理 第三周:序列模型与注意力机制 课后习题与代码实践
深度学习·ai
ssxueyi1 小时前
ModelEngine + MCP:解锁 AI 应用的无限可能
人工智能·大模型·ai应用·ai开发·modelengine
AAD555888991 小时前
压接工具检测识别----RPN-R50-Caffe-C4模型训练与优化
人工智能·深度学习
OLOLOadsd1231 小时前
基于NAS-FCOS的拥挤路段车辆检测系统:R50-Caffe-FPN-NASHead-GN-Head模型训练与优化_1
人工智能·深度学习