[深度学习] 权值初始化 xavier和he_normal

一、概述与应用

(1)论文

    xavier论文:《Understanding the difficulty of training deep feedforward neural networks》

    he_normal论文:《Delving Deep into Rectifiers:Surpassing Human-Level Performance on ImageNet Classification》

(2)Tensorflow API,initializer:

     tf.keras.initializers.he_normal()

     tf.contrib.layers.xavier_initializer()

二、xavier原理

(0) 公式推导

核心:

前向传播时,对于某一层输入x,输出y,如何初始化w使得 x与y的分布一致?

y = sigma(xi * wi) + b , i= 1~n,表示n个神经元。

另外这个论文假设激活函数梯度为1,即没有激活函数

要使得 D(y) = D(x),即w初始化后,输出的方差与输入方差一致:

D(y) = D(xi) = D(sigmal(xi*wi))

                   = n * D(xi * wi)         // 此处根据公式 D(A+B) = D(A) + D(B)的到

                   = n * D(xi) * D(wi)    // 根据公式:

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
深度学习中,神经网络的权重初始化方法对模型的收敛速度和性能有着至关重要的影响。一个好的权重初始化方法可以帮助解决梯度消失和梯度爆炸的问题,并且有利于模型的性能和收敛速度。 在当前的深度学习中,隐藏层常使用ReLU作为激活函数,并且常用的权重初始化方法是He initialization。这种初始化方法通过根据ReLU的特性,将权重初始化为均值为0,标准差为sqrt(2/n)的高斯分布,其中n是上一层神经元的数量。这种方法在实践中显示出比Xavier initialization更好的效果。 当然,除了He initialization之外,还有其他几种常用的权重初始化方法,如Xavier initialization和正交初始化等。这些方法根据不同的特性和需求,在不同的情况下可能会有更好的效果。 总之,权重初始化深度学习中的重要步骤之一,它对模型的性能和收敛速度有着重要的影响,而He initialization是当前深度学习中常用的神经网络权重初始化方法之一。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [深度学习神经网络的几种权重初始化方法](https://blog.csdn.net/Harrytsz/article/details/120840148)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值