1、常用激活函数
Rectified Linear Unit(ReLU) - 用于隐层神经元输出
Sigmoid - 用于隐层神经元输出
Softmax - 用于多分类神经网络输出
Linear - 用于回归神经网络输出(或二分类问题)
常用激活函数介绍参考:
https://blog.csdn.net/Leo_Xu06/article/details/53708647
https://blog.csdn.net/sinat_29957455/article/details/81841278
https://www.cnblogs.com/ymjyqsx/p/11379726.html
2、最后一层激活函数的使用总结
在选择最后一层的激活函数时,有许多玄学。
在神经网络产生输出后,你也许会将其裁剪到[-1, 1]的区间。那将这个裁剪过程当作最后一层的激活函数,这似乎是有意义的,因为这将确保网络中的误差函数不会对不在[-1, 1]区间外的值进行惩罚。但是没有误差意味着区间外的这些值没有对应梯度,这在某些情况下无法进行网络训练。
或者,你也可以在最后一层使用tanh函数,因为这个激活函数的输出范围是[-1, 1]。但是这也可能出现问题,因为这个函数在1或-1附近时斜率变得很大,可能会使权重大幅增加,最终只产生-1或1的输出。
一般来说,最好的选择通常是采用求稳策略,在最后一层不使用任何激活函数,而不是试图使用一些机灵的技巧,可能会适得其反。
参考:https://zhuanlan.zhihu.com/p/29247151