【深度学习】激活函数有哪些?各有什么优缺点?

常见的激活函数有:
一、Sigmoid 函数
公式:

σ(x) = 1/(1+e^(-x))

优点:

  • 激活值范围在(0,1)之间,方便理解
  • 在0处梯度最大
    缺点:
  • 梯度消失问题严重

二、 tanh 函数
公式:

tanh(x)=(e^x - e^(-x))/(e^x + e^(-x))

优点:

  • 激活值在(-1,+1)之间
  • 均匀对称
    缺点:
  • 梯度消失问题同Sigmoid

三、ReLU 函数
公式:

relu(x) = max(0,x)

优点:

  • 计算简单,训练速度快
  • 没有梯度消失问题
    缺点:
  • 激活死区

四、LeakyReLU 函数
公式:

LeakyReLU(x) = {
     x, if x >= 0
     ax, otherwise
}


优点:

  • 解决ReLU激活死区问题

五、Softmax 函数
优点:

  • 输出值在(0,1)之间,便于解释为概率分布

总的来说:

  • Sigmoid、Tanh存在梯度消失问题
  • ReLU解决梯度消失,但有激活死区问题
  • LeakyReLU解决激活死区的问题
  • Softmax适用于概率分布式问题

不同的激活函数应用于不同场景:

  • Sigmoid 分类问题
  • Tanh GAN 等生成模型
  • ReLU 中卷积层
  • LeakyReLU RNN
  • Softmax 多分类输出