深度学习:激活函数(Activation Functions )

激活函数指的是,我们在应用于神经网络中的函数,(通常)应用于在输入特征结合权重和输入特征应用仿射变换操作之后。激活函数是典型的非线性函数。ReLU是过去十年中最流行的一种。激活函数的选择与网络结构有关,而且近年来出现了许多替代方案。

1、Rectified Linear Units (Relu)

ReLU在正维度上是线性的,在负维度上是零。函数中的扭结是非线性的来源。正维度的线性的特性是,尽管只有负维度线的一半梯度为零,但仍可以防止梯度的非饱和(与Sigmoid相反)。

f\left(x\right) = \max\left(0, x\right)

 2、Sigmoid Activation

Sigmoid激活函数的缺点是:从更深的隐藏层到输入的反向传播过程中,存在急剧的梯度阻碍、梯度饱和和缓慢的收敛问题。

f\left(x\right) = \frac{1}{\left(1+\exp\left(-x\right)\right)}

3、Tanh Activation

实际上,Tanh函数比Sigmoid函数更受欢迎,因为它在多层神经网络中具有更好的性能。但Tanh并没有解决sigmoids所面临的梯度消失问题,梯度消失的问题在ReLU函数中得到有效地解决。

 f\left(x\right) = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}

 

3、Leaky Relu

Leaky ReLU是一种基于ReLU的激活函数。它对负值的计算的斜率很小,不像Relu那样是平坦的斜率。斜率系数a是在训练前确定的,作为超参进行微调,在训练中不学习。这种类型的激活函数在遇到稀疏梯度的任务中可进行使用,例如训练生成式对抗网络(GAN)。

 4、Gaussian Error Linear Units (GRELU)

GELU激活函数是x\Phi(x),在\Phi(x)是标准高斯累积分布函数。GELU非线性用百分比来加权输入,而不是像Relu(x\mathbf{1}_{x>0})那样用符号来加权输入。所以,GELU可以被认为是一个更平滑的ReLU。

\text{GELU}\left(x\right) = x{P}\left(X\leq{x}\right) = x\Phi\left(x\right) = x \cdot \frac{1}{2}\left[1 + \text{erf}(x/\sqrt{2})\right],X\sim \mathcal{N}(0,1)

在实际使用中,可以使用0.5x\left(1+\tanh\left[\sqrt{2/\pi}\left(x + 0.044715x^{3}\right)\right]\right)或者x\sigma\left(1.702x\right)近似GRELU。但PyTorch的精确实现足够快,因此这些近似可能是不必要的。GELU被用在GBT-3, BERT, 和其他类型的Transformers中.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MarkJhon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值