深度学习中常见的激活函数总结
本文这里介绍了深度学习中常见的激活函数,因为深度学习在训练时利用反向传播的思
想, 需要计算激活函数的导数。针对以下四种激活, 介绍其特点:
1. sigmoid activation function
2. Tanh activation function
3. Rectified Linear Unit (ReLU)
4. Leaky linear unit (Leaky ReLU)
ReLU、 Leaky ReLU 两者的优点是:
第一,在 z z 的区间变动很大的情况下,激活函数的导数或者激活函数的斜率都会远大于0,在程序实现就是一个 if-else 语句,而 sigmoid 函数需要进行浮点四则运算,在实践中,使用 ReLu 激活函数神经网络通常会比使用 sigmoid 或者 tanh 激活函数学习的更快。
第二, sigmoid 和 tanh 函数的导数在正负饱和区的梯度都会接近于 0,这会造成梯度弥散,而 Relu 和 Leaky ReLu 函数大于 0 部分都为常熟,不会产生梯度弥散现象。 (同时应该注意到的是, Relu 进入负半区的时候,梯度为 0,神经元此时不会训练,产生所谓的稀疏性,而 Leaky ReLu 不会有这问题)。 在 ReLu 的梯度一半都是 0,但是,有足够的隐藏层使得 z 值大于 0,所以对大多数的训练数据来说学习过程仍然可以很快。
5.概括一下不同激活函数的过程和结论:
sigmoid 激活函数:除了输出层是一个二分类问题基本不会用它。
tanh 激活函数: tanh 是非常优秀的,几乎适合所有场合。
ReLu 激活函数:最常用的默认函数, 如果不确定用哪个激活函数,就使用 ReLu 或者
Leaky ReLu。