当前位置: 首页 > article >正文

深度学习查漏补缺:3.从 Sigmoid 到 GELU

1. Sigmoid
  • 定义f(x) = \frac{1}{1 + e^{-x}}
  • 范围: (0, 1)
  • 特性:
    • 非线性函数,将输入映射到 (0, 1) 区间,常用于二分类问题的输出层。
    • 导数平滑,但在 x 很大或很小时,梯度趋近于 0,导致“梯度消失”问题。
  • 优点: 输出具有概率解释。
  • 缺点: 不以零为中心,梯度消失问题限制了其在深层网络中的应用。

2. ReLU (Rectified Linear Unit)
  • 定义: f(x)=max⁡(0,x)
  • 范围: [0, ∞)
  • 特性:
    • 线性(分段),计算简单,收敛速度快。
    • 当 x<0 时,输出为 0,导数为 0,可能导致“神经元死亡”问题。
  • 优点: 缓解梯度消失,提升训练效率。
  • 缺点: 输出非零中心,可能导致偏置偏移;负值区域无梯度。

3. Leaky ReLU
  • 定义: f(x) = \max(\alpha x, x),其中 α 是一个小的正数(如 0.01)
  • 范围: (-∞, ∞)
  • 特性:
    • ReLU 的改进版,负值区域有微小斜率,避免“神经元死亡”。
  • 优点: 保留 ReLU 的优点,同时对负输入有响应。
  • 缺点: α 需要手动调参,效果依赖具体任务。

4. Tanh (双曲正切)
  • 定义f(x) = \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}
  • 范围: (-1, 1)
  • 特性:
    • 非线性,以零为中心,输出对称。
    • 类似 Sigmoid,但在两端饱和时梯度消失。
  • 优点: 零中心化输出有助于梯度更新。
  • 缺点: 依然存在梯度消失问题。

5. Swish
  • 定义f(x) = x \cdot \text{sigmoid}(\beta x)
  • 范围: 大约 (-∞, ∞),具体取决于 β
  • 特性:
    • 非线性,结合了 ReLU 和 Sigmoid 的特性。
    • 平滑且非单调,负值区域有微小输出。
  • 优点: 在某些任务中优于 ReLU,提升模型性能。
  • 缺点: 计算复杂度稍高,β 需要调优。

6. GELU (Gaussian Error Linear Unit)
  • 定义: f(x) = x \cdot \Phi(x),其中 Φ(x) 是标准正态分布的累积分布函数 (CDF)。近似形式为 f(x) \approx 0.5 \cdot x \cdot (1 + \tanh(\sqrt{\frac{2}{\pi}} \cdot (x + 0.044715 \cdot x^3)))
  • 范围: 大约 (-∞, ∞),但负值区域输出较小。
  • 特性:
    • 非线性,结合了 ReLU 的线性特性和概率加权思想。
    • 负值区域输出非零但被平滑压缩,类似于高斯分布的加权效果。
    • 平滑且连续,导数存在且变化平缓。
  • 优点:
    • 在 Transformer 等模型中表现优异(如 BERT),比 ReLU 和 Swish 在某些任务中更具优势。
    • 避免了 ReLU 的“神经元死亡”,负值区域仍有微弱响应。
  • 缺点: 计算复杂度较高,因涉及 tanh⁡或 erf 函数。


http://www.kler.cn/a/611954.html

相关文章:

  • 使用Hash和HTML5的History API实现前端路由
  • IIR(无限冲激响应)滤波
  • 爬虫面试题
  • 大模型tokenizer重构流程
  • 【初探数据结构】直接插入排序与希尔排序详解
  • 解决conda的R包安装的依赖问题-以tidyverse为例
  • UniApp 生命周期钩子的应用场景
  • 20250327解决在立创eda中铺了GND的铜之后仍显示部分地线未连接
  • 关于大模型中的Token概念小记
  • 江西核威环保科技:打造世界前沿的固液分离设备高新企业
  • browser-use 库安装指南
  • 【MyBatisPlus】MyBatisPlus介绍与使用
  • 什么是logback FixedWindowRollingPolicy的文件滚动策略?
  • 知识就是力量——物联网应用技术
  • Neo4j GDS-06-neo4j GDS 库中社区检测算法介绍
  • Matlab Hessian矩阵计算(LoG算子)
  • 从零开始跑通3DGS教程:介绍
  • PaddleNLP UIE 通过OCR识别银行回执信息
  • 基于python的租房网站-房屋出租租赁系统(python+django+vue)源码+运行步骤
  • 【面试题】利用Promise实现Websocket阻塞式await wsRequest() 请求