打字猴:1.70053806e+09
1700538060
1700538061 分析与解答
1700538062
1700538063
1700538064 Sigmoid激活函数的曲线如图9.7所示。它将输入z映射到区间(0,1),当z很大时,f(z)趋近于1;当z很小时,f(z)趋近于0。其导数在z很大或很小时都会趋近于0,造成梯度消失的现象。
1700538065
1700538066
1700538067 Tanh激活函数的曲线如图9.8所示。当z很大时,f(z)趋近于1;当z很小时,f(z)趋近于−1。其导数在z很大或很小时都会趋近于0,同样会出现“梯度消失”。实际上,Tanh激活函数相当于Sigmoid的平移:
1700538068
1700538069 tanh(x)=2sigmoid(2x)−1 .
1700538070
1700538071 (9.9)
1700538072
1700538073
1700538074
1700538075
1700538076 图9.7 Sigmoid激活函数
1700538077
1700538078
1700538079
1700538080
1700538081 图9.8 Tanh激活函数
1700538082
1700538083 问题3 ReLU系列的激活函数相对于Sigmoid和Tanh激活函数的优点是什么?它们有什么局限性以及如何改进?
1700538084
1700538085 难度:★★★☆☆
1700538086
1700538087 分析与解答
1700538088
1700538089 ■ 优点
1700538090
1700538091 (1)从计算的角度上,Sigmoid和Tanh激活函数均需要计算指数,复杂度高,而ReLU只需要一个阈值即可得到激活值。
1700538092
1700538093 (2)ReLU的非饱和性可以有效地解决梯度消失的问题,提供相对宽的激活边界。
1700538094
1700538095 (3)ReLU的单侧抑制提供了网络的稀疏表达能力。
1700538096
1700538097 ■ 局限性
1700538098
1700538099
1700538100 ReLU的局限性在于其训练过程中会导致神经元死亡的问题。这是由于函数导致负梯度在经过该ReLU单元时被置为0,且在之后也不被任何数据激活,即流经该神经元的梯度永远为0,不对任何数据产生响应。在实际训练中,如果学习率(Learning Rate)设置较大,会导致超过一定比例的神经元不可逆死亡,进而参数梯度无法更新,整个训练过程失败。
1700538101
1700538102 为解决这一问题,人们设计了ReLU的变种Leaky ReLU(LReLU),其形式表示为
1700538103
1700538104
1700538105
1700538106
1700538107 (9.10)
1700538108
1700538109 ReLU和LReLU的函数曲线对比如图9.9所示。LReLU与ReLU的区别在于,当z<0时其值不为0,而是一个斜率为a的线性函数,一般a为一个很小的正常数,这样既实现了单侧抑制,又保留了部分负梯度信息以致不完全丢失。但另一方面,a值的选择增加了问题难度,需要较强的人工先验或多次重复训练以确定合适的参数值。
[ 上一页 ]  [ :1.70053806e+09 ]  [ 下一页 ]