Actor-Critic原理+PPO算法推导
"Actor-Critic原理+PPO算法推导" Actor-Critic 原理是强化学习中的一种重要方法,主要用于解决 Sequential Decision Making 问题。该方法结合了 Actor 网络和 Critic 网络,Actor 网络负责选择动作,而 Critic 网络评估状态的价值。 Actor 网络是一个参数为θ的神经网络,将状态 state 作为输入,输出各个动作的概率,选择其中一个作为 action。Actor 网络的目标是使总奖励最大化。 Critic 网络评估状态的价值,输出状态的价值函数。Critic 网络的损失函数是时间差分(Temporal-difference,TD)方法计算的td_error的平方。 Actor-Critic 框架图中,Actor 网络和 Critic 网络相互作用,Actor 网络选择动作,Critic 网络评估状态的价值,反向传播更新网络参数。 Proximal Policy Optimization (PPO) 算法是基于 Actor-Critic 框架的强化学习算法,目标是使总奖励最大化。PPO 算法将 Actor 网络的损失函数定义为: 𝑎_𝑙𝑜𝑠𝑠 = − log(𝑎𝑐𝑡𝑖𝑜𝑛_𝑝𝑟𝑜𝑏) ∗ 𝑡𝑑_𝑒𝑟𝑟𝑜𝑟 在 PPO 算法中,我们需要计算总奖励的期望值 𝑅𝜃,定义为: 𝑅𝜃 = ∑ 𝑅(𝜏)𝑝𝜃(𝜏) = 𝐸𝜏~𝑝𝜃(𝜏)[𝑅(𝜏)] 计算 𝑅𝜃 的梯度 ∇𝑅𝜃,用于更新 Actor 网络的参数: ∇𝑅𝜃 = ∑ 𝑅(𝜏)∇𝑝𝜃(𝜏)𝜏= ∑ 𝑅(𝜏)𝑝𝜃(𝜏) ∇𝑝𝜃(𝜏)𝑝𝜃(𝜏)𝜏= ∑ 𝑅(𝜏)𝑝𝜃(𝜏)∇logpθ(𝜏) 在计算 𝑅𝜃 的梯度时,我们需要注意两个问题: 1. reward 可能总是正的,那么所有的动作出现的概率都会提升;如果某个 action 未被 sample 到,那么它出现的概率会下降。解决方法是添加一个基准值 𝑏,定义为 𝑏 = 𝐸[𝑅(𝜏)]。 2. 所有 action 共用一个 weight,但是每个动作对 reward 的 contribution 是不同的。解决方法是对每个 action 分配不同的权重,计算从这个 action 以后,所得到的总奖励。 PPO 算法的关键步骤是: 1. 收集 Trajectory 数据 2. 计算总奖励 𝑅𝜃 3. 计算梯度 ∇𝑅𝜃 4. 更新 Actor 网络的参数 PPO 算法可以有效地解决强化学习问题,具有高い sample 效率和稳定性。
剩余7页未读,继续阅读
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于JavaFX和MySQL的医院挂号管理系统.zip
- (源码)基于IdentityServer4和Finbuckle.MultiTenant的多租户身份认证系统.zip
- (源码)基于Spring Boot和Vue3+ElementPlus的后台管理系统.zip
- (源码)基于C++和Qt框架的dearoot配置管理系统.zip
- (源码)基于 .NET 和 EasyHook 的虚拟文件系统.zip
- (源码)基于Python的金融文档智能分析系统.zip
- (源码)基于Java的医药管理系统.zip
- (源码)基于Java和MySQL的学生信息管理系统.zip
- (源码)基于ASP.NET Core的零售供应链管理系统.zip
- (源码)基于PythonSpleeter的戏曲音频处理系统.zip
评论0