【机器学习与深度学习理论要点】02.什么是激活函数,神经网络中常用的激活函数都有哪些,各自的特点?
激活函数:
神经网络中将输入信号的总和转换为输出信号的函数,激活函数将多层感知机输出转换为非线性,使得神经网络可以任意逼近任何非线性函数,使神经网络可以应用到众多的非线性模型中。
常用的激活函数及特点:
1)sigmoid
① 定义:sigmoid函数也叫Logistic函数,用于隐层神经元输出,能将
(
−
∞
,
+
∞
)
(-\infty,+\infty)
(−∞,+∞)的数值映射到(0,1)的区间,可以用来做二分类。表达式为:
f
(
x
)
=
1
1
+
e
−
x
f(x) = \frac{1}{1+e^{-x}}
f(x)=1+e−x1
② 特点
- 优点:关于(0,0.5)对称,平滑、易于求导
- 缺点:激活函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时,很容易就会出现梯度消失
2)tanh
①定义:双曲线正切函数,表达式为:
f
(
x
)
=
1
−
e
−
2
x
1
+
e
−
2
x
f(x) = \frac{1-e^{-2x}}{1+e^{-2x}}
f(x)=1+e−2x1−e−2x
②特点:
- 优点:关于坐标原点对称,平滑,易于求导,输出均值为0,收敛速度比sigmoid快,从而可以减少迭代次数。
- 缺点:很容易出现梯度消失。
3)Relu
①定义:修正线性单元,其表达式为:
f
(
x
)
=
{
x
(
x
>
0
)
0
(
x
<
=
0
)
f(x) = \begin{cases} x & (x>0)\\ 0 & (x<=0) \end{cases}
f(x)={x0(x>0)(x<=0)
②特点:
- 优点:计算过程简单,避免了梯度爆炸和梯度消失。
- 缺点:小于等于0时无输出。
前两者sigmoid/tanh比较常见于全连接层,后者relu常见于卷积层