神经网络之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 等更好
相关推荐
GuWenyue6 小时前
写Agent还要重复封装工具?一套MCP多服务方案,3个能力让AI自动查地图、读写文件、操控浏览器
人工智能·机器学习·开源
GuWenyue6 小时前
90%AI新手不会调参!LangChain双模型流水线实战,一套代码兼顾严谨+创意
人工智能
光锥智能8 小时前
WAIC亮点|兼具泛化能力与作业效率的极智嘉机器人天团
人工智能·机器人
阳光是sunny8 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
甲维斯8 小时前
Kimi K3 重构10000行单文件屎山代码!
人工智能
阳光是sunny8 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
新知图书8 小时前
11.3 详细实现与核心配置(作业批改智能体开发)
人工智能·agent·ai agent·智能体·扣子
深度研习笔记9 小时前
OpenCV工业视觉实战11|多线程解耦+视频流稳流+推理加速,彻底解决卡顿阻塞,实现毫秒级工业实时检测
人工智能·opencv·计算机视觉
delishcomcn9 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹9 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试