深度学习基础与应用解析
1. 改进的激活函数
训练深度网络困难的主要原因之一是消失梯度问题。以使用反向传播训练具有多个隐藏层且每层采用逻辑Sigmoid激活函数的常规多层感知器(MLP)为例,来理解消失梯度问题。
1.1 Sigmoid函数的问题
Sigmoid函数计算公式为 $\sigma(x) = \frac{1}{1 + e^{-x}}$ 。消失梯度问题主要体现在以下两个方面:
- 前向传播 :第一个Sigmoid层的输出落在(0, 1)范围内,随着层数增加,激活值会被“压缩”在一个狭窄范围,无论输入值如何,都会收敛到约0.66。例如,输入值为2时,$\sigma(2) = 0.881$,$\sigma(\sigma(2)) = 0.71$,$\sigma(\sigma(\sigma(2))) = 0.67$ ,这会抹去前层的信息。
- 反向传播 :Sigmoid函数的导数在以0为中心的非常狭窄区间内有显著值,在其他情况下趋近于0。在多层网络中,导数传播到网络的前层时很可能趋近于0,导致无法将误差传播到这些层,也就无法有效更新其权重。
1.2 ReLU激活函数
ReLU激活函数能有效解决上述两个问题,其图像和导数如下:
ReLU具有
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



