跳转至


课程  因子投资  机器学习  Python  Poetry  ppw  tools  programming  Numpy  Pandas  pandas  算法  hdbscan  聚类  选股  Algo  minimum  numpy  回测  数据标准化  algo  FFT  模式识别  配对交易  GBDT  LightGBM  XGBoost  statistics  CDF  KS-Test  monte-carlo  VaR  过拟合  algorithms  machine learning  strategy  python  sklearn  pdf  概率  数学  面试题  量化交易  策略分类  风险管理  Info  interview  career  强化学习  监督学习  AI量化  复权  数据  tushare  akshare  xgboost  PCA  wavelet  时序事件归因  SHAP  深度学习  归一化  BN  LN  WN  machine-learning  quant-trading  dropout  kaggle  boosting  决策树  泰勒展开  openclaw  resources  quant  deep-learning  tcn  time-series  causal-convolution  交易实战  避坑指南  Figures  Behavioral Economics  graduate  arma  garch  人物  职场  Quantopian  figure  Banz  金融行业  买方  卖方  story  量化传奇  rsi  zigzag  穹顶压力  因子  ESG  因子策略  投资  策略  pe  ORB  Xgboost  Alligator  Indicator  factor  alpha101  alpha  技术指标  wave  algorithm  pearson  spearman  套利  LOF  白银  因子分析  Alphalens  涨停板  herd-behaviour  momentum  因子评估  review  SMC  聪明钱  trade  history  indicators  zscore  波动率  lightgbm  顶背离  另类数据  freshman  others  AI  DeepSeek  network  量子计算  金融交易  IBM  weekly  进化论  logic-factor  Agent Skills  Skills Marketplace  VS Code  Tushare  XtQuant  BaoStock  A股  量化  neutralization  basics  LLT  backtest  backtrader  研报  papers  UBL  金融阅读  免费资源  华尔街日报  WSJ  量化学习  quantlib  jupyter-notebook  scikit-learn  pypinyin  qmt  xtquant  blog  static-site  duckdb  工具  colors  free resources  barra  world quant  Alpha  openbb  risk-management  llm  prompt  CANSLIM  Augment  arsenal  copilot  vscode  code  量化数据存储  hdf5  h5py  cursor  augment  trae  Jupyter  jupysql  pyarrow  parquet  数据源  quantstats  几何收益  实盘  clickhouse  polars  滑动窗口  notebook  sqlite  sqlite-utils  fastlite  大数据  PyArrow  UV  Pydantic  Engineering  redis  remote-agent  AI-tools  Moonshot  回测,研报,tushare  dividend 

algo »

量化模型中的 BN、LN 与 WN:为什么照搬计算机视觉的经验会失效?


在将深度学习引入量化交易时,许多开发者会习惯性地沿用计算机视觉(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)归一化模型权重。 不改变金融数据的原始分布,从参数端防止梯度爆炸,常作为深层网络训练的稳定器。

理解了它们“归一化的客体到底是谁”以及“和谁作比较”,就能在搭建网络时避开生搬硬套的陷阱,让模型真正贴合金融市场的运行逻辑。