深度学习--激活函数

前言

深度学习模型中网络层中经常会用的激活函数,是神经网络不可或缺的一部分。激活函数会影响输入节点的输出,激活函数的选择是非常重要的,极大的影响模型训练的好坏。


一、为什么要用激活函数?

神经网络的激活函数的主要作用就是将线性函数转换成非线性函数。神经网络都是由一系列的y=wx+b组成,y=wx+b是线性函数,不管采用多少个隐藏层其组合也都是线性函数,不能解决非线性问题,因此,需要引入激活函数来进行非线性变换。如果不采用激活函数,那么不论神经网络有多少层,每层输出都是线性函数的组合,只跟有一个隐藏层是没有去别的。

神经网络大多数是基于梯度下降来更新网络参数的,因此要求激活函数是可微的以保证能够进行梯度下降。常见的激活函数主要有relu、leaky-relu、sigmoid、tanh和softmax函数。
在这里插入图片描述

二、激活函数的种类

1.Relu函数

在这里插入图片描述
在这里插入图片描述
Relu激活函数是目前应用比较多的激活函数,基本上普遍使用。
优点:
1 解决梯度消失现象,x>0,梯度为1,否则为0
2 线性关系,加快了网络的训练速度
缺点:
1 Relu激活函数只对大于0的数值产生效果,小于0的数值没有激活效果
2 Relu函数并不是以0为中心的函数

2.Leaky_Relu函数

在这里插入图片描述
在这里插入图片描述
Leaky-Relu是Relu激活函数的变体,对于小于0的部分具有很小的梯度,梯度值为(是一个很小的数值),避免了神经元死亡,小于0时能使梯度进行缓慢的学习,整体的训练速度快。
优点:
1 避免出现神经元死亡的现象
2 线性关系,加快了网络的收敛速度
3 对于所有的输入,神经元不会饱和

3.sigmoid函数

在这里插入图片描述
在这里插入图片描述
sigmoid激活函数是早期使用较多的函数,它能将输出限制在(0, 1)内,可以将其转化成概率。
优点:
1 输出值为(0, 1),广泛应用于概率分布问题
2 在0附近时,梯度较大,为神经元兴奋去,趋于无穷时,为神经元抑制区
缺点:
1 在x趋于无穷时,sigmoid激活函数的梯度趋于0,出现梯度离散现象
2 指数运算,计算量比较大,网络的训练速度慢
3 非0均值

4.tanh函数

在这里插入图片描述
在这里插入图片描述
tanh激活函数与sigmoid激活函数类似,tanh激活函数将输出压缩在(-1, 1)区间。
优点:
1 tanh激活函数是以0为中心的,输出均值为0
2 收敛速度是比sigmoid函数快,减少迭代次数
缺点:
1 在x趋于无穷时,sigmoid激活函数的梯度趋于0,出现梯度离散现象
2 指数运算,计算量比较大,收敛速度慢


欢迎关注微信公众号:深度学习与路径规划在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值