参数初始化Weight Initialization

本文探讨了深度学习模型参数初始化的重要性,包括全零初始化的问题、随机初始化的适用性以及Xavier初始化的基本原理。Xavier初始化旨在保持层间方差一致,适合线性函数和tanh激活,但对ReLU激活不理想。He初始化是对Xavier方法的改进,特别考虑了ReLU的非线性,提出不同的高斯和均匀分布初始化方式。在使用ReLU激活函数时,推荐采用He初始化。此外,预训练模型的参数也可用于新任务的初始化。总结来说,正确的参数初始化对模型训练的效率和准确性至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参数初始化Weight Initialization

  • 全零初始化:无法进行模型训练
  • 随机初始化:使用小的随机数(高斯分布,零均值,1e-2标准差)初始化
    小网络可以,对于深度网络有问题。网络输出数据分布的方差会随着神经元的个数而改变。
  • Xavier初始化
    • 为保证前向传播和反向传播时每一层的方差一致。根据每层的输入个数和输出个数来决定参数随机初始化的分布范围。
      高斯分布的权重初始化为:高斯分布的随机数乘上
      2nin+nout\frac{\sqrt{2}}{\sqrt{n_{in}+n_{out}}}nin+nout2
      其中:ninn_{in}ninnoutn_{out}nout分别表示该层输入和输出的参数(权重)个数。

注:原论文是基于线性函数推导的,同时在tanh激活函数上有很好的效果,但不适用于ReLU激活函数。

  • He参数初始化
    对Xavier方法的改进,将ReLU非线性映射造成的影响考虑进参数初始化中。
    高斯分布的权重初始化为:高斯分布的随机数乘上2nin\frac{\sqrt{2}}{\sqrt{n_{in}}}nin2
    均匀分布的权重初始化为:均匀分布的随机数乘上2nin\frac{\sqrt{2}}{\sqrt{n_{in}}}nin2

小结:

  • 使用ReLU(without BN)激活函数时,最好选用He初始化方法,将参数初始化为服从高斯分布或者均匀分布的较小随机数
  • 借助预训练模型中参数作为新任务参数初始化的方式也是一种简便易行且有效的模型参数初始化方法
  • 一般情况下,偏置设为0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值