He初始化简单介绍

举报
8181暴风雪 发表于 2025/01/21 19:42:17 2025/01/21
【摘要】 He初始化,也称为He权重初始化或MSRA初始化,是一种用于深度学习神经网络中的权重初始化方法,特别适用于使用ReLU(Rectified Linear Unit)或其变体作为激活函数的网络。该方法由Kaiming He等人在2015年的论文《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNe...

He初始化,也称为He权重初始化或MSRA初始化,是一种用于深度学习神经网络中的权重初始化方法,特别适用于使用ReLU(Rectified Linear Unit)或其变体作为激活函数的网络。该方法由Kaiming He等人在2015年的论文《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》中提出。

He初始化的原理:

在深度学习中,合适的权重初始化对于防止梯度消失或爆炸至关重要。对于使用ReLU激活函数的网络,He初始化基于以下观察:

  1. 当使用ReLU激活函数时,激活值的期望在正区间内不会改变,但在负区间内会变为零。因此,为了保持前向传播时的激活值和反向传播时的梯度的大小,初始化权重时应该考虑到这一点。
  2. He初始化的目标是保持每一层的激活值和梯度的方差稳定。

He初始化的公式:

给定一个具有​​n​​个输入的神经元,He初始化建议使用以下公式来初始化权重: \[ W \sim \mathcal{N}(\mu, \sigma^2) \] 其中,\( \mu = 0 \)(即权重是从均值为0的正态分布中抽取的),而标准差 \( \sigma \) 被设置为: \[ \sigma = \sqrt{\frac{2}{n_{in}}} \] 这里,\( n_{in} \) 是神经元的输入数量(不包括偏置项)。对于偏置项,通常初始化为0或一个非常小的常数。

He初始化的优点:

  1. 适合ReLU激活函数:He初始化特别适用于ReLU激活函数,因为它考虑了ReLU的性质,有助于减少梯度消失问题。
  2. 提高训练速度:通过保持激活值和梯度的方差稳定,He初始化有助于加快神经网络的训练速度。
  3. 减少训练初期的梯度问题:He初始化有助于减少训练初期由于权重初始化不当导致的梯度消失或爆炸问题。

He初始化的缺点:

  1. 仅适用于ReLU:He初始化是为ReLU激活函数设计的,对于其他类型的激活函数(如Sigmoid或Tanh),可能不是最佳选择。
  2. 可能需要调整:在某些情况下,可能需要根据网络的具体架构和问题调整初始化参数。 总的来说,He初始化是深度学习中常用的初始化方法之一,尤其是在使用ReLU激活函数的情况下。它有助于网络更稳定、更快速地收敛。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。