算法科学家 RS

RS 数学推导与白板面经:PPO 剪切损失、DPO 闭式解与 RoPE 旋转矩阵

2026-08-07By TalentMe AI Teammath-proofs · ppo-derivation · dpo-derivation · rope-proof

🌐 RS 数学推导与白板面经:PPO 剪切损失、DPO 闭式解与 RoPE 旋转矩阵

核心摘要:在算法研究科学家(RS)的白板推导面试(Whiteboard Math Round)中,面试官要求候选人脱离 PPT 和现成工具包,在黑板上从第一性原理推演核心算法的闭式解、最优化边界与概率性质。本指南系统汇编顶会级数学推导:DPO 闭式解与隐式奖励消元、PPO 剪切悲观下界、RoPE 复数内积同构、Attention 缩放因子方差控制以及 Score SDE 扩散逆向方程。


💡 交互式 Mermaid 架构流程图

STAGE 1

1. 对齐与强化学习核心推导 (Alignment & RL)

📌DPO

KL 约束变分最优化 -> 闭式解 pi*(y|x) -> 隐式奖励消元 Z(x)

📌PPO

Kakade 性能差分引理 -> 一阶概率比剪切 -> 悲观下界保证

Flow Transition
STAGE 2

2. 架构与生成数学基础 (Architecture & Diffusion)

📌RoPE

二维复数内积空间保角旋转 -> 相对位置 m-n 严格同构

📌Attention Variance

q^T k 方差等于 d_k -> 除以 sqrt(d_k) 防 Softmax 梯度饱和

📌Score SDE

朗之万动力学 -> 逆向扩散随机微分方程 -> 得分匹配


第一章:DPO (Direct Preference Optimization) 极值解数学证明

1.1 从带 KL 约束的 RLHF 目标函数推导闭式最优解

在标准 RLHF 中,策略优化目标为: maxπExD,yπ(yx)[r(x,y)]βDKL(π(yx)πref(yx))\max_{\pi} \mathbb{E}_{x \sim \mathcal{D}, y \sim \pi(y|x)} [r(x, y)] - \beta \mathbb{D}_{\text{KL}}(\pi(y|x) \parallel \pi_{\text{ref}}(y|x))

对于任意给定输入 xx,将其展开为对所有可能生成 yy 的期望求和: maxπyπ(yx)r(x,y)βyπ(yx)logπ(yx)πref(yx)=maxπyπ(yx)(r(x,y)βlogπ(yx)πref(yx))\max_{\pi} \sum_y \pi(y|x) r(x, y) - \beta \sum_y \pi(y|x) \log \frac{\pi(y|x)}{\pi_{\text{ref}}(y|x)} = \max_{\pi} \sum_y \pi(y|x) \left( r(x, y) - \beta \log \frac{\pi(y|x)}{\pi_{\text{ref}}(y|x)} \right)

提取负常数项 β-\beta,构造对数内部结构: =maxπβyπ(yx)log(π(yx)πref(yx)exp(1βr(x,y)))= \max_{\pi} -\beta \sum_y \pi(y|x) \log \left( \frac{\pi(y|x)}{\pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right)} \right)

定义归一化配分函数(Partition Function): Z(x)=yπref(yx)exp(1βr(x,y))Z(x) = \sum_y \pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right)

将分子分母同时乘除 Z(x)Z(x),改写为相对吉布斯分布的形式: =maxπβyπ(yx)log(π(yx)1Z(x)πref(yx)exp(1βr(x,y)))+βlogZ(x)yπ(yx)= \max_{\pi} -\beta \sum_y \pi(y|x) \log \left( \frac{\pi(y|x)}{\frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right)} \right) + \beta \log Z(x) \sum_y \pi(y|x) =maxπβDKL(π(yx)1Z(x)πref(yx)exp(1βr(x,y)))+βlogZ(x)= \max_{\pi} -\beta \mathbb{D}_{\text{KL}} \left( \pi(y|x) \,\Big\|\, \frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right) \right) + \beta \log Z(x)

由于 KL 散度非负(DKL0\mathbb{D}_{\text{KL}} \ge 0),当且仅当两分布完全相同时取全局最小值 0。因此,唯一的最优策略闭式解为: π(yx)=1Z(x)πref(yx)exp(1βr(x,y))\pi^*(y|x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right)

