公式速查表
所有关键公式一页汇总。适合复习和面试前速记。
优化
梯度下降
θt+1=θt−η∇θL
SGD with Momentum
vt=βvt−1+gt,θt=θt−1−ηvt
展开:vt=gt+βgt−1+β2gt−2+⋯(指数加权平均)
RMSProp
st=βst−1+(1−β)gt2,θt=θt−1−st+ϵηgt
Adam
mtvtm^tv^tθt=β1mt−1+(1−β1)gt=β2vt−1+(1−β2)gt2=mt/(1−β1t)=vt/(1−β2t)=θt−1−ηv^t+ϵm^t
AdamW(解耦 weight decay)
θt=θt−1−ηv^t+ϵm^t−ηλθt−1
LLM 标准超参:lr=1e-4∼3e-4,β2=0.95,wd=0.1,clip=1.0,warmup 2000 步 + cosine decay
正则化
L2 / weight decay
θ←(1−ηλ)θ−η∂θ∂L
bias 和 1 维参数(BN/LN 的 γ,β)不做衰减。
L1
L~=L+λj∑∣θj∣
产生稀疏性(不可导点在 0)。
Dropout
训练时以概率 p 置零,并除以 1−p;推理时不丢弃。
反向传播
三条基本规则
| 运算 | 梯度 |
|---|---|
| z=a+b | ∂L/∂a=∂L/∂z |
| z=ab | ∂L/∂a=(∂L/∂z)b |
| z=a⊤W | ∂L/∂a=W(∂L/∂z)⊤,∂L/∂W=a(∂L/∂z)⊤ |
梯度消失/爆炸的量级
∂x1∂L∝l=1∏Ln1=n−L/2
sigmoid:σ′(z)≤0.25,每层乘 0.25
初始化
| 方法 | σw2 | 适用 |
|---|---|---|
| Xavier (Glorot) | nin+nout2 | tanh / sigmoid |
| He (Kaiming) | nin2 | ReLU / GELU |
| LLaMA | N(0,0.022) | 配合 RMSNorm |
归一化
BatchNorm
x^=σB2+ϵx−μB,y=γx^+β
统计维度:batch + 空间 → 训练/推理行为不同
LayerNorm
x^=σ2+ϵx−μ
统计维度:特征 → 与 batch 无关
RMSNorm
RMSNorm(x)=d1∑jxj2+ϵx⊙γ
省掉减均值,只有 γ。
CNN
卷积参数量
params=k×k×Cin×Cout+Cout
感受野
rl=rl−1+(kl−1)i=1∏l−1si,jl=jl−1+(kl−1)i=1∏l−1si
stride=1 简化:rl=1+∑i=1l(ki−1)
空洞卷积
有效感受野=k+(k−1)(d−1),需padding=d
ResNet
残差连接
y=F(x)+x,∂x∂y=∂x∂F+I
梯度连乘展开:
l=1∏L(I+Jl)=I+∑Jl+l<k∑JlJk+⋯
展开后第一项是 I,所以梯度不衰减。
Attention
Scaled Dot-Product Attention
Attention(Q,K,V)=softmax(dkQK⊤+M)V
为什么除 dk:点积方差 Var[q⋅k]=dk,std =dk。不缩放会让 softmax 饱和(实测 dk=64 时 max_p = 0.9990,缩放后 0.0350)。
形状流转:[n, d_k] × [d_k, m] → [n, m] → @ [m, d_v] → [n, d_v]
多头
MultiHead(Q,K,V)=Concat(head1,…,headh)WO
参数量和单头相同:4dmodel2
RoPE
θi=base−2i/d,Rmq=(cosmθsinmθ−sinmθcosmθ)q
核心性质:
⟨Rmq,Rnk⟩=⟨q,Rn−mk⟩=f(q,k,n−m)
内积只依赖相对位置。 base=10000(几何频率)。
现代 LLM 组件
SwiGLU
SwiGLU(x)=SiLU(xW1)⊗(xW3),SiLU(x)=xσ(x)
三个矩阵,中间维度取 38d 以保持参数量。
GQA
MHA: Q=[h,d] K=[h,d] V=[h,d]
GQA: Q=[h,d] K=[g,d] V=[g,d] ★ h/g = 4~8 最优
MQA: Q=[h,d] K=[1,d] V=[1,d]2
3
KV Cache
KV cache=2×nkv×L×dhead×nlayers×bytes
LLaMA-7B, L=4096, batch=2, fp16:
| 类型 | KV cache |
|---|---|
| MHA(32) | 2.15 GB |
| GQA(8) | 0.54 GB |
| MQA(1) | 0.07 GB |
缩放定律
Kaplan:L(N)=(NNc)αN,αN≈0.076
Chinchilla:Nopt∝C0.55,Dopt∝C0.45
Token/参数比最优 ≈ 20(但实践上为推理效率会超过这个值)。
损失函数
| 损失 | 来源假设 | 公式 | 任务 |
|---|---|---|---|
| MSE | 高斯 | N1∑(y−y^)2 | 回归 |
| MAE | 拉普拉斯 | $\frac{1}{N}\sum | y-\hat |
| CrossEntropy | 类别 | −logp^y | 多分类 |
| BCE | 伯努利 | 交叉熵(二分类) | 二分类 |
| NLL | — | −∑logp | 配合 LogSoftmax |
| InfoNCE | 对比 | −log∑jesim(i,j)esim(i,i) | 对比学习 |
关键:CrossEntropyLoss / BCEWithLogitsLoss 接受 logits,不是概率。
统计
偏差-方差分解
E[(y−y^)2]=Bias2+Var+σ2
标准误与置信区间
SE=np(1−p),95%CI=p±1.96SE
泛化差距
gap=train_loss−val_loss(或 train_acc−val_acc)
数值稳定
Loss Scaling
实际梯度=S⋅真实梯度
bf16 不需要(指数位与 fp32 相同,动态范围 10±38)。
梯度裁剪
g^=g⋅∥g∥max_norm当 ∥g∥>max_norm
等比缩放(不是逐元素裁剪,后者改变梯度方向)。
数值速查
| 概念 | 数值 |
|---|---|
| LLaMA-7B 参数量 | 6.7B(transformer 部分 5.37B) |
| LLaMA-7B 隐藏维度 | 4096 |
| LLaMA-7B 头数 / dk | 32 / 128 |
| ResNet-50 参数量 | 25.6M |
| FashionMNIST 模型参数量 | 669,706 |
| 输入 224² 全连接 vs 卷积 | 4.83e11 vs 1792(2.7亿倍) |