深度学习(五)激活函数的选择 & 浅层神经网络的梯度下降

概述

本篇中你将了解几种常见的激活函数,并看到在浅层神经网络中向后传播及梯度下降是如何进行的。
在这里插入图片描述


原文地址:深度学习(五)激活函数的选择 & 浅层神经网络的梯度下降

5.0 上篇回顾

在上一篇中,你见到了一个单输出的浅层(双层)神经网络是如何进行向前传播的,就同 Logistic 回归网络一样,不过多重复了几次单层网络的向前传播过程而已。

对于隐藏层而言,所有的隐藏单元与输入层都构成了简单的单层网络结构,所有的隐藏单元均进行一次向前传播(图1-0左),所有隐藏单元完成向前传播后,隐藏层的输出数据就作为输出层的输入数据,继续向前推进,完成输出层的向前传播(图1-0右)。

在这里插入图片描述

图 1-0 浅层神经网络的向前传播过程

如果你了解了 Logistic 回归的向前传播过程,那么浅层神经网络当中的向前传播是很好理解的。

还记得在上篇的末尾留下了一个问题,即激活函数的选择。在之前我们一直使用的是 sigmoid 函数:
σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1+e^{-z}} σ(z)=1+ez1
sigmoid 函数帮助我们将 Logistic 线性回归值进行归一化处理,得到一个位于区间 [ 0 , 1 ] [0,1] [0,1] 的概率输出。但在浅层神经网络以至于在深层神经网络当中,尽管 sigmoid 函数可以继续用于输出层,但往往不会作为隐藏层的激活函数,而是使用其它的一些函数,如 tanh、ReLU、Leaky ReLU 等,这是为什么?下面就来了解一下这些新奇的函数,以及为什么要使用这些函数而不是 sigmoid 函数吧。

5.1 激活函数的选择

tanh

tanh 函数是双曲函数中的一个,更准确的说是双曲正切函数。首先来看一看 tanh 函数,它的函数表达式是这样的:
tanh ⁡ ( z ) = e z − e − z e z + e − z \tanh(z) = \frac{e^{z} - e^{-z}}{e^{z} + e^{-z}} tanh(z)=ez+ezezez
如果你对数学敏感的话,或许可以发现它与 sigmoid 函数的相似之处。如果观察图像的话,可以更加直观地看到,tanh 函数的形态与 sigmoid 函数是非常相似的,事实上 tanh 就是 sigmoid 函数的一个伸缩平移版本,两者是线性相关的。

在这里插入图片描述

图 1-1 tanh 函数图像及其梯度图像

你可能会疑惑,既然 tanh 函数与 sigmoid 函数形态如此相似,为什么不直接使用 sigmoid 函数而是要换用一个看上去更复杂的 tanh 函数?答案很简单,tanh 函数可以很好的规避 sigmoid 函数导致的 zigzag 现象。如果你观察 tanh 函数的值域的话,你会发现它处于区间 [ − 1 , 1 ] [-1,1] [1,1],并且其中心点在坐标原点处,这意味着 tanh 是 0 均值的,这对神经网络的训练很有帮助。

零均值能避免 zigzag?能提高网络的训练效率?WHY?

如果你对原理不感兴趣,只需要知道上面一行黑体字是结论就行了。不过如果感兴趣,我们来从根本上看一看 s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值