强化学习 MDP
强化学习于有监督微调的区别
优化目标:有监督学习和强化学习的优化目标相似,即都是在优化某个数据分布下的一个分数值的期望。
优化方法:二者优化的途径是不同的,有监督学习直接通过优化模型对于数据特征的输出来优化目标,即修改目标函数而数据分布不变;强化学习则通过改变策略来调整智能体和环境交互数据的分布,进而优化目标,即修改数据分布而目标函数不变。
训练目标:有监督学习关注寻找一个模型,使其在给定数据分布下得到的损失函数的期望最小;强化学习关注寻找一个智能体策略,使其在与动态环境交互的过程中产生最优的数据分布,即最大化该分布下一个给定奖励函数的期望。
训练周期:有监督学习的数据是静态的,只用在给定数据集上训练进行一次性训练。强化学习的数据可以不断产生,可以持续训练,通过不断地与环境交互更新策略。
数据:有监督学习需要标注数据集,强化学习不依赖标注数据集,而是通过与环境交互产生数据。
损失函数:有监督学习的损失是准确的,可以直接根据标签和预测计算损失。强化学习只能从环境或奖励模型获取奖励,从环境获取奖励一般是延迟的,奖励模型给出的奖励不一定准确,计算得到的损失不一定准确。
重要性采样
重要性采样是一种统计方法,用于通过从一个方便的分布中抽取样本来估计另一个难以直接采样的分布的特性。它的核心思想是通过调整样本的权重来补偿采样分布与目标分布之间的差异,从而得到对目标分布的准确估计。
重要性采样在 RL 中的作用
作为加速作用,重要性采样提高了数据利用率和训练效率。它允许我们先用一个固定的 “旧策略” 一次性、并行地生成一个大的数据池。在接下来的多次训练中,我们都复用这批数据。虽然数据是 “旧” 的,但我们通过乘以一个重要性权重(即新、旧策略对同一个行为的概率比值),对数据分布的差异进行校正,从而能近似地在 “新策略” 上进行无偏估计。这就把 “采一次用一次” 变成了 “采一次用 N 次”,极大地加速了训练。
重要性采样与 PPO 的 Clip 结合,保证了训练的平稳。其本身也反映了新旧 policy 的差异。如果这个比值过大,说明策略想做一个非常激进的更新,这很危险,容易导致模型 “学废” 了。PPO 的精髓就在于,它会把这个比值 Clip 在一个非常小的安全区间内。这样既能让策略朝着正确的方向更新,又限制了每一步的更新幅度不能过大,确保了整个 RLHF 过程的稳定收敛。