1.2 隐式奖励重参数化与 Reward Model 消元

对最优策略两边取自然对数: logπ(yx)=logπref(yx)+1βr(x,y)logZ(x)\log \pi^*(y|x) = \log \pi_{\text{ref}}(y|x) + \frac{1}{\beta} r(x, y) - \log Z(x)

反解出真实奖励函数 r(x,y)r(x, y)r(x,y)=βlogπ(yx)πref(yx)+βlogZ(x)r(x, y) = \beta \log \frac{\pi^*(y|x)}{\pi_{\text{ref}}(y|x)} + \beta \log Z(x)

将隐式奖励函数代入 Bradley-Terry 偏好概率模型: P(ywylx)=σ(r(x,yw)r(x,yl))=11+exp((r(x,yw)r(x,yl)))P(y_w \succ y_l \mid x) = \sigma(r(x, y_w) - r(x, y_l)) = \frac{1}{1 + \exp\left( -(r(x, y_w) - r(x, y_l)) \right)}

计算奖励差分项: r(x,yw)r(x,yl)=(βlogπ(ywx)πref(ywx)+βlogZ(x))(βlogπ(ylx)πref(ylx)+βlogZ(x))r(x, y_w) - r(x, y_l) = \left( \beta \log \frac{\pi^*(y_w|x)}{\pi_{\text{ref}}(y_w|x)} + \beta \log Z(x) \right) - \left( \beta \log \frac{\pi^*(y_l|x)}{\pi_{\text{ref}}(y_l|x)} + \beta \log Z(x) \right) =βlogπ(ywx)πref(ywx)βlogπ(ylx)πref(ylx)= \beta \log \frac{\pi^*(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \frac{\pi^*(y_l|x)}{\pi_{\text{ref}}(y_l|x)}

归一化常数 βlogZ(x)\beta \log Z(x) 在两项做差时被精确消去! 因此,完全无需显式估计复杂的奖励模型,直接以负对数似然构建 DPO 损失函数LDPO(θ)=E(x,yw,yl)D[logσ(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx))]\mathcal{L}_{\text{DPO}}(\theta) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma \left( \beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{\text{ref}}(y_w \mid x)} - \beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{\text{ref}}(y_l \mid x)} \right) \right]


第二章:PPO 剪切目标函数的悲观下界证明

根据 Kakade & Langford 提出的性能差分引理(Performance Difference Lemma),新策略 πθ\pi_\theta 与旧策略 πold\pi_{\text{old}} 的累积期望回报之差为: η(πθ)η(πold)=Esρπθ,aπθ[Aπold(s,a)]\eta(\pi_\theta) - \eta(\pi_{\text{old}}) = \mathbb{E}_{s \sim \rho_{\pi_\theta}, a \sim \pi_\theta} [A^{\pi_{\text{old}}}(s, a)]

由于无法直接从未知新策略 ρπθ\rho_{\pi_\theta} 采样状态分布,TRPO 与 PPO 引入重要性采样构造代理目标函数(Surrogate Objective): Lπold(πθ)=Esρπold,aπold[πθ(as)πold(as)Aπold(s,a)]=Et[rt(θ)A^t]L_{\pi_{\text{old}}}(\pi_\theta) = \mathbb{E}_{s \sim \rho_{\pi_{\text{old}}}, a \sim \pi_{\text{old}}} \left[ \frac{\pi_\theta(a|s)}{\pi_{\text{old}}(a|s)} A^{\pi_{\text{old}}}(s, a) \right] = \mathbb{E}_t [r_t(\theta) \hat{A}_t] 其中 rt(θ)=πθ(atst)πold(atst)r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\text{old}}(a_t|s_t)} 为概率比率。

为了防止策略更新迈步过大导致性能雪崩,PPO 定义剪切代理目标LCLIP(θ)=Et[min(rt(θ)A^t,clip(rt(θ),1ϵ,1+ϵ)A^t)]L^{\text{CLIP}}(\theta) = \mathbb{E}_t \left[ \min\left( r_t(\theta) \hat{A}_t, \, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) \right]

