算法岗常见面试题(四):参数初始化

【DL】参数初始化:你真的了解我吗?

  • 固定初始化:模型参数初始化为一个固定常数,这意味着所有单元具有相同的初始化状态,所有的神经元都具有相同的输出和更新梯度,并进行完全相同的更新,使得神经元不存在非对称性,效果大打折扣。
  • 随机初始化:随机对参数初始化:如果不考虑随机初始化的分布则会导致梯度爆炸和梯度消失的问题。

随机初始化

常用的两种初始化方法为:高斯分布和均匀分布

模型参数可以初始化为0吗(百度一面)

不可以。

  • 角度1 参数初始化为0,会导致后续所有的网络中的权重失效,即反向传播时,参数的偏导数为0,模型参数无法更新,出现梯度消失的问题。

  • 角度2

参数初始化为零虽然经过非线性的激活函数后能更新参数,但是同一层所有参数的梯度都是相同的,使得更新后的同一层参数值是相同的,最终导致模型虽然能训练但整体是无效的。

模型参数可以初始化为0.01吗(百度一面)

  1. 同一层所有参数的梯度都是相同的,使得更新后同一层的参数值是相同的,最终导致模型虽然能训练但是整体是无效的。
  2. 前向传播过程中,随着层数增加,神经元的输出值也是会迅速向0靠拢的,同样会导致反向传播过程中梯度很小,导致梯度消失的问题。

所以最佳情况下,参数以正态分布随机初始化,且保持神经元的输入和输出的方差一致,避免了所有输出值趋向于0的情况。即Xavier 初始化。

#算法面经#
全部评论

相关推荐

11-18 09:44
Java
小白也想要offer:简历别放洋屁,搞不还还放错了,当然你投外企除外,以上纯属个人观点
点赞 评论 收藏
分享
6 17 评论
分享
牛客网
牛客企业服务