神经网络中权值初始化的方法
来源:互联网 发布:知乎什么时候成立的 编辑:程序博客网 时间:2024/06/10 04:11
权值初始化的方法主要有:常量初始化(constant)、高斯分布初始化(gaussian)、positive_unitball初始化、均匀分布初始化(uniform)、xavier初始化、msra初始化、双线性初始化(bilinear)
常量初始化(constant)
把权值或者偏置初始化为一个常数,具体是什么常数,可以自己定义
高斯分布初始化(gaussian)
需要给定高斯函数的均值与标准差
positive_unitball初始化
让每一个神经元的输入的权值和为 1,例如:一个神经元有100个输入,让这100个输入的权值和为1. 首先给这100个权值赋值为在(0,1)之间的均匀分布,然后,每一个权值再除以它们的和就可以啦。这么做,可以有助于防止权值初始化过大,从而防止激活函数(sigmoid函数)进入饱和区。所以,它应该比较适合simgmoid形的激活函数
均匀分布初始化(uniform)
将权值与偏置进行均匀分布的初始化,用min 与 max 来控制它们的的上下限,默认为(0,1)
xavier初始化
对于权值的分布:均值为0,方差为(1 / 输入的个数) 的 均匀分布。如果我们更注重前向传播的话,我们可以选择 fan_in,即正向传播的输入个数;如果更注重后向传播的话,我们选择 fan_out, 因为在反向传播的时候,fan_out就是神经元的输入个数;如果两者都考虑的话,就选 average = (fan_in + fan_out) /2。对于ReLU激活函数来说,XavierFiller初始化也是很适合。关于该初始化方法,具体可以参考文章1、文章2,该方法假定激活函数是线性的。
msra初始化
对于权值的分布:基于均值为0,方差为( 2/输入的个数)的高斯分布;它特别适合 ReLU激活函数,该方法主要是基于Relu函数提出的,推导过程类似于xavier,可以参考博客。
双线性初始化(bilinear)
常用在反卷积神经网络里的权值初始化
- 神经网络中权值初始化的方法
- 神经网络超参之权重初始化的方法
- 深度神经网络的权重初始化
- 神经网络基本原理-4.4神经网络之权重初始化方法
- 关于神经网络权值初始化的讲究
- 带有xavier初始化、dropout的多层神经网络
- 深层神经网络的权值初始化问题
- 初始化(2)--初始化的方法
- 神经网络梯度下降优化算法及初始化方法小结
- 卷积神经网络的训练方法
- 可视化神经网络的一些方法
- 基于神经网络的DQN方法
- 初始化数组的方法
- 联合体初始化的方法
- struct的初始化方法
- 对象的初始化方法
- Swift的初始化方法
- KMeans++的初始化方法
- ArrayList和LinkedList的区别
- Floyd算法
- 牛客面经 | BAT、美团、360、滴滴新锐……2W字干货,这不仅仅是一篇面经
- Please allow Subclipse team to receive anonymous usage statistics for this Eclipse intance(info)
- LeetCode
- 神经网络中权值初始化的方法
- ubuntu16.04下安装phpmyadmin
- css实现div层透明毛玻璃
- CSDN日报20170727——《想提高团队技术,来试试这个套路!》
- 3252. Round Numbers
- 合并游戏 737(区间Dp
- shell中curl 用法详解 (二)
- 2017多校训练赛第二场 HDU 6053 TrickGCD(容斥原理/莫比乌斯反演)
- bootstrapTable的使用