【深度之眼cs231n第七期】笔记(十一)

激活函数

之前使用的激活函数都是Sigmoid函数,它能把得分压缩到(0,1)。Sigmoid函数曾经也很流行,但是Sigmoid函数有三个问题:

  1. 它是饱和神经元,会使梯度消失
  2. 它的输出全是正的,导致有些梯度不能直接更新
  3. 指数操作需要更多的计算量(神经网络整体计算量本来就很大了,指数操作会消耗更多的资源)

在这里插入图片描述
当z=-10时,Sigmoid(-10)≈0,Sigmoid对W求导(也就是W的梯度)约等于0,梯度消失
当z=10时,Sigmoid(10)≈1,Sigmoid对W求导约等于0,梯度消失
只有当z=0附近时,Sigmoid对W求导才不会等于0,梯度也不会消失;
在这里插入图片描述
在这里插入图片描述
如果一个神经元的输入全是正的,那么W的梯度不是全为正,就是全为负(就算激活函数不是Sigmoid函数也有这种情况,所以希望输入数据都是以零为中心的)。
在这里插入图片描述
假设一个二维W的负梯度方向在一三象限,那么可以直接向负梯度方向更新(右上角的绿色区域);
但是,如果负梯度方向在二四象限,由于W的梯度全为正或者全为负,更新的过程就比较曲折
在这里插入图片描述
tanh函数的输出是以零为中心的,解决了梯度更新方向的问题,但是依旧没有解决梯度消失的问题
在这里插入图片描述
ReLu函数的优点

  • 在正区域,梯度不会消失
  • 相对于sigmoid和tanh,计算量较小
  • 在生物学上,比sigmoid更加合理

但是它的输出不是以零为中心的,会导致梯度更新方向的问题
在这里插入图片描述
输入x小于等于0时,梯度会消失;在x大于零时,梯度才不会消失。
在这里插入图片描述
如果所有的输入都是负的,那么这个模型就不会再进行更新了,我们把它叫做死的ReLU
所以有些人会把ReLU神经元的偏置设为较小的正数,减缓梯度消失的情况。但是这种方法有的人说有用,有的人又说没用。
下图中灰色的代表所有的输入数据,线代表决策边界,箭头方向代表得分为正。
对于红色的决策边界,现在所有输入都在得分为负的一边,所以ReLU不再更新。而对于绿色的决策边界,输入数据的得分有正有负,所以它还会继续更新。
在这里插入图片描述
Leaky ReLU和PReLU保留了ReLU的优点,而且它们在输入为负数时也不会梯度消失
在这里插入图片描述
ELU保留了ReLU的优点,并改进了ReLU的输出中心不为零的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值