NLP高频面(14)DPO、PPO等强化学习训练方法介绍¶
本文讨论了随着深度学习发展备受关注的强化学习,重点介绍了其中的经典训练方法PPO和DPO。关键要点包括:
强化学习基础:不依赖大量标注数据,通过与环境交互获反馈奖励来训练智能体学习最佳决策策略,特点是无需大量标注数据但需大量交互数据、处理序列决策问题、学习目标是最大化长期累积奖励。
PPO核心思想:属于策略梯度方法,在直接优化策略参数以最大化期望奖励基础上,增加策略更新约束,防止更新过于剧烈,提高稳定性和训练效率。
PPO出现原因:策略梯度方法训练不稳定,每次更新会改变动作概率分布,难以复用旧数据、样本利用率低,PPO引入“近端”约束保证策略稳定。
PPO优势:稳定高效,对超参数不敏感,适用于连续与离散动作空间,实现相对简单。
DPO核心思想:近期大语言模型强化学习微调创新方法,无需显式构建奖励模型,直接用偏好数据对模型进行优化。
DPO动机:传统RLHF计算成本高且不稳定,DPO绕过奖励模型,利用偏好数据优化策略,减少计算量、提高稳定性。
应用场景:PPO适合一般强化学习任务,DPO尤其适用于大语言模型微调。
强化学习(Reinforcement Learning,RL)近年来随着深度学习的快速发展而备受关注,特别是在游戏控制、自动驾驶、机器人控制及大语言模型训练等领域均有广泛应用。本文将重点介绍强化学习中的经典训练方法,包括PPO(近端策略优化)和DPO(直接偏好优化)。
一、 强化学习基础概述¶
强化学习与监督学习、无监督学习不同,它不依赖大量标注数据,而是通过与环境交互来获得反馈奖励,以此来训练智能体学习最佳决策策略。简单来说,强化学习的本质是智能体通过与环境互动,不断试错,从而优化策略以实现总奖励最大化。
强化学习的主要特点:
无需大量标注数据,但通常需要大量交互数据;
处理序列决策问题,当前决策影响后续状态;
学习目标是最大化长期累积奖励,而非单步预测精度。
二、 近端策略优化(PPO)介绍¶
PPO的核心思想
PPO(Proximal Policy Optimization)是一种广泛应用的强化学习算法,属于策略梯度(Policy Gradient)方法。策略梯度方法的核心思想是直接优化策略参数以最大化期望奖励,而PPO在此基础上增加了策略更新的约束,防止策略更新过于剧烈,从而提高算法稳定性和训练效率。
为什么需要PPO?¶
策略梯度方法在实际应用中容易出现训练不稳定的问题。这是因为策略每次更新都会明显改变策略输出的动作概率分布,导致难以复用旧的数据,样本利用率低。为解决这个问题,PPO引入了“近端”约束,通过限制每次策略更新的幅度,保证策略的稳定性。
PPO算法的优化目标¶
PPO算法最常见的优化形式为“裁剪(clip)式”,其目标函数为:
$$ J(\theta)=E_{(s,a)\sim\pi_{\theta_{o l d}}}\left[\min(r(\theta)A(s,a),\operatorname{c l i p}(r(\theta),1-\epsilon,1+\epsilon)A(s,a))\right] $$
其中, $ r(\theta) = \frac{\pi_{\theta}(a|s)}{\pi_{\theta_{old}}(a|s)} $ 为策略概率的比值, $ A(s,a) $ 为优势函数(Advantage),表示当前动作的相对价值。
PPO的优势¶
稳定高效,训练过程对超参数不敏感;
适用于连续与离散动作空间;
实现相对简单,成为RL研究的基准算法。
三、 直接偏好优化(DPO)介绍¶
DPO的核心思想¶
DPO(Direct Preference Optimization)算法是近期在大语言模型强化学习微调中的一种创新方法。与传统基于人类反馈强化学习(RLHF)方法不同,DPO无需显式构建奖励模型,而是直接使用偏好数据(例如,人类标注的偏好)对模型进行优化。
DPO的动机¶
RLHF通常需要构建一个独立的奖励模型并进行强化学习,这一过程计算成本高且不稳定。DPO则绕过奖励模型,直接利用偏好数据进行策略优化,显著减少计算量并提高稳定性。
DPO算法的优化目标¶
DPO的优化目标直接基于人类标注的偏好数据,形式如下:
$$ \begin{array}{r}{L_{D P O}\left(\pi_{\theta},\pi_{r e f}\right)=-E_{\left(x,y_{w},y_{l}\right)\sim D}\left[\log\sigma(\beta\log\frac{\pi_{\theta}\left(y_{w}|x\right)}{\pi_{r e f}\left(y_{w}|x\right)}-\beta\log\frac{\pi_{\theta}\left(y_{l}|x\right)}{\pi_{r e f}\left(y_{l}|x\right)})\right]}\end{array} $$
其中, $ y_{w} $ 表示偏好响应, $ y_{l} $ 表示非偏好响应, $ \pi_{ref} $ 是基础参考策略。DPO希望模型更频繁地生成受偏好的结果,而更少生成不受偏好的结果。
DPO的优势¶
不需要构建和训练独立的奖励模型;
避免了RLHF中的不稳定性和计算开销问题;
在实际应用中表现更稳定和高效,尤其适合语言模型微调。
四、 PPO与DPO的对比与应用场景¶
PPO适合于一般强化学习任务,包括游戏、机器人控制等连续动作环境,提供稳健的策略更新机制。DPO尤其适用于大语言模型微调,尤其在难以明确定义奖励函数的情境下,通过人类偏好标注实现高效的模型优化。