GRPO
GRPO
传统PPO方法:
这里的AtA_tAt是GAE。
GAE 介绍
在PPO(Proximal Policy Optimization)算法中,GAE(Generalized Advantage Estimation) 是一个用于估计 优势函数(advantage function) 的技术,它的目的是在偏差和方差之间找到一个好的折中,以获得更稳定和高效的策略梯度估计。
在策略梯度方法中,策略更新的方向取决于 Advantage,它表示“当前动作比平均水平好多少”。
形式上,优势函数为:
At=Q(st,at)−V(st)A_t = Q(s_t, a_t) - V(s_t)
At=Q(st,at)−V(st)
但直接估计 QQQ 或 AAA 会有高方差,影响训练稳定性,于是引入 GAE 来更好地估算 AtA_tAt。
GAE 提供了一种通过时间差分(TD)来估计 advantage 的方式。它引入一个超参数 λ∈[0,1]\lambda \in [0, 1]λ∈[0,1],来平衡偏差与方差。
定义 TD 残差(Temporal Difference Residu ...
Approximating KL Divergence
Approximating KL Divergence
主要介绍使用MC方法来近似KL散度的技巧。
参考link
KL公式:
KL[q,p]=∑xq(x)logq(x)p(x)=Ex∼qlogq(x)p(x)KL[q,p]=\sum_xq(x)\log{\frac{q(x)}{p(x)}}=\mathbb{E}_{x\sim q}\log\frac{q(x)}{p(x)}
KL[q,p]=x∑q(x)logp(x)q(x)=Ex∼qlogp(x)q(x)
前置假设:
我们知道概率密度计算,但是没法做遍历x做求和或者积分。
已知x1,x2,...∼qx_1,x_2,... \sim qx1,x2,...∼q,即从真实分布中采样的样本。
一般在机器里,我们的模型可以表示ppp的函数。
K1
一个straightforward的做法是直接使用k1=logq(x)p(x)=−logrk_1 =\log\frac{q(x)}{p(x)}=-\log rk1=logp(x)q(x)=−logr,这里定义r=p(x)q(x)r=\frac{p(x)}{q(x)}r=q ...
Iterated Denoising Energy Matching for Sampling from Boltzmann Densities
Iterated Denoising Energy Matching for Sampling from Boltzmann Densities
Background
采样的核心挑战:
从高维复杂分布采样是困难的,主要面临以下挑战:
多模态问题(Multi-modality):目标分布可能存在多个模式,导致简单的采样方法难以探索所有模式。
高能量屏障(Energy Barriers):Boltzmann分布中的不同模态可能被高能量屏障隔开,使得采样器难以在模式之间跳跃。
计算开销大(Computational Cost):传统的马尔可夫链蒙特卡洛(MCMC)方法,如Langevin Dynamics,需要大量迭代才能收敛。
现有方法
Langevin MCMC:使用梯度信息来更新样本,但在高能量屏障情况下可能难以有效探索。
Contrastive Divergence (CD):用于训练能量基模型,但依赖于短步Langevin采样,可能导致模型分布与目标分布不匹配。
Score Matching:学习目标分布的对数梯度,但通常要求明确的概率密度函数。
方法
目标
主要 ...
Offline Transition Modeling via Contrastive Energy Learning
Offline Transition Modeling via Contrastive Energy Learning
建议看之前的这篇 paper: Implicit Behavioral Cloning blog,这篇是基于IBC的一个延伸,IBC用implicit的能量模型做behavior cloning,这篇文章用explicit的能量模型做offline transition modeling,这两篇文章都是用contrastive learning来训练模型。
基本就是按照IBC论文,输入是(s,a),以前的transition model是一个简单的神经网络,直接给出s’或者gaussian distribution,这里则用能量模型,是一个Eθ(s,a,s′)E_{\theta}(s,a,s')Eθ(s,a,s′),我们去做argmin,使得Eθ(s,a,s′)E_{\theta}(s,a,s')Eθ(s,a,s′)在s’上最小,这样就能得到一个s’,这个s’就是我们的transition model的输出。
注意这里的argmin在实践中 ...
Implicit Behavioral Cloning
Implicit Behavioral Cloning
Abstract:
On robotic policy learning tasks we show that implicit behavioral cloning policies with energy-based models (EBM) often outperform common explicit (Mean Square Error, or Mixture Density) behavioral cloning policies, including on tasks with high-dimensional action spaces and visual image inputs.
Method:
很多时候,我们直接用a^=Fθ(o)\hat{a} = F_\theta(o)a^=Fθ(o),作为agent动作的输出,这是常见的explicit behavioral cloning。
最近随着能量模型的火爆,我们可以用能量模型来做implicit behavioral cloning。这里的能量模型是指E ...
RLHF and DPO
RLHF and DPO
detect0530@gmail.com
RLHF
我们回顾一下 Ziegler 等人提出的 RLHF 管道(后续工作)通常包括三个阶段:
1.监督微调(SFT);2. 偏好采样和奖励学习;3. 强化学习优化。
(2)式就是把负对数似然函数作为loss function,用了点恒等变形如下:
DPO
一个很好的 博客link
虽然大规模无监督语言模型(LMs)能够学习广泛的世界知识和一定的推理技能,但由于其训练过程完全无监督,要实现对其行为的精确控制是非常困难的。现有的方法通过收集模型生成的相对质量的人类标注,微调无监督LM以符合这些偏好,通常采用从人类反馈中进行的强化学习(RLHF)。然而,RLHF是一种复杂且通常不稳定的过程,首先需要拟合反映人类偏好的奖励模型,然后使用强化学习来微调无监督LM以最大化这一估计的奖励,同时避免与原始模型偏离过远。本文提出了一种新的奖励模型参数化方法,使得可以通过封闭形式提取相应的最优策略,从而仅需通过一个简单的分类损失来解决标准的RLHF问题。所提出的算法称为“直接偏好优化”(Direct Preference ...
diffusion blog
diffusion blog
可以一步计算任何t时刻的正向传播
虽然逆向顺序没法算
但是:可以通过引入x0x_0x0作为条件,然后用正向的一步表达式的反演又把x0x_0x0从xt−1x_{t-1}xt−1的表达式中去掉,达到从xtx^txt导出xt−1x^{t-1}xt−1的inverse diffusion process的效果
这里的ϵt\epsilon_tϵt是由x0和xt计算出来的
同上,对于理解式子很重要,这里道理应该是given了xt。
只不过loss function里面反演的是epsilon
与score function的联系
带条件的,第一步对梯度关系进行贝叶斯很关键!
首先,这里应该是完全等价的变形,但是这里第一部分的转换为什么可以换出$\epsilon_t$,用网络预测应该是given了$x^T$,不是简单的正态分布了?(疑似这里就是近似了一步,不是严格等价的?)
DDIM has the same marginal noise distribution but deterministically maps noise back to ...
Score-function blog 速记
Score-function blog 速记
为什么score function是log p的梯度,某种意义上我们一般的定义是
以往我们都是参数化f,这里log刚好去掉指数。
同时log后让对p的大幅度变化不敏感。
加上高斯卷积导致这种效果:
高斯模糊效果,和直接线性添加高斯噪音不同
退火版朗之万采样法
By generalizing the number of noise scales to infinity , we obtain not only higher quality samples, but also, among others, exact log-likelihood computation, and controllable generation for inverse problem solving.
也许也可以看出score function的重要性
在 SDE 和 ODE 过程中,任意时刻 t 的数据分布是相同的。
同时ODE时,一个采样和一个噪音是双射的
Ensemble
Ensemble
Bagging
Bagging: 通过多次采样,然后平均结果,可以减小variance。
测试的时候把不同function的结果做平均(回归)或者voting(分类)。
做bagging的目的是为了减低模型的variance,所以一般是在模型比较复杂,很容易ovetfit时使用
nn其实没有那么容易overfit,decision tree其实容易overfit。
可以看到决策树考虑的东西很多。
树够深,就可以作出很复杂的决策。
可以用random forest来增强。
这里提到一些小技巧:
bagging可以随机放回的抽取每个树的训练样本,也可以限制一些特征让每个树的形态不一样。
validation可以像图中一样tricky,可以不用设置显性的validation set。
random forest可以让结果更平滑,不是简单的增强,比如depth=5本来就拟合不好,那么random forest也拟合不好。但是可以让图片平滑,不像minecraft那样的方块世界。
Boosting
和bagging不同,bagging是用在很强的mode ...
SVM
Support Vector Machine (SVM)
hinge loss function:
max操作促使f(x)大于1,且不需要超过1太多,对比cross entropy: hinge loss及格就好:
(也是ideal function的upper bound)
SVM和logistic regression的区别就是定义的loss function不同,SVM的loss function是hinge loss function,logistic regression的loss function是cross entropy loss function。
脑洞一下,linear SVM可以用gradient descent来求解。
常见的做法:
SVM特点
w参数实际是x的线性组合,所以SVM是线性分类器。这一点可以用lagrange multiplier或者梯度下降来证明。
ana_nan是sparse的,大部分是0,也就是说SVM结果只和少数几个样本有关。
经过等价变化,和最后一步推广,产生kernel trick。
当 ...