$o_t$ :回答序列o的第t个token;在语言模型中,回答o的token数就是传统RL问题中时间序列的长度
$\pi_{\theta}(o_t|q)$ : 一个特定的概率,即输入问题q,模型theta生成第t个token为o_t的概率;
$\pi_{\theta}(o|q)$: 即输入问题q,模型theta生成序列o的概率;
$\pi_{\theta}(\cdot|q)$ : 一个分布,即输入问题q,模型theta输出的概率分布;
LLM中,输出的概率就是logits softmax后的结果
KL散度的含义
数学上,KL散度定义为:
$$ D_{KL}(P||Q)=\sum_{x}P(x)\log\frac{P(x)}{Q(x)} $$
其中,P和Q是两个概率分布,x是所有可能的事件或状态。KL散度的值总是非负的,当且仅当P和Q在所有事件上完全相同时,KL散度为零。
为什么KL散度不是对称的
KL散度不是对称的,这意味着 DKL(P∣∣Q))通常不等于 DKL(Q∣∣P)。这是因为KL散度是基于一个假设,即我们正在用 Q来近似 P,并且我们关心的是当我们使用 Q代替 P 时会丢失多少信息。 信息论的角度来看,DKL(P∣∣Q)测量的是使用 Q来编码 P中的信息所需的额外比特数。
$$ L^{PG}=\mathbb{E}{q\thicksim P(Q), o\thicksim \pi{\theta}(\cdot|q)}\frac{1}{|o|}\sum_{t=1}^{|o|}[log\pi_{\theta}(o_t|q)\hat{A}_t] $$
1)penalty term:
$$ \mathcal{L}{TRPO}=\mathbb{E}{q\thicksim P(Q), o\thicksim \pi_{old}(\cdot|q)}\frac{1}{|o|}\sum_{t=1}^{|o|}[\frac{\pi_{\theta}(o_t|q)}{\pi_{old}(o_t|q)}\hat{A}t-\beta {KL}(\pi{old}(\cdot, q),\pi_{\theta}(\cdot, q))] $$
2)hard consistent:
$$ \mathcal{L}{TRPO}=\mathbb{E}{q\thicksim P(Q), o\thicksim \pi_{old}(\cdot|q)}\frac{1}{|o|}\sum_{t=1}^{|o|}[\frac{\pi_{\theta}(o_t|q)}{\pi_{old}(o_t|q)}\hat{A}t], \\s.t. \quad \mathbb{E}[{KL}(\pi{old}(\cdot, q),\pi_{\theta}(\cdot, q))]\leq \delta $$
Actor-Critic Style
1)clip策略优化的程度