激活函数全家桶

大家好,我是一苟

这一期主要和大家分享一下常见的激活函数

神经网络是线性的,无法解决非线性的问题,加入激活函数就是给模型引入非线性能力

下面具体来介绍一下激活函数:

激活函数_神经网络非线性_激活函数种类

函数的取值范围为(0,1),激活函数导数取值范围为

因为激活函数的导数最大值小于1,反向传播的时候,由于链式求导,很容易出现梯度消失的问题(这也是面试中常见考点)

Tanh

激活函数种类_激活函数_神经网络非线性

从上式可以发现,激活函数进行平移和拉伸可以得到Tanh激活函数

tanh的取值范围为(-1,1),导数的取值范围为(0,1),虽然对进行了一定程度上的改进,但仍存在梯度消失的问题

激活函数种类_激活函数_神经网络非线性

ReLU

全称为 Unit,即修正线性单元函数

从下图可以发现,激活函数导数的取值为0或者1

神经网络非线性_激活函数种类_激活函数

当z>0时,ReLU 激活函数的导数恒为常数1,这就避免了 和 tanh 会在神经网络层数比较深的时候出现的梯度消失的问题;但z

此外,使用 ReLU 作为激活函数,模型收敛的速度比 和 tanh 快;

Leaky ReLU

这是对ReLU的一个改进,主要是考虑到ReLU激活函数在z

虽然能够在一定程度上解决dead ReLU的问题,但是效果并不稳定

激活函数种类_激活函数_神经网络非线性

ELU

ELU 的提出也解决了 ReLU 的问题。与 ReLU 相比,ELU 有负值,这会使激活的平均值接近零,让模型学习得更快

神经网络非线性_激活函数种类_激活函数

其中 αα不是固定的,是通过反向传播学习出来的

融合了和ReLU,左侧具有软饱和性,右侧无饱和性

激活函数种类_激活函数_神经网络非线性

GeLU

出自2016年的论文《 Error Units (GELUs)》

激活函数_激活函数种类_神经网络非线性 激活函数_激活函数种类_神经网络非线性

GELU 激活函数的优缺点:

Swish

出自2017年的论文《 for 》

激活函数种类_神经网络非线性_激活函数

Swish激活函数就是在激活函数的基础上乘上x

激活函数_激活函数种类_神经网络非线性

GLU

GLU 全称为 Gated Unit,即门控线性单元函数。

激活函数_神经网络非线性_激活函数种类

对于激活函数知识点的考察,基本上就围绕梯度消失,函数或者导数的取值范围这几个点来考

掌握每个激活函数的特性,也利于设计更好的神经网络模型

© 版权声明

相关文章

暂无评论

none
暂无评论...