Reinforcement Learning 算法

📅 发布时间:2026/7/6 13:26:21 👁️ 浏览次数:
Reinforcement Learning 算法
taxonomyˈtæksənəmin. 分类学bootstrapˈbuːtstræpn. [计] 引导程序辅助程序自展自举vt. 启动电脑分类Temporal Difference (TD) Learning 时序差分学习强化学习算法可以根据多个标准进行分类。理解这种分类方式有助于选择适合特定问题的正确算法。无模型与基于模型的方案环境动态 environment dynamicsintractableɪnˈtræktəbladj. 棘手的难治的倔强的不听话的难以xx的• 无模型直接从经验中学习策略或价值函数。无需了解环境动态。对LLM语言动态难以 intractable 建模最实用• 基于模型学习或利用环境转换的模型 P(s’ |s, a)。能够提前进行规划。虽然比前者更节省样本量但需要对模型有较高的要求才能取得准确的结果。Learn or use a model of environment transitions P(s’|s,a) Can plan ahead.More sample-efficient but requires accurate model.P(s’ | s,a) 环境转移概率模型给定当前状态s、执行动作a环境跳转到下一个状态 s’ 的概率environment transitions model环境动力学模型 / 世界模型。提前学会一套 “我做了什么动作环境会变成什么样” 的预测模型environment transitions有了环境转移模型不用真实和环境交互凭空模拟未来多步轨迹提前推演 “我选这个 token后面会出现什么上下文能拿多少奖励”提前选最优动作也就是 “规划”more sample-efficient普通 RLPPO、Q-learning需要大量真实交互样本大量真实问答、大量生成回答才能训练有环境模型后可以在模型内部虚拟生成海量模拟样本不需要真实环境交互大幅减少真实交互数据量样本利用率更高but requires accurate model 但要求模型足够精准如果这个环境转移模型预测不准模拟出来的下一步上下文和真实生成的不一样那基于它做的规划、虚拟训练全部会出错效果崩盘基于Value的策略与基于Policy的策略• 基于价值的策略学习 Q(s, a)或 V(s)并将策略表示为 Q(s, a)的极大值derive policy as arg max_a Q(s, a)。这种策略适用于离散discrete且动作空间较小的场景例如 Atari 游戏机。但对于连续或动作空间较大的场景则效果不佳struggle with• 基于策略的优化可以直接对 π_θ(a|s) 进行参数化优化parameterize and optimize。这种方式非常适合连续型或高维动作空间的情况Natural for continuous/high-dimensional action space。对于词汇量达到 32K 到 128K 的动作空间来说这种优化方法非常有效• 演员-评论家方法将两者的优点结合起来——策略 policy 部分由演员 actor 扮演提出行动方案propose actions价值函数则由评论家 critic 负责评估。用于 LLM 的 PPO 就是采用这种 演员-评论家 actor-critic 方法策略内学习 On-Policy 与策略外学习 Off-Policy• 基于策略的学习 On-Policy从当前策略生成的数据中进行学习。每次更新后都需要重新生成数据。例如REINFORCE、PPO、A2C 等算法。这种方式的稳定性较高但样本使用效率较低less sample-efficient。• 基于策略之外的学习方式 Off-Policy可以从任何策略生成的数据中学习包括旧版本的数据或其他智能体生成的数据。可以复用以往的经验。例如Q 学习、DQN、SAC 等算法。这种方式的效率更高more sample-efficient但稳定性较差。重温 Temporal Difference Learningdiscountedˈdɪskaʊntɪdadj. 打折的δ Delta TD 时序差分误差TD Error价值函数的目标让 TD error 趋于0seek : 寻找探索avoid避开convergencekənˈvɜːdʒəns趋同汇集相交会聚区收敛性compound 加剧interpolateɪnˈtɜːpəleɪtvt. 篡改插入新语句vi. 插入篡改γ 伽马better estimate we move toward: 不断逼近那个 “更优估计值”重温 Q-LearningQ-Learning [160 ] is the foundational off-policy, value-based algorithm. It learns the optimal Q∗ directly, regardless of the policy being followed基于价值网络的算法学习最优的Q不管策略是否被采纳更新规则详解Q 代表 Action-value function动作价值函数 Q(s,a)口语直接叫 Q 值函数字面含义基于动作价值函数的学习算法行业里固定叫法就是 Q-learning更新过程用到下一状态下最优动作对应的 Q 值和智能体实际真实执行了哪个动作无关。这意味着哪怕行为策略behavior policy采用 ϵ-greedy 随机贪心探索计算更新目标时始终基于最优策略optimal policy来计算这也是 Q-learning 可以从经验回放缓存replay buffer、人类示范数据demostration或是任意来源的历史经验experience中学习的根本原因。它所使用的训练数据不需要是当前策略采集出来的轨迹智能体和环境交互时为了探索会随机选差动作ϵ-greedy 随机探索。但 Q-learning 算目标值时直接取下一状态所有动作里收益最高的那个 Q 值完全不管自己刚才实际会走哪条路目标永远朝着全局最优走不受当前 “随机瞎探索” 的行为策略干扰。行为策略behavior policy用来和环境交互、采集数据的策略会随机探索、走次优动作目标策略target policy更新时用来计算目标的策略直接取max是最优贪心策略两套策略完全分开这就是离线算法off-policySARSA 不是 Q-Learning 变体二者是两类完全对立的 TD 算法SARSA在线策略on-policyTDQ-Learning离线策略off-policyTDDQN 是 Q-Learning 的深度神经网络实现变体本质就是深度版 Q-learning大模型 LLM 很少用 Q-learning 回放池动作空间极大词表大小 32K~128K每一步 token 要遍历全部动作算 max_a Q(s,a)计算量爆炸、不可行状态空间无限所有文本组合是无穷多无法用 Q 函数拟合因此 LLM 强化学习放弃 Q 系算法改用基于策略梯度的 PPO、GRPO什么是回放bufferReplay Buffer 也叫 Experience Replay 经验回放是强化学习里的数据存储容器data storage mechanism智能体和环境交互产生一条轨迹样本past experiences后不会用完就丢掉而是全部存进内存队列stores transitions in a memory bank训练时随机抽取一小批样本mini-batch 用来trainingA replay buffer (experience replay) is a data storage mechanism that saves past experiences so an agent can relearn from them later. Instead of discarding data immediately after an action, the agent stores transitions in a memory bank and samples random mini-batches for training.transition转换打破数据相关性correlation连续consecutivekənˈsekjətɪv交互步骤之间存在强相关性而神经网络在有序连续数据上泛化能力很差从回放池中随机采样样本能让训练数据近似approximately满足独立同分布i.i.d防止灾难性catastrophickəˈtæstərˌfɪk毁灭性的遗忘如果没有回放池智能体好不容易通关某一难关后clear a level /clear a stage 打通一关、过关how to clear it 怎么通关后续一万步都卡在后面新关卡反复失败就会彻底忘掉之前过关的方法回放池会持续留存历史场景样本训练时反复复习旧场景practice old scenarios 训练旧场景避免模型遗忘旧知识提升样本利用效率环境交互、采集样本的过程速度很慢经验回放池可以同一条交互样本transition多次参与网络权重更新充分挖掘extract每一步交互数据的价值优先经验回放PER标准经验回放池中所有样本的采样概率完全均等。但不同样本的学习价值天差地别。优先经验回放PER会根据 TD 误差绝对值TD error magnitude 量级调整scale每条样本的采样权重如果某一条状态转移样本带来巨大 “意外误差”对应很大的 |delta_t|)TD 误差绝对值高智能体会更频繁抽取这条样本从而更快修正模型参数。在 Atari 游戏标准测试集上该方法能将训练速度提升 2 至 3 倍。TD 误差 |delta_t| |TD目标 - 模型当前预测Q(s,a)||delta_t| 很大 模型对这条样本的预测严重跑偏。这条样本藏着模型完全没掌握的新知识学习价值极高普通回放池均等采样稀有高价值样本容易被淹没PER 提高它的抽取概率让模型反复修正这个错误快速补齐短板。举例吃金币小游戏场景设定游戏规则走到金币 100 分走到陷阱 - 50 分普通空地 0 分。智能体目前只学会捡金币完全没踩过陷阱等模型学会陷阱扣分后再次抽到这条样本时预测值已经接近 - 50|delta_t| 变小它的采样权重自动降低不再高频抽取把采样机会让给其他新的高误差样本。注意上文中踩陷阱后游戏直接结束没有后续步骤所以下一状态 s’ 不存在任何未来收益max Q(s’) 0折扣系数 gamma 乘 0 还是 0所以 TD 目标r gamma max Q(s’) -50 0 -50。-50 才是这个动作真实的长期收益是用来修正模型的标准答案计算 TD 误差 δ t{TD目标} - {模型预测值} -50 - 20 -70取绝对值 |delta|70Policy Gradient Methods — REINFORCE强化加强加固Instead of learning a value function and deriving a policy推导策略, directly optimize the policy parameters θ to maximize expected return不再先学习价值函数 Q/V、再间接推导策略而是直接优化策略网络参数 theta θ最大化整条轨迹的期望总奖励两类 RL 路线对比值迭代路线Q-learning/DQN/SARSA先拟合 Q(s,a)再贪心选最优动作策略梯度路线PG/PPO/GRPO直接训练策略 π_θ(a|s)输出动作分布一步优化决策基本符号介绍核心目标 J(θ)Policy Gradient Theorem期望总回报对参数 θ 的梯度 对整条轨迹求期望每一步「策略对数似然梯度 × 该步往后所有未来总回报 G_tτ tao一条轨迹包含从开局到回合结束所有交互序列vanish消失formal derivation 正式推导理解 P(τ | θ) 和轨迹概率取中间连乘的一段出来π_θ (a1∣s1) * P(s2 | s1,a1)π_θ (a1∣s1)在状态 s1 时策略网络选择动作 a1 的概率P(s2 | s1,a1) environment dynamics 环境动力学在状态s1 执行动作 a1 后环境跳转到下一状态 s2 的转移概率第三步中的对数求导技巧为什么要引入对数求导以及第四步的结果为啥只有一项通过第四步怎么得到第五步计算该梯度时不需要对环境动力学 p(s’ | s,a) 做微分differentiate求导。对数求导技巧log-derivative trickdɪˈrɪvətɪv把梯度转化为期望形式只需运行策略采集轨迹、收集奖励running the policy and observing rewards”就能用样本均值近似这个期望。用如下优势函数advantage替代原始未来总回报 G_t可以降低梯度方差variance且不会引入偏差数学依据是任意仅由状态s决定的state-dependent基线 b(s)与策略对数梯度乘积的期望恒等于 0环境动力学强化学习领域固定术语environment环境智能体交互的外部世界游戏、对话场景等dynamics动力学、动态变化规律环境自身的状态跳转规则数学写作 p(s’ | s,a)即在当前状态s执行动作a后环境转移到下一个状态 s’ 的概率分布通俗解释就是环境 “怎么变” 的底层规则比如游戏里往左走画面会左移、碰到陷阱扣分LLM 对话里输入一段上下文奖励模型给出分数 —— 这些状态、奖励的变化规律全部属于环境动力学REINFORCE Algorithm基线降噪Variance Reduction with Baseline