目录
一、sigmoid函数
1)函数表达式
2)导数图
导数区间【0,0.25】(粉色)
3)优缺点及适用范围
在什么情况下适合使用 Sigmoid激活函数呢?
- Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化;
- 二分类问题,由于概率的取值范围是 0 到 1,因此 Sigmoid 函数非常合适;
- 多标签问题,一个样本属于多个类别,可以用sigmoid函数对每个类别的概率单独计算;
- 线性回归问题,预测绝对数值。
Sigmoid激活函数有哪些缺点?
- 倾向于梯度消失;
- 函数输出不是以 0 为中心的,这会降低权重更新的效率;(激活函数以0为中心的问题 - 知乎 (zhihu.com))
- Sigmoid 函数执行指数运算,计算机运行得较慢。
二、tanh函数
1)函数表达式
2)导数图
导数区间:【0,1】(橙色)
3)sigmoid和tanh共有的问题:
反向传播时会出现梯度消失现象。
三、relu函数
1)函数表达式:
2)优缺点
优点:
- 计算速度快得多。ReLU 函数中只存在线性关系,因此它的计算速度比 sigmoid 和 tanh 更快。
- 不容易出现梯度消失。
缺点:
- Dead ReLU 问题。当输入为负时,ReLU 完全失效,在正向传播过程中,这不是问题。有些区域很敏感,有些则不敏感。但是在反向传播过程中,如果输入负数,则梯度将完全为零,sigmoid 函数和 tanh 函数也具有相同的问题;
四、leaky relu函数
1)改进
- Leaky ReLU 通过把 x 的非常小的线性分量给予负输入(0.01x)来调整负值的零梯度(zero gradients)问题;
- leak 有助于扩大 ReLU 函数的范围,通常 a 的值为 0.01 左右;
- Leaky ReLU 的函数范围是(负无穷到正无穷)。