神经网络激活函数的选择

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络激活函数的选择相关的知识,希望对你有一定的参考价值。

1. 激活函数的选择

涉及到网络的优化时候,会有不同的激活函数选择有一个问题是神经网络的隐藏层输出单元用什么激活函数。之前我们都是选用 sigmoid 函数,但有时其他函数的效果会好得多,大多数通过实践得来,没有很好的解释性。

请参考初识:神经网络

可供选用的激活函数有:

  • tanh 函数(the hyperbolic tangent function,双曲正切函数):

效果比 sigmoid 函数好,因为函数输出介于 -1 和 1 之间。

  • ReLU 函数(the rectified linear unit,修正线性单元)

当 z > 0 时,梯度始终为 1,从而提高神经网络基于梯度算法的运算速度,收敛速度远大于 sigmoid 和 tanh。然而当 z < 0 时,梯度一直为 0,但是实际的运用中,该缺陷的影响不是很大。

  • Leaky ReLU(带泄漏的 ReLU):


Leaky ReLU 保证在 z < 0 的时候,梯度仍然不为 0。理论上来说,Leaky ReLU 有 ReLU 的所有优点,但在实际操作中没有证明总是好于 ReLU,因此不常用。

2. 为什么需要非线性的激活函数?

使用线性激活函数和不使用激活函数、直接使用 Logistic 回归没有区别,那么无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,就成了最原始的感知器了。


深度学习难以在大数据领域发挥最大效果的一个原因是,在巨大的数据集基础上进行训练速度很慢。而优化算法能够帮助我们快速训练模型,提高计算效率。接下来我么就去看有哪些方法能够解决我们刚才遇到的问题或者类似的问题。

3. 优化算法

请参考【超重量级】深层神经网络与优化算法

加油!

感谢!

努力!

以上是关于神经网络激活函数的选择的主要内容,如果未能解决你的问题,请参考以下文章

如何选择激活函数

从神经网络的不同成本函数和激活函数中进行选择

使用神经网络做二分类,输出层需要几个神经元?应该选择哪一种激活函数?如果要处理minst数据输出层需要几个神经元?使用那种激活函数?如果使用神经网络预测房价,输出层需要几个神经元使用什么激活函数?

常见激活函数Activation Function的选择

常用激活函数比较

机器学习之激活函数