selu激活函数和自归一化网络(SNN)
来源:互联网 发布:千锋python视频教程 编辑:程序博客网 时间:2024/06/11 20:41
最近出现了一个新的激活函数:缩放指数线性单元(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))
- selu激活函数和自归一化网络(SNN)
- SeLU 激活函数
- selu激活函数
- SELU︱在keras、tensorflow中使用SELU激活函数
- SELU激活函数,scaled exponential linear units
- 自门控激活函数Swish
- matlab归一化和反归一化函数——mapminmax
- matlab归一化和反归一化函数——mapminmax
- 激活函数和损失函数
- 激活函数和损失函数
- 自归一化神经网络
- 学习笔记TF014:卷积层、激活函数、池化层、归一化层、高级层
- Tensorflow实战学习(十四)【卷积层、激活函数、池化层、归一化层、高级层】
- 激活函数和lose function
- Matlab中矩阵的归一化和正交化函数
- 神经网络激活函数和损失函数
- matlab归一化函数
- Matalb归一化函数
- 完全平方
- 小菜鸟从0基础开始学Linux系统
- 标签模板
- 线程池的原理及实现
- Android(定制的ListView的界面)
- selu激活函数和自归一化网络(SNN)
- 多线程
- 【SQL】在数据库中使用单条指令插入多条数据
- 对数据库操作,竟然忘记添加where条件
- Angular的学习
- 121. Best Time to Buy and Sell Stock
- Spark核心编程:创建RDD(集合、本地文件、HDFS文件)
- Servlet中Request, ServletContext,Session域和Jsp中Page域的区别
- 拾遗