激活函数详解

激活函数详解

ELU函数

在这里插入图片描述
       ELUs是“指数线性单元”,它试图将激活函数的平均值接近零,从而加快学习的速度。同时,它还能通过正值的标识来避免梯度消失的问题。根据一些研究,ELUs分类精确度是高于ReLUs的。具有relu的优势,且输出均值接近零,实际上preluLeakyReLU都有这一优点。有负数饱和区域,从而对噪声有一些鲁棒性。可以看做是介于reluLeakyReLU之间的一个东西。当然,这个函数也需要计算exp,从而计算量上更大一些。

Gelu函数

      bert源码中有一个神奇的激活函数,那就是GeLUs,在激活函数领域,大家公式的鄙视链应该是:Elus > Relu > Sigmoid ,这些激活函数都有自身的缺陷, sigmoid容易饱和,ElusRelu缺乏随机因素。
      bert源码给出的GELU代码表示如下:

def gelu(input_tensor):
	cdf = 0.5 * (1.0 + tf.erf(input_tensor / tf.sqrt(2.0)))
	return input_tesnsor*cdf

       GeLUs其实是dropout、zoneout、relus的综合,GeLUs对于输入乘以一个0,1组成的mask,而该mask的生成则是依概率随机的依赖于输入。假设输入为X, mask为m,则m服从一个伯努利分布 ( Φ ( x ) , Φ ( x ) = P ( X &lt; = x ) , X 服 从 正 态 分 布 ) (Φ(x),Φ(x)=P(X&lt;=x), X服从正态分布) (Φ(x)Φ(x)=P(X<=x),X)       这么选择是因为神经元的输入趋向于正太分布,这么设定使得当输入x减小的时候,输入会有一个更高的概率被dropout掉,这样的激活变换就会随机依赖于输入了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值