【机器学习:十六、其他的激活函数】

1. Sigmoid激活函数的替代方案

Sigmoid激活函数在神经网络中曾广泛使用,其数学公式为:

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

输出范围为 (0, 1),适合二分类问题。但随着深度学习的发展,Sigmoid函数逐渐被替代,主要原因包括:

  • 梯度消失问题:当输入绝对值较大时,梯度趋近于零,导致权重更新困难。
  • 非零中心问题:输出值始终为正,可能导致优化效率下降。

替代方案

  1. ReLU(修正线性单元): ReLU 解决了 Sigmoid 的梯度消失问题,其公式为:
    f ( x ) = max ⁡ ( 0 , x ) f(x) = \max(0, x) f(x)=max(0,x)
    ReLU 的简单计算和稀疏激活特性使其成为主流激活函数。

  2. Tanh: Tanh 是 Sigmoid 的改进版本,其输出范围为 (-1, 1),对称于原点,减少了非零中心问题。

  3. Leaky ReLU: 在 ReLU 的基础上解决了“死神经元”问题,为负值输入引入了一个小斜率:
    f ( x ) = { x , x > 0 α x , x ≤ 0 f(x) = \begin{cases} x, & x > 0 \\ \alpha x, & x \leq 0 \end{cases} f(x)={x,αx,x>0x0
    其中, α \alpha α 通常为 0.01。


2. ReLU函数:修正线性单元

ReLU(Rectified Linear Unit)激活函数被广泛用于深度学习中,其特性如下:

  • 计算效率高:仅需简单的比较操作。
  • 梯度消失问题改善:对正值输入的梯度始终为 1,能持续更新参数。
  • 稀疏激活:对于负值输入输出为 0,有助于提高模型的泛化能力。

ReLU 的局限性

  1. 死神经元问题:当权重更新时,某些神经元可能始终输出 0,导致无法参与训练。
  2. 不适用于所有问题:如 RNN 等需要负值输出的任务。

改进版本

  • Leaky ReLU:为负值引入小斜率。
  • Parametric ReLU(PReLU):将斜率作为可训练参数。
  • Exponential Linear Unit(ELU):对负值进行指数化处理,进一步增强模型性能。

3. 常见的三种激活函数

在神经网络中,常用的三种激活函数包括 Sigmoid、Tanh 和 ReLU:

  1. Sigmoid

    • 优点:适合二分类问题。
    • 缺点:梯度消失,非零中心。
  2. Tanh

    • 优点:对称于原点,输出范围广。
    • 缺点:同样会遇到梯度消失问题。
  3. ReLU

    • 优点:计算简单、高效,解决梯度消失问题。
    • 缺点:存在死神经元问题。

选择依据

  • 深层网络:推荐 ReLU 或其变体。
  • 序列建模:Tanh 通常效果更好。
  • 二分类:Sigmoid 可作为输出层激活函数。

4. 如何选择激活函数

如何选择激活函数呢?
激活函数的选择需要考虑以下因素:

  1. 任务类型
    • 分类任务:ReLU 常用作隐藏层激活,输出层选择 Softmax。
    • 回归任务:隐藏层用 ReLU,输出层选择线性函数。
  2. 网络深度
    • 浅层网络:Sigmoid 或 Tanh 可用。
    • 深层网络:ReLU 或其改进版本更合适。
  3. 数据特性
    • 输入数据是否有负值分布。
    • 数据归一化是否充分。

5. 选择激活函数的总结

激活函数的选择直接影响模型的收敛速度和最终性能。总结如下:

  1. ReLU 是大多数任务的首选隐藏层激活函数。
  2. Tanh 和 Sigmoid 较少用于隐藏层,但仍适用于特定场景。
  3. 对负值敏感的任务,优先选择 Leaky ReLU 或 ELU。

6. 发现新的激活函数趋势

随着深度学习的发展,研究者不断提出新的激活函数以解决已有问题:

  • Swish: 由 Google 提出的激活函数,其公式为:
    f ( x ) = x ⋅ σ ( x ) f(x) = x \cdot \sigma(x) f(x)=xσ(x)
    Swish 在深度网络中性能优于 ReLU。

  • Mish: 更平滑的激活函数,适合高性能模型。


7. 为什么需要激活函数

激活函数的作用主要体现在以下几个方面:

  1. 引入非线性:帮助神经网络逼近复杂的非线性映射。
  2. 控制输出范围:防止输出值过大或过小,提升模型稳定性。
  3. 梯度信息传递:选择合适的激活函数可避免梯度消失问题。

总结:激活函数是神经网络的核心,选择得当能显著提升模型性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值