TyranitarX Connect.

激活函数小结

Word count: 225Reading time: 1 min
2019/07/13 Share

六种常用的激活函数

Sigmoid函数

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

  • 输入非常大或非常小时没有梯度、
  • 输出均值非0
  • Exp计算复杂
  • 梯度消失
    • df(x)/dx = f(x)(1-f(x))

Tanh

fx =tan(x)

  • 依旧没有梯度
  • 输出均值是0
  • 计算复杂

###ReLU
fx = max(0 , x)

  • 不饱和(梯度不会过小)
  • 计算量小
  • 收敛速度快
  • 输出均值非0
  • Dead ReLU
    • 一个非常大的梯度流过神经元,不会再对数据有激活现象了。

Leaky-ReLU

fx = max(0.01x , x)

  • 解决了Dead ReLU问题

ELU

fx = α(exp(x)-1)x<=0 // x> 0

  • 均值更接近0
  • 小于0时计算量大

Maxout

fx = max(w1x + b1, w2x + b2)

  • ReLU的泛化版本
  • 没有dead relu
  • 参数 double

使用技巧

  • ReLU-小心设置learning rate
  • 不要使用sigmoid
  • 使用Leaky ReLU 、maxout、ELU
  • 可以试试Tanh , 但是计算很复杂不要抱太大期望
CATALOG
  1. 1. 六种常用的激活函数
    1. 1.1. Sigmoid函数
    2. 1.2. Tanh
    3. 1.3. Leaky-ReLU
    4. 1.4. ELU
    5. 1.5. Maxout
  2. 2. 使用技巧