神经网络之常用的激活函数

一、如何选择激活函数

# 激活函数应该是非线性的、可微分的(需要梯度下降更新参数)、最好是输入和输出近似恒等(更稳定)
# 激活函数是单调函数时能保证单层神经网络损失函数为凸函数
# 激活函数输出为有限值时会更加稳定,而输出为无限值时,建议调小学习率

 二、常用激活函数

# sigmoid激活函数:深层神经网络参数更新可能导致梯度消失、输出都是大于零的值收敛速度慢、计算复杂度高:

 # tanh激活函数:有梯度消失问题、计算复杂度高

# relu激活函数:计算复杂度低、不会梯度消失、输出值的平均值不是零、收敛快于sigmoid但任然很慢、输入是负数时梯度为零可能有一些神经元永远不会被激活(就有一些参数永远不会更新,这是由于负数特征太多导致,可以采取随机初始参数中心化、减小学习率进行改进)

# leaky relu激活函数:解决了relu的缺点问题,相比relu在输入为负时,输出不为零,但并未证明比relu更好。

三、总结

# 总结:首选relu激活函数、选择较小学习率lr、输入值应该满足以零为均值的正态分布、采用随机初始参数中心化的方法去改进激活函数。

 参考链接:

https://blog.csdn.net/qq_23304241/article/details/80300149

猜你喜欢

转载自blog.csdn.net/qq_46006468/article/details/119653003
今日推荐