大语言模型-RLHF(四)-PPO(Proximal Policy Optimization)原理&实现&代码逐行注释

本文介绍了PPO算法的核心原理,包括策略梯度、OnPolicy与OffPolicy的区别、重要性采样和自适应KL散度惩罚,展示了如何通过ClippedSurrogateObjective解决约束问题,以及提供了一个GitHub代码示例用于实践。

 前言

从open AI 的论文可以看到,大语言模型的优化,分下面三个步骤,SFT,RM,PPO,我们跟随大神的步伐,来学习一下这三个步骤和代码实现,本章介绍PPO原理


要搞明白PPO首先需要搞明白下面几个概念

一,策略梯度(Policy Gradient)

策略梯度(Policy Gradient)是一种用于强化学习中的策略优化方法,其核心思想是直接优化策略函数。策略函数可以理解为一个神经网络π(a∣s),描述的是在给定状态s下,采取不同动作a的概率分布。θ可以理解为策略神经网络π(a∣s)的参数,我们需要优化的就是这个θ,策略梯度的公式如下:

\nabla_{\theta} J(\theta) = E_{\tau \sim p_{\theta}(\tau)}[\sum_{t=0}^T \nabla_{\theta} \log \pi_{\theta}(a_t|s_t) A_t]

通常使用梯度上升法来更新策略函数θ,使其能够最大化期望回报。

我们改写一下θ的更新公式如: 

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值