神经网络激活函数汇总

神经网络中的激活函数用于引入非线性,使模型能够学习和表示复杂的模式。不同的激活函数有各自的特性和用途。常见的激活函数包括以下几种:

1. Sigmoid(S型函数)

  • 公式:
    σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1 + e^{-x}} σ(x)=1+ex1
  • 输出范围: (0, 1)
  • 特点:
    • 将输入值压缩到 (0, 1) 之间,适合用于输出为概率的场景。
    • 缺点:当输入值极大或极小时,梯度趋近于零,容易引发梯度消失问题
  • 应用场景: 通常用于二分类问题的输出层。

2. Tanh(双曲正切函数)

  • 公式:
    tanh ( x ) = e x − e − x e x + e − x \text{tanh}(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} tanh(x)=ex+exexex
  • 输出范围: (-1, 1)
  • 特点:
    • 输出范围比 Sigmoid 更广(-1 到 1),使得输出能更好地表示负数和正数。
    • 与 Sigmoid 一样,tanh 函数在极大或极小值时,梯度也会趋近于零。
  • 应用场景: 在隐藏层中常用,因为其输出的均值为 0,能更好地处理数据的对称性。

3. ReLU(Rectified Linear Unit,修正线性单元)

  • 公式:
    ReLU ( x ) = max ⁡ ( 0 , x ) \text{ReLU}(x) = \max(0, x) ReLU(x)=max(0,x)
  • 输出范围: [0, ∞)
  • 特点:
    • 在正区间保持线性,负区间为零。计算简单且不会有梯度消失问题(在正区间)。
    • 缺点:在负区间的梯度为零,神经元可能“死亡”,导致无法更新参数(称为ReLU 死亡问题)。
  • 应用场景: 广泛用于隐藏层,尤其是深度神经网络中。

4. Leaky ReLU

  • 公式:
    Leaky ReLU ( x ) = max ⁡ ( 0.01 x , x ) \text{Leaky ReLU}(x) = \max(0.01x, x) Leaky ReLU(x)=max(0.01x,x)
  • 输出范围: (-∞, ∞)
  • 特点:
    • 与 ReLU 类似,但允许负值有一个很小的斜率(通常为 0.01),以防止“死亡神经元”的问题。
  • 应用场景: 是 ReLU 的改进版本,适用于深度神经网络,能解决部分 ReLU 的问题。

5. ELU(Exponential Linear Unit,指数线性单元)

  • 公式:
    ELU ( x ) = { x , if  x > 0 α ( e x − 1 ) , if  x ≤ 0 \text{ELU}(x) = \begin{cases} x, & \text{if } x > 0 \\ \alpha(e^x - 1), & \text{if } x \leq 0 \end{cases} ELU(x)={x,α(ex1),if x>0if x0
    其中 α \alpha α 是一个超参数,通常取 α = 1 \alpha = 1 α=1
  • 输出范围: (-∞, ∞)
  • 特点:
    • 在负值区间平滑过渡,而不像 ReLU 那样直接为零,避免了“死亡神经元”的问题。
    • 在正值区间与 ReLU 类似。
  • 应用场景: 适用于深层神经网络,通常效果优于 ReLU。

6. Softmax(用于多分类的激活函数)

  • 公式:
    Softmax ( x i ) = e x i ∑ j e x j \text{Softmax}(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}} Softmax(xi)=jexjexi
  • 输出范围: (0, 1)
  • 特点:
    • 将输出值规范化为概率分布(所有输出值加起来为 1)。
    • 通常用于多分类问题的输出层。
  • 应用场景: 用于多分类问题的最后一层,生成每个类别的概率分布。

7. Swish(由 Google 提出的激活函数)

  • 公式:
    Swish ( x ) = x ⋅ σ ( x ) = x 1 + e − x \text{Swish}(x) = x \cdot \sigma(x) = \frac{x}{1 + e^{-x}} Swish(x)=xσ(x)=1+exx
  • 输出范围: (-∞, ∞)
  • 特点:
    • 平滑且无界,类似于 ReLU,但其导数连续,不像 ReLU 在 0 点有非连续导数。
    • Swish 在一些深度神经网络任务中表现优于 ReLU 和 Sigmoid。
  • 应用场景: 新型的激活函数,适用于深度学习中的各种任务,常在卷积神经网络(CNN)中使用。

总结:

  • Sigmoid 和 Tanh:适合浅层网络,但容易出现梯度消失问题。
  • ReLU 和其变种(Leaky ReLU, ELU):适合深度神经网络,避免了梯度消失问题。
  • Softmax:用于多分类问题的输出层。
  • Swish:新型激活函数,在某些任务中效果优于传统激活函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值