GELU激活函数

GELU激活函数

论文:GAUSSIAN ERROR LINEAR UNITS (GELUS)

年份:2016

ReLU激活函数的公式可以理解为:
R e L U ( x ) = x ⋅ { 1 , x ≥ 0 0 , x < 0 ReLU(x) = x\cdot \begin{cases} 1,&x\ge 0\\ 0,&x<0 \end{cases} ReLU(x)=x{1,0,x0x<0
ReLU、Dropout等机制都希望将\textbf{不重要}的激活信息规整为零。也就是对于输入的值,根据它需要的情况乘以1或0,需要乘以谁不像ReLU人工定义,而是根输入有关。更为数学的描述,对于一个输入 x ∼ N ( 0 , 1 ) x\sim N(0, 1) xN(0,1),即 x x x服从标准正态分布,而输入 x x x还要乘上一个伯努利分布 B e r n o u l l i ( Φ ( x ) ) Bernoulli(\Phi(x)) Bernoulli(Φ(x))
随着 x x x的降低,输出值被归为0的概率就会升高。对于ReLU,这个界限就是0,输入小于0时,输出就归为0。
则怎么判断这个伯努利试验到底失败还是成功呢?则在引入 Φ ( x ) \Phi(x) Φ(x)来控制伯努利试验成功的概率即:
Φ ( x ) ⋅ I x + ( 1 − Φ ( x ) ) ⋅ 0 x = x ⋅ Φ ( x ) \Phi(x)\cdot Ix + (1-\Phi(x))\cdot 0x=x\cdot \Phi(x) Φ(x)Ix+(1Φ(x))0x=xΦ(x)
这个表达式表示根据 x x x比其它输入大多少来缩放它。由于高斯分布的累积分布函数通常用误差函数来计算,因此将高斯误差线性单元)(GELU)定义为:
G E L U ( x ) = x Φ ( x ) = x ⋅ 1 2 ( 1 + e r f ( x / 2 ) ) GELU(x) = x\Phi(x) = x\cdot \frac{1}{2}(1+erf(x/\sqrt{2})) GELU(x)=xΦ(x)=x21(1+erf(x/2 ))
近似于
G E L U ( x ) ≈ 0.5 x ( 1 + t a n h ( 2 / π ( x + 0.044715 x 3 ) ) ) ≈ x ⋅ s i g m o i d ( 1.702 x ) GELU(x) \approx 0.5x(1+tanh(\sqrt{2/\pi}(x+0.044715x^3)))\approx x\cdot sigmoid(1.702x) GELU(x)0.5x(1+tanh(2/π (x+0.044715x3)))xsigmoid(1.702x)

μ = 0 , σ = 1 \mu = 0,\sigma=1 μ=0,σ=1时,将GELU称为Sigmoid Linear Unit(SiLU)激活函数。

GELU激活函数的曲线和导数曲线如下图所示。
在这里插入图片描述

  • GELU为非单调激活函数,有助于保持小的负值,从而稳定网络梯度流;
  • GELU在0附近接近与恒等函数 x x x
  • GELU的最小值为-0.21,值域为 [ − 0.21 , + ∞ ] [-0.21, +\infty] [0.21,+]。上界是任何激活函数都需要的特征,因为这样可以避免导致训练速度急剧下降的梯度饱和,因此加快训练过程。无下界有助于实现强正则化效果;
  • GELU的梯度不容易造成梯度爆炸和梯度消失。
  • 光滑性:光滑的激活函数有较好的泛化能力和稳定的优化能力,可以提高模型的性能
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值