量化模型中的 BN、LN 与 WN:为什么照搬计算机视觉的经验会失效?
最后更新: 2026-03-24
Table of Content
在将深度学习引入量化交易时,许多开发者会习惯性地沿用计算机视觉(CV)或自然语言处理(NLP)领域的默认配置。其中最容易被忽视,却又极易引发模型崩溃的,就是归一化(Normalization)层的选择。
在图像识别中大杀四方的 BN(Batch Normalization),在处理金融时间序列时往往会导致模型迟迟不收敛,甚至输出完全离谱的预测值。
深度学习中有三种常见的归一化技术:BN、LN 和 WN。它们的名字极其相似,但在底层逻辑和适用场景上却天差地别。这篇文章将抛开复杂的数学推导,用最直观的量化场景,把这三种归一化方法的本质差异梳理清楚。
1. BN(Batch Norm):跨样本的“横向对比”¶
BN 的核心逻辑是:在同一个 Batch 内,把所有样本的同一个特征放在一起算均值和方差,然后进行标准化。
为了直观理解,我们可以把它想象成学校里的“单科成绩排名”:把全班同学的语文成绩汇总,算出一个平均分,然后看每个人的成绩是高于平均还是低于平均。
在图像领域,这套逻辑非常完美(比如把所有图片的红色通道放在一起归一化)。但在量化交易中,这种“横向对比”往往是灾难性的。
为什么 BN 在量化中容易失效? 假设我们向模型输入了一个包含多只股票收盘价的 Batch: - 样本 A(贵州茅台):1800 元 - 样本 B(工商银行):5 元 - 样本 C(腾讯控股):400 元
如果使用 BN,模型会把这三只股票在同一时间点的绝对价格混在一起,强行计算出一个平均价(比如 735 元)。经过 BN 的缩放后,工行的 5 元会被判定为“极度偏低的异常值”,而茅台的 1800 元则成了“极度偏高的异常值”。
但在真实的金融市场中,股票的绝对价格主要由股本结构决定。工行的 5 元并不代表它比 400 元的腾讯弱。强行对不同股票的绝对价格进行横向平均,不仅抹杀了每只股票自身的波动规律,还给模型引入了巨大的逻辑噪音。
结论:除非是在处理纯粹的“截面多因子”排秩(如统一对比所有股票当天的 PE 估值),否则在金融时间序列预测中,应尽量避免对绝对价格使用 BN。
2. LN(Layer Norm):单样本的“纵向刻画”¶
既然跨样本的横向对比行不通,量化模型更倾向于使用纵向对比,即 LN(Layer Normalization)。
LN 的核心逻辑是:不考虑 Batch 中的其他样本,只针对当前样本自身的所有特征算均值和方差。 这就像是计算一个学生所有科目的平均分,以评估他自身的综合水平,而不是去和其他同学比。
LN 如何解决量化中的痛点?
假设输入是茅台和工行过去 3 天的收盘价序列:
- 茅台:[1800, 1850, 1900]
- 工行:[5.0, 5.1, 5.2]
经过 LN 处理后,它会分别计算茅台自身这 3 天的均值(1850),以及工行自身这 3 天的均值(5.1)。然后各自减去均值并除以方差。
最终,无论原本的价格是 1800 还是 5,输入到模型里的数据都会变成类似 [-1, 0, 1] 这样的形态。
LN 巧妙地抹平了不同资产之间的绝对价格差异,将数据还原为了纯粹的“波动形态”和“趋势特征”。 这正是 TCN(时间卷积网络)和 Transformer 在处理时间序列时,几乎将其作为标配的原因。
3. WN(Weight Norm):从数据端转移到模型端¶
前面的 BN 和 LN,本质上都是在折腾数据——试图将输入数据揉捏成一个稳定、易于模型学习的分布。 而 WN(Weight Normalization)的思路截然不同:它完全不干涉输入数据,而是直接对神经网络的权重(Weight)进行归一化。
在神经网络计算 \(y = Wx + b\) 中,如果权重矩阵 \(W\) 在训练过程中变得过大,很容易引发梯度爆炸。 WN 采用了一种非常优雅的数学解耦方式,将权重 \(W\) 拆分为两个独立的部分: 1. 方向向量(\(v\)):决定特征投射的角度。 2. 尺度标量(\(g\)):决定特征投射的长度。
公式表示为:\(W = g \cdot \frac{v}{||v||}\)
WN 在量化模型中的优势: 在金融数据中,有时我们精心构造的因子(如动量、波动率特征)具有极其特定的统计分布,我们并不希望 BN 或 LN 去强行改变这些数据的原始形态。 此时,WN 就成了最佳选择。它在不触碰任何数据分布的前提下,通过锁定神经网络权重的“长度”,从底层保证了梯度的稳定。
在复杂的量化网络(如 TCN 的深度残差块)中,我们经常会看到 LN 与 WN 组合使用:LN 负责将不同股票的时间序列拉平为标准波动形态,而 WN 负责在网络深处死稳住参数的更新步伐,让模型训练既快又稳。
核心总结¶
在搭建量化模型时,这三种归一化技术的定位非常清晰:
- BN(Batch Norm):归一化跨样本数据。 适用于截面数据特征的统一缩放,但在时间序列的绝对价格处理上容易引发逻辑灾难。
- LN(Layer Norm):归一化单样本特征。 时间序列模型的默认选择,能够有效抹平不同标的之间的绝对数值差异,聚焦于走势与波动。
- WN(Weight Norm):归一化模型权重。 不改变金融数据的原始分布,从参数端防止梯度爆炸,常作为深层网络训练的稳定器。
理解了它们“归一化的客体到底是谁”以及“和谁作比较”,就能在搭建网络时避开生搬硬套的陷阱,让模型真正贴合金融市场的运行逻辑。