吴恩达深度学习【week3】神经网络--激活函数的选择

之前的学习中,多数使用的是sigmoid作为激活函数

 

  • 下图是几个函数的图像

 

  • sigmoid的导数图像

  • ReLu的导数图像

结论就是sigmoid的导数只有在0附近的时候有比较好的激活性,在正负饱和区的梯度都接近于0,所以这会造成梯度弥散,而relu函数在大于0的部分梯度为常数(导数是相同的),所以不会产生梯度弥散现象。第二,relu函数在负半区的导数为0 ,所以一旦神经元激活值进入负半区,那么梯度就会为0,也就是说这个神经元不会经历训练,即所谓的稀疏性。第三,relu函数的导数计算更快,程序实现就是一个if-else语句,而sigmoid函数要进行浮点四则运算。

版权声明:上文内容转载于CSDN博主「迷川浩浩_ZJU」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_21190081/article/details/64127103


  • 这里说会产生梯度弥散,,什么是梯度弥散?

靠近输出层的hidden layer 梯度大(斜率大(靠近z=0)),参数更新快,所以很快就会收敛;

而靠近输入层的hidden layer 梯度小(斜率小(远离z=0)),参数更新慢,几乎就和初始状态一样,随机分布。

这种现象就是梯度弥散(vanishing gradient problem)。

而在另一种情况中,前面layer的梯度通过训练变大,而后面layer的梯度指数级增大,这种现象又叫做梯度爆炸(exploding gradient problem)。

//but有点没懂,relu在z<0的情况下的梯度是0,那参数岂不是不更新了/。。?/后面又查了一下这个问题,,所以又有了一个新的ReLU解决z<0的问题,leaky ReLU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值