AI训练为什么不能从零开始——权重初始化,一个被严重低估的决定

AI训练为什么不能从零开始——权重初始化,一个被严重低估的决定
大多数人以为AI训练是一个「从无到有」的过程,但实际上,在第一条数据喂进去之前,模型已经做了一个至关重要的选择。这个选择叫权重初始化,它决定了模型能不能学会任何东西。
想象你要教一个人学数学。如果他一开始对所有问题的答案都坚持「是42」,那不管你怎么纠正,他都很难真正学进去。神经网络面临同样的问题——在训练开始之前,网络里每一个连接都有一个初始数值,叫做「权重」。这些权重的起点,直接决定了整个学习过程能不能正常运转。
全设为零会怎样
最直觉的想法是:干脆把所有权重都设成零,干净利落,公平公正。但这是个灾难性的决定。原因出在一个叫「对称性破坏」的问题上。如果所有神经元初始权重相同,那它们在训练时接收到的梯度信号也完全相同,更新方式也完全相同。一百个神经元,做的是同一件事。整个网络退化成了一个单神经元,无论多宽多深,都是摆设。
●对称性不打破,网络就不会分化——每个神经元必须从一开始就「不一样」,才能在训练中各司其职,学到不同的特征。
随机初始化:听起来对,但坑很深
既然不能全零,那就随机赋值?方向对了,但问题远没结束。随机数的「尺度」极其关键。权重初始值太大,信号在层层传递中会指数级放大,最终变成无穷大,训练直接崩溃,这叫「梯度爆炸」。权重初始值太小,信号则会指数级缩小,传到深层时趋近于零,网络根本学不到任何东西,这叫「梯度消失」。
100
层深度的网络,信号若每层衰减10%,传到最后只剩原始强度的0.003%
这两个问题在浅层网络时代还勉强能忍,但当网络深度从几层变成几十层、几百层,问题就彻底失控了。整个深度学习在2000年代初期陷入瓶颈,有相当大一部分原因就卡在这里。
Xavier和Kaiming:两个改变深度学习命运的初始化方案
2010年,Xavier Glorot和Yoshua Bengio发表了一篇在当时并不算轰动、但后来被引用无数次的论文。他们用数学推导出:如果想让信号在前向传播和反向传播中都保持稳定的方差,权重的初始化范围应该根据层的输入和输出神经元数量来动态调整。这就是Xavier初始化,也叫Glorot初始化。它的核心思想很朴素:让每一层的信号强度大致相等,既不放大,也不缩小。
但Xavier有个隐藏前提:它假设激活函数是线性的,或者类线性的(比如tanh)。2015年,何恺明团队针对当时大行其道的ReLU激活函数重新推导,提出了Kaiming初始化。ReLU会把一半的信号直接截断为零,所以剩余信号的方差会减半,需要在初始化时就补偿回来。Kaiming初始化做的,就是把这个补偿算进去。这个方案直接支撑了ResNet的成功训练——而ResNet,是深度学习历史上绕不开的里程碑之一。
「
初始化不是训练的准备工作,它本身就是训练成败的一部分。
」
更深的问题:初始化在今天还重要吗
有人会说,现在不是有BatchNorm、LayerNorm这些归一化技术了吗?它们会在训练过程中动态调整信号分布,是不是初始化就没那么重要了?部分正确。归一化技术确实大幅降低了对初始化的敏感度,让训练变得更加鲁棒。但「降低敏感度」不等于「无所谓」。在超大规模模型训练中,初始化的微小差异会被千亿次计算放大,依然可能导致训练不稳定甚至发散。GPT系列模型的技术报告里,依然会专门说明权重初始化的策略。这不是仪式感,是必要性。
还有一个更有意思的维度:迁移学习。当你用一个预训练模型做微调,你实际上是在用别人精心训练出来的权重作为你自己任务的「初始化」。这时候初始化的意义已经不只是「让训练能启动」,而是把前人积累的知识作为起点。从这个角度看,权重初始化是整个AI知识传递体系的底层逻辑之一。
权重初始化这件事,表面上是个工程细节,背后藏着一个更普遍的道理:起点的质量,决定了过程的可能性上限。一个糟糕的起点,不是说不能纠正,而是纠正的代价极高,甚至永远到不了好的终点。这对训练神经网络是真的,对很多其他事情,可能也是真的。
✦ 小结
权重初始化解决的是「训练能不能正常启动」的问题。全零初始化导致对称性陷阱,随机初始化若尺度不当会引发梯度爆炸或消失。Xavier和Kaiming两套方案从数学上给出了「信号方差稳定」的解法,分别适配不同激活函数。即便在归一化技术普及的今天,初始化在大规模训练和迁移学习中依然不可忽视。理解初始化,本质上是理解深度学习为什么能在工程上真正跑起来。
夜雨聆风