悲观下界性质分析 (Pessimistic Bound)

  1. 当优势 A^t>0\hat{A}_t > 0(好动作)时
    • rt(θ)>1+ϵr_t(\theta) > 1+\epsilon(新策略大幅提高了该好动作概率),clip\text{clip} 项截断为 (1+ϵ)A^t(1+\epsilon)\hat{A}_t
    • min(rtA^t,(1+ϵ)A^t)=(1+ϵ)A^t\min(r_t \hat{A}_t, (1+\epsilon)\hat{A}_t) = (1+\epsilon)\hat{A}_t。梯度归零,防止过度贪婪更新
  2. 当优势 A^t<0\hat{A}_t < 0(坏动作)时
    • rt(θ)>1+ϵr_t(\theta) > 1+\epsilon(新策略错误地放大了坏动作概率),clip\text{clip} 项为 (1+ϵ)A^t(1+\epsilon)\hat{A}_t(绝对值更小,负得更少)。
    • min(rtA^t,(1+ϵ)A^t)=rtA^t\min(r_t \hat{A}_t, (1+\epsilon)\hat{A}_t) = r_t \hat{A}_t(保留更大的负惩罚),强力施加负梯度把概率拉回!

通过 min\min 操作,PPO 构建了真实代理性能的悲观下界(Pessimistic Lower Bound),确保了在不计算二阶逆 Hessian 矩阵的前提下实现一阶单调稳定策略更新。


第三章:RoPE 旋转位置编码的复数内积同构证明

RoPE 的核心设计哲学:寻找一个映射,使得两个词向量变换后的点积只包含其相对位置差 mnm-n

设输入向量在二维子空间中表示为复数 q,kCq, k \in \mathbb{C}。设位置编码变换函数为 f(q,m)f(q, m)f(k,n)f(k, n)。要求满足保内积条件: f(q,m),f(k,n)=g(q,k,mn)\langle f(q, m), f(k, n) \rangle = g(q, k, m-n)

在复数空间中,内积定义为 u,v=Re(uv)\langle u, v \rangle = \text{Re}(u v^*)。利用极坐标重参数化: q=qeiθq,k=keiθk,f(q,m)=qei(θq+ϕ(m))q = \|q\| e^{i\theta_q}, \quad k = \|k\| e^{i\theta_k}, \quad f(q, m) = \|q\| e^{i(\theta_q + \phi(m))}

代入复数共轭相乘: f(q,m)f(k,n)=qkei(θqθk+ϕ(m)ϕ(n))f(q, m) f(k, n)^* = \|q\| \|k\| e^{i(\theta_q - \theta_k + \phi(m) - \phi(n))}

要使结果与绝对位置无关、严格仅依赖 mnm-n,必然要求相位函数满足线性同态: ϕ(m)ϕ(n)=ϕ(mn)    ϕ(m)=mθ\phi(m) - \phi(n) = \phi(m - n) \implies \phi(m) = m \theta

写回实数二维矩阵形式,即为二维旋转矩阵算子Rm=[cos(mθ)sin(mθ)sin(mθ)cos(mθ)]R_m = \begin{bmatrix} \cos(m\theta) & -\sin(m\theta) \\ \sin(m\theta) & \cos(m\theta) \end{bmatrix}

对于高维向量 dd,将其切分为 d/2d/2 个二维正交子空间,每个子空间赋予不同的基频 θi=100002(i1)/d\theta_i = 10000^{-2(i-1)/d}RΘ,md=diag(Rmθ1,Rmθ2,,Rmθd/2)R_{\Theta, m}^d = \text{diag}\left( R_{m\theta_1}, R_{m\theta_2}, \dots, R_{m\theta_{d/2}} \right)

核心性质RmR_m 为正交矩阵(RmTRm=IR_m^T R_m = I),旋转变换严格保持向量的欧几里得模长不变:Rmq2=q2\|R_m q\|_2 = \|q\|_2,绝不破坏多头注意力的归一化尺度!

import numpy as np

def pure_python_rope_rotation(x: np.ndarray, m: int, theta: float = 10000.0) -> np.ndarray:
    d = len(x)
    freqs = 1.0 / (theta ** (np.arange(0, d, 2) / d))
    angles = m * freqs
    cos_a, sin_a = np.cos(angles), np.sin(angles)
    
    x_rotated = np.zeros_like(x)
    for i in range(d // 2):
        x_rotated[2*i] = x[2*i] * cos_a[i] - x[2*i+1] * sin_a[i]
        x_rotated[2*i+1] = x[2*i] * sin_a[i] + x[2*i+1] * cos_a[i]
    return x_rotated

if __name__ == "__main__":
    vec = np.array([1.0, 2.0, 3.0, 4.0])
    print("✅ RoPE 旋转向量 (m=1):", pure_python_rope_rotation(vec, m=1))

第四章:自注意力机制中 1dk\frac{1}{\sqrt{d_k}} 缩放因子的方差严格推导

在 Transformer 自注意力层中,计算公式为 Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax}\left( \frac{QK^T}{\sqrt{d_k}} \right) V

