结论 本文以策略梯度的推导为核心概念,解释了强化学习中的三个关键算法:REINFORCE 算法、Actor-Critic 算法和 PPO 算法。 对这三个算法的理解为你掌握 OpenAI 用于训练 ChatGPT 的人类反馈强化学习(RLHF)算法做好了充分准备。
Actor-Critic是结合了Policy Gradient(Actor)和价值函数估计(Critic)的方法,同时引入时序差分方法 Actor是指策略函数,即学习一个策略以得到尽可能高的回报 Critic是指价值函数 Vπ(s),对当前策略的值函数进行估计,即评估Actor的好坏 推导 在策略梯度更新公式中 ∇R¯θ≈1N∑n=1N∑t=1Tn(∑t′=tTnγt′−...
Actor-Critic方法的梯度更新公式 其中,A=Q-V称为优势函数。 2.从PG到PPO 2.1从策略梯度(PG)到自然策略梯度(NPG) 在传统的策略梯度算法中,我们根据目标函数梯度J和步长 α 来更新策略函数的参数 θ ,已经被证实可能会出现两个常见的问题: (1)过冲(Overshooting):更新错过了奖励峰值并落入了次优策略区域; ...
Actor-Critic方法:这个方法最显著的特点就是AC框架,简单来说,最简单的AC框架由两个部分组成:Actor与Critic,如果我们将Critic看成老师,Actor就可以看成学生,老师会对学生在当前状态的动作进行评价,然后学生会用这个“评价”更新自己的参数。这就是一个最简单的AC框架的更新方式。 我们这里展开讲讲PG算法,我们不妨近似...
另外,Critic模型还可以用于评估不同策略的性能,为模型的评估和选择提供依据。PPO算法中的Actor-Critic架构允许智能体同时学习策略和价值函数,并通过协同训练来提高性能。 因此,在RLHF(Reinforcement Learning from Human Feedback)中,PPO算法需要Critic模型而不是直接使用奖励模型,是为了提供对状态或状态动作对的价值估计,...
要理解PPO,就必须先理解Actor-Critic. Actor负责输出policy,也就是在某个状态下执行各种action的概率分布 Critic负责输出Vaue of state。 Actor和Critic的默契:Actor相信Critic给的状态的value就是真的; Critic也相信Actor选送过来的(s,a)中的a就是最优的action。通过不断的迭代,强化这个信任关系的正确性。
PPO也分为Actor的部分和Critic的部分。 首先定义优势函数: 更新Actor的部分我们把奖励函数设置成: 这里的A其实应该用新策略采样出来计算的Advantage函数,但由于参数改变的不多,我们可以用旧策略的A来近似新策略的A。 前面一项的设置是因为我们只能充旧策略中采样而不能从新策略中采样所以做了important Sampling。同时这...
actor在算法中的工作流程就是 observation(1x3) -> actor -> act(1x3) 同样的,actor也是一个mlp,只是在输出维度上与critic不同,critic输出的是一个值,而actor输出的是一个1x3的数组。 我们同样也是调用提前写好的mlp函数,来生成act...
PPO算法用到了两个网络:策略网络,价值网络(actor-critic)。PPO是on-policy,交互的策略由我们的策略网络直接生成。需要注意的是,在训练时,我们仅使用上一轮策略的交互信息而不是过去所有的交互信息。具体的算法如下(来自论文《Proximal Policy Optimization Algorithms》): CartPole 关于CartPole的相关介绍,可以参考之前...
critic_loss = critic_loss_func(rewards, values) loss = actor_loss +0.1* critic_loss train(loss, policy_model.parameters()) 总结 到这里,大语言模型 RLHF 中 PPO 算法的完整细节就算介绍完了。掌握这些细节之后,我们可以做的有趣的事情就变多了。例如: ...