常用激活函数

一、Sigmoid函数 /逻辑斯谛回归函数

理想下的激活函数满足条件:

1.单侧饱和,可以避免噪声,截断为0

2.输出值分布在0的两侧

\sigma = \frac{1}{1+e^{-x}}

优点

Sigmoid 函数取值范围为(0,1),这可以对输出进行归一化,使其可解释为概率值,非常适合二分类问题中的输出层

缺点

1. 输入的绝对值越来越大,梯度\Delta W逐渐接近于0,会发生梯度饱和,链式求导过程中出现梯度消失现象,导致模型无法收敛

W^{t+1} = W^{t}-u\Delta W^{t}

2.x_{i}为神经元输入,\frac{\partial L}{\partial f }为损失函数,u为学习率

W_{i}^{t+1}=w_{i}^{t}-ux_{i}\cdot \frac{\partial L}{\partial f}

各权重w损失函数值相同,不同在于x_{i},它的值取决于Sigmoid,因此取值恒大于0

因此ux_{i}\cdot \frac{\partial L}{\partial f}的正 负一致,即w更新方向一致

3.sigmoid函数存在复杂的幂运算,存在运算效率问题

w的更新方向相同,则迭代需要走Z型,导致模型收敛速度减慢

二、tanh函数/双曲正切函数

tanh(x) = \frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}

优点

tanh值域为(-1,1)能够有效解决sigmoid函数恒大于0,收敛慢的问题

缺点

1.依旧存在梯度饱和问题,会出现梯度消失

2.tanh函数存在复杂的幂运算,存在运算效率问题

三、ReLU函数/线性整流函数

ReLU(x) = max(0,x)

 

优点

1.深度学习常用的激活函数,输入为正值时,梯恒为1,激活函数等于输入值,解决了梯度消失的问题

2.ReLU函数只存在线性关系,计算复杂度小,运算效率高

缺点

1.当ReLU输入为负值时,输出为0,反向传播更新参数时, 对应梯度为0,W则得不到更新,此外若学习率u过大,更新的W会成为负值,通过ReLU函数输出为0,导致神经元永久输出为0神经元会出现永久失活。常被称为Dead ReLU问题 

W^{t+1} = W^{t}-u\Delta W^{t}

2.ReLU输出值为为负,存在梯度更新时,收敛速度慢的问题

四、Leaky ReLU函数

LeakyReLU(x)=\left\{\begin{matrix} \ x, x>0\\ \alpha x, x\leq 0 \end{matrix}\right.

优点

1.可以有效解决Dead ReLU问题

\alpha为一个很小的正数,通常设置为0.01,当输入值小于等于0时,激活函数输出为一个很小的负值, 反向传播过程中,输入小于0的部分也可以得到梯度

缺点

1.性能依赖于取得的参数\alpha

\alpha取值方法:

- 随机Leaky ReLU

\alpha分布满足均值为0,标准差为1的正态分布,同时引入随机噪声,可以帮助参数跳出局部最优点和鞍点

-  Parametric ReLU

\alpha作为学习参数

2.用于深度神经网络时,在反向传播过程中,由于连乘效应可能发生梯度消失

五、ELU激活函数

ELU(x)=\left\{\begin{matrix} x, x>0\\\alpha(e^{x}-1),x\leq 0 \end{matrix}\right.

优点

1.满足单侧饱和带来的优势,提高网络的训练速度和稳定性

2.减少梯度爆炸问题,ELU在负输入值时输出的下限。当 x 的值变得非常小(即远小于0)时,e^{x}\rightarrow 0,因此 e^{x}-1\rightarrow -1,使得ELU的输出趋近于 -\alpha。这意味着无论输入值下降到多么低,ELU的输出都会趋于一个常数值 -\alpha,而不是继续减小,限制了梯度增幅

缺点

1.性能会依赖于参数\alpha,通常参数\alpha=1

2.ReLU及其变种相比,ELU在负输入部分涉及指数运算,这使得它的计算成本相对更高,特别是在前向传播和反向传播过程中。

3.用于深度神经网络时,在反向传播过程中,由于连乘效应可能发生梯度消失

六、Swish激活函数

\sigma为sigmoid函数,\beta为可调节参数

Swish(x)=x\cdot \sigma (\beta\cdot x)

sigmoid函数起到类似门控单元的作用,Swish激活函数将输入信号现通过门控单元,得到的输出再与输入信号相乘得到最终输出。

门控单元信号大于0时,swish函数激活;门控单元信号小于0时,swish函数失活

优点

1.非单调性的性质,可以提高训练速度,同时能够提高神经网络的准确率

2.负输入值不是完全为0,减少梯度消失的问题

缺点

1.相比于ReLU及其他简单变体相比,运算量更大

2.\beta参数影响训练效果,同时可能也会发生过拟合

  • 29
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值