# 激活函数

# 激活函数的分类

# 饱和激活函数

  • Sigmoid, Tanh

# 非饱和激活函数

  • ReLU

# Sigmoid

f(x)=11+exf(x)=\frac{1}{1+e^{-x}}

# 适用场景

  • Sigmoid 函数输出范围是 0 到 1,非常适合将预测概率作为输出的模型
  • 梯度平滑,避免跳跃的输出值。

# 缺陷

  • 容易出现梯度消失。
  • 函数的输出并不是以零为中心的,梯度更新会具有偏向性
  • Sigmoid 中涉及到指数运算,计算机在对这部分的运算比较慢,往往需要 SFU 来加速.

# Tanh

f(x)=exexex+exf(x) = \frac{e^x - e^{-x}}{e^x+e^{-x}}

实际上 TanhSigmoid 的变换:

tanh(x)=2Sigmoid(2x)1tanh(x) = 2Sigmoid(2x) - 1

Sigmoid 不同的是, tanh 是以零为中心的,效果比 Sigmoid 函数更好。

# ReLU

f(x)=max(0,x)f(x) = max(0, x)

# 适用场景

  • ReLU 解决了梯度消失的问题,当输入值为正时,神经元不会出现饱和
  • 计算复杂度低,不需要进行指数运算

# 缺陷

# Leaky ReLU

f(x)=max(αx,x)f(x) = max(\alpha x, x)

# PReLU

f(x)=max(αx,x)α是学习的参数f(x)=max(\alpha x, x), \alpha是学习的参数

# ELU

# Swish

f(x)=xSigmoid(x)f(x) = x * Sigmoid(x)

# Softmax

f(x)=exii=1nexif(x)=\frac{e^{x_i}}{\sum_{i=1}^{n}e^{x_i}}