归一化层的双重身份:为什么BatchNorm在训练和推理时判若两人

2017年,一个深度学习团队在部署图像分类模型时遇到了诡异的现象:模型在验证集上的准确率比训练时低了近5个百分点。他们检查了数据预处理、超参数设置、模型架构,一切看起来都正常。最后,一位细心的工程师发现了一个被忽视的细节——在验证循环中,他们忘记了调用model.eval()。 ...

16 min · 7741 words

神经网络中的偏置:为什么简单的加法如此重要

打开任何一本深度学习教材,翻开任何一篇讲解神经网络的博客,你都会看到神经元的基本公式: $$y = \sigma(Wx + b)$$其中 $W$ 是权重矩阵,$x$ 是输入,$\sigma$ 是激活函数,而 $b$ 就是那个不起眼的偏置(bias)。它看起来只是一个简单的加法,一个向量加法操作,却困扰了无数初学者:为什么需要它?它到底在做什么?为什么有些现代大模型(如LLaMA)会把它删掉? ...

19 min · 9053 words

梯度消失与梯度爆炸:为什么深层神经网络曾经只能堆叠五层?

1986年,David Rumelhart、Geoffrey Hinton和Ronald Williams发表了那篇改变整个机器学习领域的论文——《Learning representations by back-propagating errors》。反向传播算法让多层神经网络的训练成为可能,研究者们兴奋地开始堆叠越来越多的层,期待更深的网络能学习更复杂的特征。 ...

14 min · 6755 words