# 基于最优奖励基线的策略内强化学习 (OPO) 最后更新:06/02/2025. 在强化学习中,松散的策略内约束和次优基线常常会导致训练不稳定,例如出现大幅策略偏移和熵崩溃等问题。OPO 通过使用精确的策略内训练以及理论上最优的奖励基线来进行优势估计,从而解决这些挑战。它实现了较低的策略偏移和更高的输出熵,从而鼓励生成更具多样性和更少重复性的响应。 OPO 使用组采样为每个输入生成多个输出,就像 GRPO 一样。与其他基于组的算法通常使用组的平均奖励作为基线不同,OPO 采用了一个理论上最优的基线:组的长度加权奖励。同时,它省略了标准差归一化。通过采用这两个关键组件,OPO 能够训练单个策略模型,其目标仅仅是最大化期望奖励。更多详细信息,请参考原始论文 [基于最优奖励基线的策略内强化学习](https://arxiv.org/pdf/2505.23585)。 ## 关键组件 - 精确策略内训练:始终从当前策略生成响应,不使用任何预生成的或策略外数据。 - 最优奖励基线:使用组的长度加权奖励作为归一化奖励的基线。 ## 配置 要在框架内配置 OPO,请使用以下 YAML 设置。这些参数对于启用精确策略内训练和激活最优奖励基线至关重要。 ```yaml algorithm: adv_estimator: opo # 使用 OPO 实现最优奖励基线 data: train_batch_size: 1024 actor_rollout_ref: actor: ppo_mini_batch_size: 1024 # ppo_mini_batch_size 应等于 train_batch_size 以启用精确策略内训练 entropy_coeff: 0 # 禁用熵正则化 use_kl_loss: False # 禁用 KL 损失正则化 kl_loss_coef: 0 ``` ## 高级扩展 OPO 还可以扩展到其他算法,如 RLOO 和 Reinforce++。只需调整它们的配置,以启用精确策略内训练,并纳入最优长度加权奖励基线,同时对优势估计函数进行最小修改。