非线性激活

1.非线性激活的重要性

如果神经元的输出是输入的线性函数,而线性函数之间的嵌套任然会得到线性函数。如果不加如飞西安新处理,那么最终得到的仍然是线性函数。

2.常用的非线性激活函数

ReLu的优点

  • 运算非常简单快速
  • 由于当输入大于0时,导数永远是1,可以避免梯度消失
  • 当输入大于零时才有非零输出,而输入小于0时,输出0.更类似与生物神经元的工作原理,需要刺激才会被激活。
  • 往往能带来比使用sigmoid和tanh更佳网络性能

3.ReLu的改进

Leaky ReLu,PReLu,RReLu,ELU,SELU.

他们让ReLu在输入小于0时有少量输出,可略微改进性能,代价是速度会慢一些。

4.Swish激活函数

$f(x)=x\cdot\sigma(\betax)$,其中$\beta$可固定为1。

在MXnet的使用。

tmp=mx.sym.sigmoid(in)
out=mx.sym.broadcast_mul(in,tmp)#将它点对点乘以输入,得到输出

猜你喜欢

转载自www.cnblogs.com/cold-city/p/10459300.html