激活函数 (笔记) (吴恩达深度学习)
·
1.概念
(1)激活函数:类似于sigmoid函数这种作为隐藏层、输出层的计算函数叫做激活函数
2.为什么需要非线性激活函数 / 为什么不让a = z
- 如果不引入非线性激活函数,直接让a = z,多层神经网络就会退化为一层,本质还是线性函数,无法学习数据中的非线性关系(图像、语言等)
- 而引入了非线性激活函数,即使面对复杂的非线性问题,通过多层网络的非线性叠加,就能逼近 y = x^2 的曲线(梯度下降用),从而训练神经网络能力,解决问题
3.tanh函数
(1)形式:tanh(z) = (e^z+e^{-z}) / (e^z +e{-z})
(2)图示(可看做 σ(z)平移+上下扩大的结果)

(3)tanh函数 和 sigmoid函数
- 大多数时候,隐藏层函数选择tanh函数要优于sigmoid函数:tanh函数的数据中心化特点,使函数输出的平均值趋于0而不是0.5,可使某些计算简便一些
- 但在输出层,sigmoid函数要好:最终结果的输出为0和1更合理,比如二分分类输出层
- 不同层的激活函数可不同
4.ReLU函数(最常用)
(1)形式:ReLU(z) = max(0,z)
(2)图示

(3)优点
- 相比于 sigmoid函数 和 tanh函数,ReLU函数的斜率稳定,梯度下降法的效率稳定,而另两个在Z特别大时斜率趋于0,会拖慢梯度下降法的效率
- 虽然ReLU函数在0处的斜率无定义,但我们可以自己赋值,且实际中很少会遇到情况
5.缺陷ReLU函数
- 针对ReLU函数z<0时的修改,在 z < 0时斜率不为0
(1)形式 leaky ReLU(z) = max(0.01z,z)
(2)图示

更多推荐
所有评论(0)