selu激活函数



最近出现了一个新的激活函数:缩放指数线性单元(scaled exponential linear units,selu),根据该激活函数得到的网络具有自归一化功能。

首先给出文章地址:https://arxiv.org/pdf/1706.02515.pdf

然后大概讲一下这个激活函数的作用(个人理解,也有可能有误)。 
一般在深度学习中,在每层添加批处理能够使得网络收敛的更快,同时在效果上也有提升。 
这篇文章就在思考,能不能够提出一种激活函数,经过该激活函数后使得样本分布自动归一化到0均值和单位方差,在这篇文章中,作者给出了长达97的证明,证明了在满足以下两个条件的情况下,使用该激活函数后使得样本分布满足零均值和单位方差: 
1 按照给定的参数对权重初始化:对于正态分布的初始化,初始化参数为0均值,方差为sqrt(1/n),n是输入的通道个数,在tensorflow里面提供的比较好的实现: 
tf.initializers.variance_scaling_initializer(factor=1.0,model=’FAN_IN’) 
也可以自己直接指定,详细的参数介绍可以看看下面的网站:http://www.cnblogs.com/denny402/p/6932956.html 
2 按照给定的参数对样本计算激活函数: 
这里写图片描述 
其中lamada:1.0507009873554804934193349852946 
alpha:1.6732632423543772848170429916717 
这两个值是在文章中进行证明后得到的,如果需要得到归一化后得到指定均值和方差的lamada和alpha,文章中也给出了相应的计算公式。

下面给出tensorflow中实现的selu激活函数:

def selu(x):
  with ops.name_scope('elu') as scope:
    alpha = 1.6732632423543772848170429916717
    scale = 1.0507009873554804934193349852946
    return scale*tf.where(x>0.0,x,alpha*tf.nn.elu(x))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

熊野君

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

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

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

打赏作者

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

抵扣说明:

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

余额充值