参数初始化

1.为什么不能全部设为0

https://zhuanlan.zhihu.com/p/27190255

简单来讲就是如果全为零那么每次更新的时候权重都一样

这里的deltaw和之前正想传播学习的a值什么的相关:因为正想传播所有的那个都一样,从而deltaw一样

preview

参考:https://zhuanlan.zhihu.com/p/24801814 

本来我们希望不同的结点学习到不同的参数,但是由于参数相同以及输出值都一样,不同的结点根本无法学到不同的特征!这样就失去了网络学习特征的意义了。

参考链接:https://zhuanlan.zhihu.com/p/38315135

 

简单的说:

随机初始化的缺点是因为网络输出数据分布的方差会随着神经元个数改变(而且也和上一层输出神经元的方差相关)

从而(?)这个梯度在每一层是不一样的,要么就是导致激活失灵/要么就是激活饱和,导致剃度接近0,就是导致很难更新了

随机初始化就是搞一些很小的值进行初始化,实验表明大了就容易饱和,小的就激活不动

看一下第一个分布:sigmoid+标准差=0.01的随机初始化

可以看到激活之在0.5附近啊,很容易梯度就是0了,这就没法学习了

 sigmoid+标准差=1的随机初始化

你看看激活函数都饱和成什么样子了!在-1,1附近还是梯度很小啊,没法学习

preview

现在Tanh+随机初始化看看发生了什么

同时伴随着Z值消失激活消失 

 

preview

增大标准差会怎么样

从最后一个隐藏层反向传播至第一个隐藏层的过程中,梯度越来越大?另外,类似sigmoid激活函数,Z值区间太宽了,导致激活塌缩到大多数值要么是零要么是一的情形。同样,这不好 

preview

看看冠军搭配0.1

preview

  • 首先,梯度所有层相似(同时位于一个适宜的尺度——约为权重的1/20)
  • 其次,Z值位于一个适宜的区间(-1, 1),在所有层上相似(虽然可以观察到一些收缩)
  • 最后,激活没有塌缩到二值模式,并且在所有层上相似(同样,有一些收缩)

简单来说,这意味着我们可以在网络后面堆叠另一层,然后期望Z值激活梯度分布仍然是相似的。我们肯定希望网络表现出塌缩消失爆炸

到这里我们应该看出来了,关键在权重的标准差选取上!!

 

所有有了X初始化(但X适合和tanh不适合relu)

 

 

 

 

 

 

所以有了H初始化

然后又有了BN

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值