为什么必须除以 dk\sqrt{d_k}

假设查询向量 qRdkq \in \mathbb{R}^{d_k} 与键向量 kRdkk \in \mathbb{R}^{d_k} 的各分量 qi,kiq_i, k_i 为独立同分布的随机变量,满足: E[qi]=E[ki]=0,Var(qi)=Var(ki)=1\mathbb{E}[q_i] = \mathbb{E}[k_i] = 0, \quad \text{Var}(q_i) = \text{Var}(k_i) = 1

计算两向量点积 S=qTk=i=1dkqikiS = q^T k = \sum_{i=1}^{d_k} q_i k_i 的期望与方差:

  1. 期望: E[S]=i=1dkE[qiki]=i=1dkE[qi]E[ki]=0\mathbb{E}[S] = \sum_{i=1}^{d_k} \mathbb{E}[q_i k_i] = \sum_{i=1}^{d_k} \mathbb{E}[q_i]\mathbb{E}[k_i] = 0
  2. 方差: Var(S)=i=1dkVar(qiki)=i=1dk(E[qi2ki2](E[qiki])2)=i=1dkE[qi2]E[ki2]=i=1dk11=dk\text{Var}(S) = \sum_{i=1}^{d_k} \text{Var}(q_i k_i) = \sum_{i=1}^{d_k} \left( \mathbb{E}[q_i^2 k_i^2] - (\mathbb{E}[q_i k_i])^2 \right) = \sum_{i=1}^{d_k} \mathbb{E}[q_i^2] \mathbb{E}[k_i^2] = \sum_{i=1}^{d_k} 1 \cdot 1 = d_k

点积的方差随着特征维度 dkd_k 呈线性增长!当 dk=128d_k = 128 时,标准差 σ=12811.3\sigma = \sqrt{128} \approx 11.3。 若不进行缩放,QKTQK^T 的数值极大,导致 Softmax 函数被推入两端极端饱和区(softmax(z)0\text{softmax}(z) \approx 011),其导数 softmaxz=softmax(1softmax)0\frac{\partial \text{softmax}}{\partial z} = \text{softmax}(1-\text{softmax}) \approx 0造成极其严重的梯度消失(Vanishing Gradients)

通过除以 dk\sqrt{d_k} 进行归一化: Var(Sdk)=Var(S)dk=dkdk=1\text{Var}\left( \frac{S}{\sqrt{d_k}} \right) = \frac{\text{Var}(S)}{d_k} = \frac{d_k}{d_k} = 1 使点积方差恒定为 1,确保 Softmax 处于梯度灵敏的工作区间。

👁️0 Views

Comments (0)

You must be logged in to post a comment.
No comments yet. Be the first to share your thoughts!

🔗 Related Guides

RS Core Cheatsheet: Top 30 Papers Breakdown & Deep RL
Exhaustive technical deep dive into RS core knowledge map, top 30 conference papers breakdown, DPO closed-form implicit reward derivation, PPO clipped objective, and Deep RL.
RS Experiment Design & Reproducible Research: Ablations, Seed Control, Hyperparameter Search & the Full Reproducibility Checklist
A complete interview guide on experiment design and reproducible research for Research Scientist roles. Covers the three principles of experiment design, multi-seed variance control, ablation study conventions, grid/random/Bayesian hyperparameter search with budget allocation math, TensorBoard/W&B logging checklists, the full reproducibility checklist, common pitfalls (train-val leakage, test set contamination, selection bias, Bonferroni), and the paper reproduction workflow. Includes a Pure Numpy grid search + multi-seed aggregation implementation.
RS Paper Deep Dive Framework: Articulating Novelty & Research Vision
Exhaustive framework for Research Scientist candidates: 4-step SOTA paper deep-dive method, 3-5 year Research Vision formulation, DeepSeek-R1 pure RL emergence analysis, and peer-reviewer critical mindset.