【深度学习】为什么使用ReLU作为激活函数,ReLU比sigmoid优秀在哪里

推动深度学习变得兴起的主要因素包括:数据规模、计算量及算法的创新。

当前大多数算法的创新都是为了提升运算能力,使运算速度更快,尤其对于复杂的神经网络、大规模的数据而言运算效率确实非常重要,而用ReLU替换sigmoid作为激活函数,便是其中算法创新的一个典型案例。

为什么使用ReLU作为激活函数,ReLU比sigmoid优秀在哪里

从图中可以看到,在sigmoid函数箭头所指区域,梯度会接近零,梯度接近零学习的速度会变得非常缓慢,因为当你实现梯度下降以及梯度接近零的时候,参数会更新的很慢,所以学习的速率也会变的很慢。

而通过改变这个激活函数,神经网络换用ReLU(Rectified Linear Unit 修正线性单元)函数,ReLU它的梯度对于所有输入的负值都是零,因此梯度更加不会趋向逐渐减少到零。而这里的梯度,这条线的斜率在这左边是零,仅仅通过将sigmod函数转换成ReLU函数,便能够使得一个叫做梯度下降(Gradient Descent)的算法运行的更快。


顺便介绍一下sigmoid函数

sigmoid往往用于概率问题的激活函数。当你想得到的是神经网络预测结果为某一实际值的概率为多少时,比如说预测出这张照片为猫的概率,那么这个预测结果就应该在0到1之间。而本来的神经网络模型函数的结果可能比1要大得多,或者甚至有可能为一个负值。对于你想要的在0和1之间的概率来说它是没有意义的,因此在逻辑回归中,我们的网络输出应该是等于由上面得到的线性函数式子作为自变量的sigmoid函数中,将线性函数转换为非线性函数。

关于sigmoid函数的公式是这样的,,在这里z是一个实数,这里要说明一些要注意的事情,如果非常大那么z将会接近于0,关于的sigmoid函数将会近似等于1除以1加上某个非常接近于0的项,因为e的指数如果是个绝对值很大的负数的话,这项将会接近于0,所以如果很大的话那么关于z的sigmoid函数会非常接近1。相反地,如果非常小或者说是一个绝对值很大的负数,那么关于这项会变成一个很大的数,你可以认为这是1除以1加上一个非常非常大的数,所以这个就接近于0。实际上你看到当z变成一个绝对值很大的负数,关于z的sigmoid函数就会非常接近于0,因此当你实现逻辑回归时,你的工作就是去让机器学习参数w以及b这样才使得预测结果成为对y=1这一情况的概率的一个很好的估计。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值