本文主要介绍神经网络中几种常见的激活函数:Sigmoid
, Tanh
, ReLU
和 Softmax
。
Sigmoid
这个应该是我们最熟悉的激活函数了,在处理二元分类任务时经常用到,它的公式是:
$$
f(x)=\frac{1}{1+e^{-x}}
$$
它的函数图像如下:
TanH
在Sigmoid的基础上做一个变形,把曲线整体下拉0.5个单位(经过原点)就得到TanH,它的公式是:
$$
{\displaystyle f(x)=\tanh(x)={\frac {2}{1+e^{-2x}}}-1}
$$
它的函数图像如下:
ReLU
我们知道Sigmoid在早期的机器学习中使用非常多,但是在深度神经网络中却被舍弃了,主要有两个原因:
- 容易出现梯度消失问题
因为它越远离原点处,曲线越平缓,导数也就会接近于0。这样在进行反向传播时,由于连乘效应很可能会导致梯度消失。 - 激活函数计算量略大,涉及到除法和幂计算
后来一种新的激活函数ReLU在AlexNet中被提出,解决了上述问题,也就此成为了深度学习中最常用的激活函数。ReLU,即线性整流函数(Rectifie[……]