大模型入门(七)—— RLHF中的PPO算法理解

发布时间 2023-07-14 15:36:26作者: 微笑sun

  本文主要是结合PPO在大模型中RLHF微调中的应用来理解PPO算法。

一、强化学习介绍

1.1、基本要素

  环境的状态S:t时刻环境的状态$S_{t}$是环境状态集中某一个状态,以RLHF中为例,序列$w1,w2,w3$是当前的状态。

  个体的动作A:t时刻个体采取的动作$A_{t}$,给定序列$w1,w2,w3$,此时得到$w4$,得到$w4$就是执行的一次动作。然后就得到下一状态$S_{t+1} = w1,w2,w3,w4$。

  环境的奖励R:t时刻个体在$S_{t}$采取动作$A_t$得到的奖励$R_t$,奖励是对当前动作,不会考虑到未来的影响。

  个体的策略$\pi$:根据输入的状态获取动作,可以表示为$\pi (a | s)$。

  状态价值函数:价值一般是一个期望函数,即当前状态下所有动作产生的奖励和未来的奖励的期望值,这也是它不同于奖励R的地方,可以表示为$v_{\pi}(s) = \mathbb{E}_{\pi}(G_t|S_t=s ) = \mathbb{E}_{\pi}(R_{t+1} + \gamma R_{t+2} + \gamma^2R_{t+3}+...|S_t=s)$。所以价值才是真正衡量当前状态下能产生的价值。

  动作价值函数:动作价值函数类似于状态价值函数,只不过是在当前的状态和动作下获得的价值。可以表示为$q_{\pi}(s,a) = \mathbb{E}_{\pi}(G_t|S_t=s, A_t=a) = \mathbb{E}_{\pi}(R_{t+1} + \gamma R_{t+2} + \gamma^2R_{t+3}+...|S_t=s,A_t=a)$。

  状态转移概率模型:

1.2、有模型和无模型的区别

1.3、蒙特卡洛(MC)和时序差分(TD)的区别

1.4、on policy和off policy的区别

1.5、价值网络、策略网络和AC网络