作者 | 假如给我一只AI 编辑 | 自动驾驶之心
原文链接:https://zhuanlan.zhihu.com/p/20949520788
点击下方卡片,关注“自动驾驶之心”公众号
领取自动驾驶近15个" data-itemshowtype="0" target="_blank" linktype="text" data-linktype="2" hasload="1">戳我-> 领取自动驾驶近15个" data-itemshowtype="0" target="_blank" linktype="text" data-linktype="2" hasload="1">领取 领取自动驾驶近15个" data-itemshowtype="0" target="_blank" linktype="text" data-linktype="2" hasload="1">自动驾驶近15个方向学习路线>>点击进入→自动驾驶之心『大语言模型』技术交流群本文只做学术分享,如有侵权,联系删文本文中各方法的分布:

一、强化学习理论基础
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。



DQN代码学习:https://github.com/louisnino/RLcode/blob/master/tutorial_DQN.py
1.2)基于策略的方法
代表:PG(Policy Gradient,策略梯度)、AC、PPO(Proximal Policy Optimization,近端策略优化)
PG方法思路:利用reward奖励直接对选择行为的可能性进行增强和减弱,好的行为会被增加下一次被选中的概率,不好的行为会被减弱下次被选中的概率。缺点:数据使用效率低(每次收集的数据只用一次就丢弃了,即on-policy);采用蒙特卡洛的思想,每次要走到最后,太慢了。



PG代码见https://github.com/louisnino/RLcode/blob/master/tutorial_PG.py,其执行逻辑梳理如下:


AC代码学习见https://github.com/louisnino/RLcode/blob/master/tutorial_AC.py,其执行逻辑梳理如下:


PPO代码学习见https://github.com/louisnino/RLcode/blob/master/tutorial_PPO.py,其执行逻辑梳理如下:

训练流程的1-4步代码解读分别见下面四幅图:
快速背诵:收(收集轨迹数据)、计(计算折扣回报)、策(策略迭代优化)
1.3)PG->AC->TRPO->PPO->DPO方法演进公式对比
二、LLM的PPO模型
首先,看下PPO算法的四个模型:
LLM中实际使用的公式:
需要采样经验(Experience)数据的原因:
代码参考Open_RLHF库的PPO实战:https://github.com/OpenRLHF/OpenRLHF/blob/main/openrlhf/trainer/ppo_trainer.py
三、LLM的DPO(Direct Preference Optimization)模型
背景:目前RLHF的流程太复杂,不仅需要单独训练reward模型,还需要从LLM的输出采样。优势:DPO通过理论证明,可以不需要引入reward模型,就可以完成LLM的偏好训练。实验证明,在生成情感、摘要、单论对话质量方面,DPO比基于PPO的RLHF更好。DPO最终公式见表1-2,推导过程如下:
step1:明确目标
一个是Reward最大化,一个是positive的样本得分大于negative样本得分。因此,公式推导采用的策略是先最大化Reward,在带入"positive的样本得分大于negative样本得分"公式。
step2:表征positive的样本得分大于negative样本得分
step3:Reward最大化
step4:带入step2
代码参考Open_RLHF库的DPO实战:https://github.com/OpenRLHF/OpenRLHF/blob/main/openrlhf/trainer/dpo_trainer.py
四、LLM的GRPO(Group Relative Policy Optimization)模型
背景(PPO的缺点):需要训练一个与策略模型大小相当的价值模型(Critic模型),这带来了巨大的内存和计算负担;在 LLM 的上下文中,通常只有最后一个 token 会被奖励模型打分,这使得训练一个在每个 token 上都准确的价值函数变得困难。GRPO的优势:避免了像 PPO 那样使用额外的价值函数近似,而是使用"同一问题下多个采样输出的平均奖励"作为基线。1)优化目标
2)优势函数计算
② 国内首个自动驾驶学习社区
『自动驾驶之心知识星球』近4000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(端到端自动驾驶、世界模型、仿真闭环、2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型,更有行业动态和岗位发布!欢迎扫描加入
③全网独家视频课程
端到端自动驾驶、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、CUDA与TensorRT模型部署、大模型与自动驾驶、NeRF、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)