深度学习之权重初始化

四种权重初始化方法:

  • 把w初始化为0
  • 对w随机初始化
  • Xavier initialization
  • He initialization
  1. 把w初始化为0:

缺点:

  1. 因为如果把w初始化为0,那么每一层的神经元学到的东西都是一样的(输出是一样的)。
  2. 在梯度回传阶段,同一层内的所有神经元都是相同的,这样的话神经网络就没有意义了,相当于每一层只有一个神经元。因为在前项传播时,同层的所有神经元都相同,w也相同,在回传计算的梯度时,w的梯度也相同,同层内的神经元同步更新,数值都一样。
  1. 对w随机初始化

缺点:
假如,x和a均服从(0,1)分布,随着网络变身,输出的数据的方差会变大,导致后面的层爆掉。如下,每项x都与a中的512个数相乘,得到的数据分布为(0, 255),偏差很大。
在这里插入图片描述
在这里插入图片描述
解决:
为了使得输入输出数据分布一致,对于每个a,除以512如下
在这里插入图片描述
如果单纯的没有激活函数,上述方法可以保证输入输出分布一致,但是在加入激活函数后,上述办法无法解决,从而有了Xavier 初始化

  1. Xavier initialization

在我们假设的100层网络的每一层之后添加一个双曲正切激活函数,然后看看当我们使用我们自己的权值初始化方案时发生了什么,其中层权值按1/√n.进行缩放。
在这里插入图片描述
可以看出(0,1)+缩放在加入激活函数的情况下,无法实现输入输出数据分布一致,从而提出了Xavier 初始化在这里插入图片描述
其中,nᵢ是传入网络连接的数量叫“扇入”,nᵢ₊₁是从那层出去的网络连接的数量,也被称为“扇出”。
缺点:
Xavier初始化可以解决关于0对称且在[-1,1]内部有输出(如softsign和tanh)的激活函数,但是cv中常用的relu激活函数,不是关于0对称的,做了一下实验发现均方值为√512/√2,导致输入输出分布也不一致
在这里插入图片描述

  1. He initialization

使用relu时,发现均方值为√512/√2,为了变为1,在初始化a时,先乘√2/√512,就得到了he 初始化在这里插入图片描述
参考:神经网络中的权值初始化:从最基本的方法到xavier、he初始化方法一路走来的历程
参考:深度学习中神经网络的几种权重初始化方法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值