神经网络之Initialization

1、前言

    参考文献:https://zhuanlan.zhihu.com/p/25110150

    以及:https://arxiv.org/pdf/1702.08591.pdf   https://arxiv.org/pdf/1511.06422.pdf

    神经网络参数众多,权值w的初始化对网络训练影响很大,好的初始化可以加快网络训练的速度,也有可能可以使得网络收敛到更小的误差点。前面学习的时候我们使用了服从(0,1)正态分布的随机初始化方法,网络也基本可以用,使用正态分布的原因是均值为0的正态分布能够让大部分的参数接近0,能加速训练速度。

    一个极端的情况就是,w全部使用0来初始化,这个是行不通的,原因是每个神经元的参数都一样的话训练过程也完全一样,所以每个神经元的功能也完全一样,设置再多的层数、每层神经元再多也没有任何作用。同样,如果神经元的参数w全部初始化为相同的值,得到的效果也一样。这就是w需要随机初始化的原因。

2、Xavier initialization和He Initialization

    吴恩达课程中提到的初始化方法有Xavier initialization和He Initialization两种方法。在保证初始化为随机初始化的前提下,Xavier initialization另初始化的权值w服从(0,sqrt(1./layers_dims[l-1]))的正态分布,而He Initialization则另初始的权值w服从(0,sqrt(2./layers_dims[l-1]))的正态分布,十分相似。

    parameters['W' + str(l)] = np.random.randn(layers_dims[l], layers_dims[l-1]) * np.sqrt(2. / layers_dims[l-1])

3、效果比较

 (1)zero Initialization

    


    训练没有任何进展,没有看到优化

(2)random Initialization



(3)He Initialization



    可以看到不仅最后的效果好,而且损失曲线平滑。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值