神经网络之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 等更好
相关推荐
智算菩萨1 分钟前
AGI神话:人工通用智能的幻象如何扭曲与分散数字治理的注意力
论文阅读·人工智能·深度学习·ai·agi
Roy_Sashulin1 分钟前
基于AI的Java编程平台
java·开发语言·人工智能·sashulin·deepseek
进击monkey3 分钟前
2026 年 AI Wiki 推荐:PandaWiki——AI 原生+开源私有化,企业级知识库最优解
人工智能·开源·ai知识库
WLJT1231231237 分钟前
烟火藏洁净 好物护家园
大数据·人工智能·科技·生活
静听松涛1338 分钟前
远程视频会议组织全流程步骤 在线画图工具绘制会议流程图表教程
人工智能·架构·流程图
大傻^8 分钟前
Spring AI Alibaba 企业级实战:从0到1构建智能客服系统
java·人工智能·后端·spring·springaialibaba
会上树的机器人8 分钟前
我用 AI Agent 重构了一个嵌入式 C++ SLAM模块——完整工作流复盘与踩坑实录
人工智能·语言模型·ai编程
Gale2World9 分钟前
OpenClaw 技术专题 (四):稳定性、并发与工程化验证 (The Resilience)
人工智能·agent
磐创 AI10 分钟前
Easy-Vibe 教程:从创意到 AI 产品
人工智能·vibe coding
霪霖笙箫10 分钟前
真授之以渔:我是怎么从"想给文章配几张图",一步步做出一个可发布 skill 的
前端·人工智能·开源