本文主要跟大家梳理 LLM 强化学习算法演进之路:
MC→TD→Q-Learning→DQN→PG→AC→TRPO→PPO→DPO→GRPO。
01 强化学习理论基础
Q 值:代表智能体选择某个动作后,一直到最终状态奖励总和的期望, Q 值评价动作。
V 值:代表智能体在这个状态下,一直到最终状态的奖励总和的期望,V 值评价状态。
如何在不知道真实环境分布的情况下估算 V 值,已经诞生了多种方法,大体归纳为基于价值、基于策略两种:
1.1 基于价值的方法
代表:MC(Monte-Carlo,蒙特卡洛)方法、TD(Temporal-Difference,时序差分,基于 TD 的变体包括 SARSA、Q-learning、DQN)。
MC 方法
思路:通过样本回合(episode,也叫 trajectory,即轨迹)的完全体验来估计状态值函数 V(s)。具体来说,它使用从一个状态开始到回合结束的真实收益来进行估计。
缺点:算法要求采样必须走到最终状态;面对巨大的状态空间,小概率能到达最终状态。
TD 方法
思路:不必等待一个完整的回合结束才能进行更新,而是可以在每个时间步进行增量更新。
延展方法:SARSA、Q-learning、DQN。
图1-2解:从MC到TD
MC 的注意点:里面的 V(s) 实际是 V(S_t);更新状态值函数实际是加权增量平均,即 V=(1-α)V+αG=V+α(G-V),有时候 α=1/N(s),N 表示状态 s 被访问的次数,此时根据大数定理,最终的 V 会是 G 的期望值。
TD 方法的变体之:SARSA(State-Action-Reward-State-Action)
思路:SARSA 算法更新的是状态-动作价值函数(Q 值),通过五元组(当前状态 S、当前动作 A、收到的奖励 R、下一个状态 S’、下一个动作 A’)来进行学习。
SARSA 被称为“on-policy”算法,因为它更新的 Q 值是基于当前策略选择的动作。
TD 方法的变体之:Q-learning
思路:采用 Q 表(Q-table)来存储状态-动作对的价值。通过不断更新 Q 表来学习一个最优策略,使得 Agent 能够在环境中最大化累积奖励。
这是一种“off-policy”算法,即更新 Q 值时不依赖于当前执行的策略。它使用贪心策略来更新 Q 值,即选择下一个状态中的最大 Q 值进行更新。
Q 表是一个二维表格,其中:行代表环境中的所有可能状态 s;列代表在每个状态下所有可能的动作 a;表中的每个元素 Q(s,a) 表示在状态 s 采取动作 a 后的预期累积奖励。
缺点:它只能解决离散的、有限状态、有限动作空间的任务。
选取 action 的策略——greedy-epsilon(又叫 ε-greedy):即以概率 1−ε 选择当前已知的最优动作(即利用)。
这通常是基于当前的 Q 值或策略评估选出的动作。以概率ε随机选择一个动作(即探索),以确保算法有机会尝试不同的动作,可能发现更优的策略。