【DL】公式速记
RL
PPO/GRPO: 概率比率r*优势函数A,会对概率比率进行一定程度的裁剪,最后再加上kl散度的约束
1. PPO (Proximal Policy Optimization)
LPPO(θ)=−E(x,y)[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)−βDKL(πθ∥πref)]L^{PPO}(\theta) = -\mathbb{E}_{(x, y)} \left[ \min \left( r_t(\theta) \hat{A}_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_t \right) - \beta \mathbb{D}_{KL}(\pi_\theta \parallel \pi_{ref}) \right]LPPO(θ)=−E(x,y)[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)−βDKL(πθ∥πref)]
- rt(θ)=πθ(yt∣x)πold(yt∣x)r_t(\theta) = \frac{\pi_\theta(y_t \mid x)}{\pi_{old}(y_t \mid x)}rt(θ)=πold(yt∣x)πθ(yt∣x):策略概率比率。
- A^t\hat{A}_tA^t:由 Critic 网络估计的优势函数(Advantage)。
- ϵ\epsilonϵ:对称裁剪的超参数(通常为 0.2)。
- DKL\mathbb{D}_{KL}DKL:防止模型过度偏离参考模型(Reference Model)的 KL 散度惩罚。
2. DPO (Direct Preference Optimization)
LDPO(θ)=−E(x,yw,yl)[logσ(βlogπθ(yw∣x)πref(yw∣x)−βlogπθ(yl∣x)πref(yl∣x))]L^{DPO}(\theta) = -\mathbb{E}_{(x, y_w, y_l)} \left[ \log \sigma \left( \beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{ref}(y_w \mid x)} - \beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{ref}(y_l \mid x)} \right) \right]LDPO(θ)=−E(x,yw,yl)[logσ(βlogπref(yw∣x)πθ(yw∣x)−βlogπref(yl∣x)πθ(yl∣x))]
- xxx:输入的提示词(Prompt)。
- yw,yly_w, y_lyw,yl:获胜(Win)的回答与失败(Lose)的回答。
- σ\sigmaσ:Sigmoid 函数。
- β\betaβ:控制策略偏离度的温度系数 / KL 惩罚系数。
3. GRPO (Group Relative Policy Optimization)
LGRPO(θ)=−Ex∼P(x),{yi}i=1G∼πold[1G∑i=1G(min(ri(θ)A^i,clip(ri(θ),1−ϵ,1+ϵ)A^i)−βDKL(πθ(yi∣x)∥πref(yi∣x)))]L^{GRPO}(\theta) = -\mathbb{E}_{x \sim P(x), \{y_i\}_{i=1}^G \sim \pi_{old}} \left[ \frac{1}{G} \sum_{i=1}^{G} \left( \min \left( r_i(\theta) \hat{A}_i, \text{clip}(r_i(\theta), 1-\epsilon, 1+\epsilon) \hat{A}_i \right) - \beta \mathbb{D}_{KL}(\pi_\theta(y_i \mid x) \parallel \pi_{ref}(y_i \mid x)) \right) \right]LGRPO(θ)=−Ex∼P(x),{yi}i=1G∼πold[G1i=1∑G(min(ri(θ)A^i,clip(ri(θ),1−ϵ,1+ϵ)A^i)−βDKL(πθ(yi∣x)∥πref(yi∣x)))]
- GGG:针对同一提示采样的回答组大小(Group Size)。
- ri(θ)=πθ(yi∣x)πold(yi∣x)r_i(\theta) = \frac{\pi_\theta(y_i \mid x)}{\pi_{old}(y_i \mid x)}ri(θ)=πold(yi∣x)πθ(yi∣x):第 iii 个回答的策略概率比率。
- A^i=Ri−mean(R1,…,RG)std(R1,…,RG)\hat{A}_i = \frac{R_i - \text{mean}(R_1, \dots, R_G)}{\text{std}(R_1, \dots, R_G)}A^i=std(R1,…,RG)Ri−mean(R1,…,RG):由规则系统算出的奖励分 RRR 进行组内标准化的相对优势(省去了 Critic 网络)。
优势A是序列级的,奖励是对整条回答打的分(比如数学题对了得 1 分
概率比率 和裁剪是token级的
4. DAPO (Decoupled Clip and Dynamic Sampling Policy Optimization)
LDAPO(θ)=−E[1G′∑i=1G′1Ti∑t=1Timin(ri,t(θ)A^i,clip(ri,t(θ),1−ϵlow,1+ϵhigh)A^i)]L^{DAPO}(\theta) = -\mathbb{E} \left[ \frac{1}{G'} \sum_{i=1}^{G'} \frac{1}{T_i} \sum_{t=1}^{T_i} \min \left( r_{i,t}(\theta) \hat{A}_i, \text{clip}(r_{i,t}(\theta), 1-\epsilon_{low}, 1+\epsilon_{high}) \hat{A}_i \right) \right]LDAPO(θ)=−E G′1i=1∑G′Ti1t=1∑Timin(ri,t(θ)A^i,clip(ri,t(θ),1−ϵlow,1+ϵhigh)A^i)
- G′G'G′:动态过滤掉方差为 0(如全对或全错)的样本后,剩余的有效组大小。
- TiT_iTi:第 iii 个回答的 Token 总长度(引入 Token 级别的损失计算以应对超长文本)。
- ri,t(θ)r_{i,t}(\theta)ri,t(θ):第 iii 个回答中第 ttt 个 Token 的策略概率比率。
- ϵlow,ϵhigh\epsilon_{low}, \epsilon_{high}ϵlow,ϵhigh:非对称裁剪的下界与上界(通常 ϵhigh>ϵlow\epsilon_{high} > \epsilon_{low}ϵhigh>ϵlow,鼓励模型探索更好的解)。
改动一:非对称裁剪(Decoupled Clip) 把原来对称的 [1−ϵ,1+ϵ][1-\epsilon, 1+\epsilon][1−ϵ,1+ϵ] 拆成两个独立参数:
clip(ri,1−ϵlow,1+ϵhigh)\text{clip}(r_i, 1-\epsilon_{low}, 1+\epsilon_{high})clip(ri,1−ϵlow,1+ϵhigh)
正向和负向更新用不同力度,避免"好的回答更新太保守,坏的回答惩罚太弱"的问题。
改动二:动态采样(Dynamic Sampling) 过滤掉组内全对或全错的样本,因为这种组的优势值为 0,提供不了任何学习信号,纯属浪费计算。
改动三:Token 级别 Loss 原始 GRPO 是 sample 级别平均,DAPO 改为对每个 token 平均,缓解长回答被"稀释"的问题。
改动四:去掉 KL 惩罚 用熵正则化替代,鼓励模型保持多样性,防止输出退化。
GSPO
把裁剪移到序列级
GSPO 的核心思路是:既然语言模型的输出单位是序列,trust region 的约束就应该定义在序列级别上。
LGSPO(θ)=−E[1G∑i=1Gmin(r~i(θ)A^i, clip(r~i(θ),1−ϵ,1+ϵ)A^i)]L^{GSPO}(\theta) = -\mathbb{E}\left[\frac{1}{G}\sum_{i=1}^{G} \min\left(\tilde{r}_i(\theta)\hat{A}_i,\ \text{clip}(\tilde{r}_i(\theta), 1-\epsilon, 1+\epsilon)\hat{A}_i\right)\right]LGSPO(θ)=−E[G1i=1∑Gmin(r~i(θ)A^i, clip(r~i(θ),1−ϵ,1+ϵ)A^i)]
关键变化是 ri,tr_{i,t}ri,t(token 级)换成了 r~i\tilde{r}_ir~i(序列级),裁剪只做一次,作用在整条回答上。
| 变体 | 核心改动 | 解决的主要问题 |
|---|---|---|
| GRPO | 组内相对优势,去掉 Critic | 省掉价值网络 |
| DAPO | 非对称裁剪 + 动态采样 | 训练稳定性和效率 |
| Dr. GRPO | 修正归一化统计偏差 | 梯度估计的无偏性 |
| RLOO | 留一基线,不除标准差 | 更简洁且理论无偏 |
| GSPO | 裁剪粒度从 token 级升到序列级 | trust region 在序列层面真正生效 |
Diffusion
DDPM (Denoising Diffusion Probabilistic Models)
噪声调度(变量定义):
βt∈(0,1),αt=1−βt,αˉt=∏s=1tαs\beta_t \in (0,1), \quad \alpha_t = 1-\beta_t, \quad \bar{\alpha}_t = \prod_{s=1}^{t}\alpha_sβt∈(0,1),αt=1−βt,αˉt=s=1∏tαs
前向过程(单步加噪):
q(xt∣xt−1)=N (1−βt xt−1, βtI)q(x_t \mid x_{t-1}) = \mathcal{N}\!\left(\sqrt{1-\beta_t}\,x_{t-1},\ \beta_t I\right)q(xt∣xt−1)=N(1−βtxt−1, βtI)
前向过程(一步跳转):
xt=αˉtx0+1−αˉt ϵ,ϵ∼N(0,I)x_t = \sqrt{\bar{\alpha}_t}x_0 + \sqrt{1-\bar{\alpha}_t}\,\epsilon, \quad \epsilon \sim \mathcal{N}(0, I)xt=αˉtx0+1−αˉtϵ,ϵ∼N(0,I)
反向过程(随机采样):
xt−1=αˉt−1x^0+1−αˉt−1−σt2 ϵθ(xt,t)+σtz,z∼N(0,I)x_{t-1} = \sqrt{\bar{\alpha}_{t-1}}\hat{x}_0 + \sqrt{1-\bar{\alpha}_{t-1}-\sigma_t^2}\,\epsilon_\theta(x_t,t) + \sigma_t z, \quad z\sim\mathcal{N}(0,I)xt−1=αˉt−1x^0+1−αˉt−1−σt2ϵθ(xt,t)+σtz,z∼N(0,I)
原始数据估计x^0\hat{x}_0x^0:
x^0=xt−1−αˉt ϵθ(xt,t)αˉt\hat{x}_0 = \frac{x_t - \sqrt{1-\bar{\alpha}_t}\,\epsilon_\theta(x_t,t)}{\sqrt{\bar{\alpha}_t}}x^0=αˉtxt−1−αˉtϵθ(xt,t)
后验方差σt\sigma_tσt:
σt=(1−αˉt−1) βt1−αˉt,其中 βt=1−αˉtαˉt−1\sigma_t = \sqrt{\frac{(1-\bar{\alpha}_{t-1})\,\beta_t}{1-\bar{\alpha}_t}}, \qquad \text{其中 } \beta_t = 1 - \frac{\bar{\alpha}_t}{\bar{\alpha}_{t-1}}σt=1−αˉt(1−αˉt−1)βt,其中 βt=1−αˉt−1αˉt
优化目标(MSE Loss):
LDDPM=Et, x0, ϵ [∥ϵ−ϵθ(xt,t)∥2]L_{\mathrm{DDPM}} = \mathbb{E}_{t,\, x_0,\, \epsilon}\!\left[\left\|\epsilon - \epsilon_\theta(x_t, t)\right\|^2\right]LDDPM=Et,x0,ϵ[∥ϵ−ϵθ(xt,t)∥2]
β_t 是设计的噪声强度 → α_t = 1 - β_t 是信号保留率 → ᾱ_t = ∏α_s 是累积保留率,支撑一步采样的前向公式 → σ_t 由 β_t 和 ᾱ_t 共同决定,是反向采样的真实后验方差,控制每步的随机性大小。
2. DDIM (Denoising Diffusion Implicit Models)
反向过程 (确定性采样,即令 σt=0\sigma_t = 0σt=0):
xt−1=αˉt−1x^0+1−αˉt−1ϵθ(xt,t)x_{t-1} = \sqrt{\bar{\alpha}_{t-1}}\hat{x}_0 + \sqrt{1-\bar{\alpha}_{t-1}}\epsilon_\theta(x_t,t)xt−1=αˉt−1x^0+1−αˉt−1ϵθ(xt,t)
(注:前向过程边缘分布、x^0\hat{x}_0x^0 的定义以及优化目标均与 DDPM 完全相同。)
3. Flow Matching
(注:时间方向 t∈[0,1]t \in [0,1]t∈[0,1],t=0t=0t=0 为纯噪声,t=1t=1t=1 为干净数据)
训练路径 (条件流/直线插值):
xt=(1−t)x0+tx1,x0∼N(0,I), x1∼pdatax_t = (1-t)x_0 + t x_1, \quad x_0 \sim \mathcal{N}(0,I), \, x_1 \sim p_{\mathrm{data}}xt=(1−t)x0+tx1,x0∼N(0,I),x1∼pdata
推理过程 (ODE 求解):
dxdt=vθ(xt,t)\frac{dx}{dt} = v_\theta(x_t, t)dtdx=vθ(xt,t)
优化目标 (MSE Loss):
LFM=Et,x0,x1[∥vθ(xt,t)−(x1−x0)∥2]L_{\mathrm{FM}} = \mathbb{E}_{t, x_0, x_1}\left[\left\Vert v_\theta(x_t, t) - (x_1 - x_0)\right\Vert^2\right]LFM=Et,x0,x1[∥vθ(xt,t)−(x1−x0)∥2]
4. PF-ODE (Probability Flow ODE / 连续时间框架补充)
扩散模型的概率流 ODE 等价形式 (Score-based 框架):
dx=[f(x,t)−12g2(t)∇xlogpt(x)]dtdx = \left[f(x,t) - \frac{1}{2}g^2(t)\nabla_x \log p_t(x)\right]dtdx=[f(x,t)−21g2(t)∇xlogpt(x)]dt
ELBO (证据下界,扩散模型变分推导基础):
logpθ(x0)≥Eq[logpθ(x0,x1,…,xT)q(x1,…,xT∣x0)]\log p_\theta(x_0) \geq \mathbb{E}_q\left[\log \frac{p_\theta(x_0, x_1, \ldots, x_T)}{q(x_1, \ldots, x_T \mid x_0)}\right]logpθ(x0)≥Eq[logq(x1,…,xT∣x0)pθ(x0,x1,…,xT)]
DDPM 的视角(2020):概率图模型
DDPM 是站在 变分自编码器(VAE)和马尔可夫链 的肩膀上推导出来的。在那个框架下,前向必须是马尔可夫链,后验推导极其依赖联合概率分解,因此不可避免地带入了随机项。在当时的理论框架内,DDPM 是非常严谨且完美的。
DDIM 的视角(2020末):非马尔可夫的泛化
DDIM 的作者跳出了马尔可夫的限制,发现只要边缘分布对齐,联合分布怎么构造都可以。这是一种对 DDPM 图模型的巧妙拓展。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)