在搭建神经网络时,权重参数的设定方式往往决定了模型最终能走多远。权重不仅是信号传递的阀门,更直接影响训练是否顺畅、精度能否达标以及模型面对未知数据的稳定性。对深度学习实践者而言,搞懂权重如何起步、如何在训练过程中被管理,是通往高质量模型的关键一步。
权重是网络对输入信息的差异化响应尺度。每个连接上的数值,决定了上游信号对下游神经元的影响力大小和方向。训练的本质,就是优化器依据损失函数反复修正这些数值,让模型输出逐步逼近真实答案。
权重在实际运作中承担三项主要任务:
需要警惕一个常见误区:并非权重越大就越有效。过大的权重容易引起输出震荡,让模型对输入的轻微变化反应过度,进而降低泛化能力。因此,起点设置和训后约束缺一不可。
初始化是训练前的第一道关口,直接关系到梯度能否在深层网络中顺利回传。一次错误的起步,可能使梯度逐层衰减或爆炸,让训练长期陷入停滞。
最直接的思路是从零附近的正态分布或均匀分布中抽取小随机数,区间通常控制在对称范围。实现过程简单,但在深层网络中,方差会在层间堆叠,引发梯度不稳定。只有当网络结构较浅且使用温和激活函数时,这类方法才适合快速验证用。
当网络选用sigmoid或tanh这类饱和型激活函数时,Xavier初始化是合理的选择。其设计目标在于让信号在前向与反向传播中保持方差稳定,避免逐层缩放失衡。具体做法是从以零为中心、边界取决于输入输出维度的分布中采样。这一策略对缓解梯度消失效果明显,能让训练过程更加平稳。
面对当前主流的ReLU及变体激活函数,He初始化往往表现更佳。由于ReLU将负值截断为零,约半数神经元输出为零,信号方差天然减半。He初始化通过放大初始权重的方差来弥补这种损耗,确保信息在深网络中持续流通。采用ReLU系激活时,优先考虑He初始化,通常能显著提速前期收敛。
选择何种初始化策略,核心参考依据是激活函数类型。二者匹配失当,是新手调参中最隐蔽的失败原因之一,值得反复排查。
训练开启后,权重随梯度持续更新。如果放任不管,权重可能不断膨胀,模型易陷入对训练样本噪声的过度拟合。
L1正则化在损失项中加入权重绝对值之和,其特殊之处在于能够推动部分权重精确归零,发挥特征筛选作用,适合需要压缩模型体积的场景。L2正则化则对权重平方求和,它只是温和地压缩整体数值规模,让权重分布更均衡,但不会产生严格为零的项。若目标是降低过拟合且保留所有特征信息,L2是更稳妥的选择。
Dropout通过随机丢弃部分神经元,强迫网络学习冗余特征,以减弱对单一路径的依赖。它与权重参数约束(如限制权重的最大范数)配合时,能有效控制每一层权重的上限,防止梯度爆发的风险。此外,训练中采取梯度裁剪,也是应对梯度爆炸的常用兜底手段。
权重的数值范围并非越大越好。限制权重的最大范数,可以让每层输出维持在一个较稳定的区间,避免激活函数进入饱和区。这种做法常与Adam等自适应优化器搭配使用,用来抑制训练后期可能出现的权重异常波动。
此外,批量归一化(BatchNorm)虽然不直接改动初始权重,却能调整每层的激活分布,间接削弱了对初始化强度的敏感度。引入BatchNorm后,即便是略偏激进的初始化值,网络也能较快适应并对冲梯度失衡问题。
值得注意,在对抗训练或噪声场景下,过大的权重往往对应尖锐的损失曲面,导致模型对微扰反应剧烈。对权重施加上限约束,也是提升模型平滑性与鲁棒性的有效路径。
初始化过小时,信号在深层网络中容易逐层衰减,最终导致梯度消失,训练几乎停滞;初始化过大时,输出幅度迅速扩大,激活函数容易进入饱和区,梯度变得极小,同样会让学习失效。两种情况均需通过合理的方差设定来规避。
因为ReLU会把负值截断为零,导致信号方差减半。若沿用Xavier初始化,前向传播的信号强度会随层数加深而减弱。He初始化主动放大方差,补偿了ReLU带来的损失,从而使深网络的训练更为稳固。
可以,通常称为弹性网络(Elastic Net)。L1负责特征稀疏筛选,L2保持整体权重的小而均,虽非最优但能兼顾二者的优点。若追求稀疏化效果,L1权重需适当提升;若更介意稳定性,则以L2为主。
权重初始化与训练中的约束,是深度学习中看似简单却极易忽视的环节。建议根据激活函数类型先选择合适的初始化方案:sigmoid/tanh用Xavier,ReLU家族用He。训练中搭配L2正则化与梯度裁剪,并视需要引入BatchNorm或Dropout,确保权重在合理范围内演进,以换取更快的收敛和更稳健的泛化表现。