常用激活函数

Sigmoid

$\sigma \left( z \right) = \frac{1}{{1 + {e^{ - z}}}}$,${\sigma ^`}\left( z \right) = \sigma \left( z \right)\left( {1 - \sigma \left( z \right)} \right)$

优点:求导容易,单调连续,输出范围在0到1之间。

缺点:导数小于0.25,在大部分区间都饱和,容易造成梯度消失。

 

tanh

$\tanh \left( z \right) = \frac{{{e^z} - {e^{ - z}}}}{{{e^z} + {e^{ - z}}}} = 2sigmoid\left( {2z} \right) - 1$,${t^`}\left( z \right) = 1 - {\left( {t\left( z \right)} \right)^2}$

优点:比sigmoid收敛快,在0附近近似为线性,以0为中心。

缺点:梯度小于等于1,还是容易造成梯度消失。

 

ReLU

$ReLU\left( z \right) = \max \left( {0,z} \right)$

优点:大于0部分梯度恒为1,不容易造成梯度消失和梯度爆炸,收敛速度快,提供了网络的稀疏表达能力。

缺点:可能会造成神经元死亡,输出不是以0为中心的。

 

softplus

$softplus\left( z \right) = \log \left( {1 + {e^z}} \right)$

 

softmax

$soft\max \left( {{z_i}} \right) = \frac{{{e^{{z_i}}}}}{{\sum\limits_{j = 1}^n {{e^{{z_j}}}} }}$,$\frac{{\partial {S_i}}}{{{z_j}}} = \left\{ {\begin{array}{*{20}{c}}
{{S_i}\left( {1 - {S_j}} \right),i = j}\\
{ - {S_j}{S_i},i \ne j}
\end{array}} \right.$

softmax并不会改变输出层的相对大小,所以为了减少计算量,神经网络在推理阶段一般不会计算softmax值,只在学习阶段计算softmax值。

 

posted @ 2019-06-24 17:01  xd_xumaomao  阅读(260)  评论(0编辑  收藏  举报