MindSpore强化学习:使用PPO配合环境HalfCheetah-v2进行训练
扫描二维码随身看资讯
使用手机 二维码应用 扫描右侧二维码,您可以
1. 在手机上细细品读~
2. 分享给您的微信好友或朋友圈~
本文分享自华为云社区《MindSpore强化学习:使用PPO配合环境HalfCheetah-v2进行训练》,作者:irrational。
半猎豹(Half Cheetah)是一个基于MuJoCo的强化学习环境,由P. Wawrzyński在“A Cat-Like Robot Real-Time Learning to Run”中提出。这个环境中的半猎豹是一个由9个链接和8个关节组成的2D机器人(包括两个爪子)。在这个环境中,目标是通过施加扭矩在关节上使猎豹尽可能快地向前(向右)奔跑,正向奖励基于前进的距离,而向后移动则会得到负向奖励。猎豹的躯干和头部是固定的,扭矩只能施加在前后大腿、小腿和脚上。
动作空间是一个
Box(-1, 1, (6,), float32)
,其中每个动作代表链接之间的扭矩。观察空间包含猎豹不同身体部位的位置值和速度值,其中所有位置值在前,所有速度值在后。默认情况下,观察不包括猎豹质心x坐标,可以通过在构建时传递
exclude_current_positions_from_observation=False
来包括它。如果包括,观察空间将有18个维度,其中第一个维度代表猎豹质心的x坐标。
奖励分为两部分:向前奖励和控制成本。向前奖励是根据动作前后x坐标的变化计算的,控制成本是为了惩罚猎豹采取过大动作的成本。总奖励是向前奖励减去控制成本。
每个状态的开始是在状态(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,)上添加噪声以增加随机性。前8个值是位置值,最后9个值是速度值。位置值添加均匀噪声,而初始速度值(全为零)添加标准正态噪声。
当一个剧集的长度超过1000时,该剧集将被截断。
该环境的详细信息可以参考: https://www.gymlibrary.dev/environments/mujoco/half_cheetah/
这个比很多环境都要复杂。
不过没关系,我们有ppo算法,这个算法可以跑强化学习,甚至大语言模型。
PPO(Proximal PolICY Optimization)算法是一种用于强化学习的策略优化方法,它旨在解决传统策略梯度方法(如TRPO,Trust Region Policy Optimization)中的信任区域问题
PPO算法通过引入clipping技巧和重要性采样技巧来减少计算梯度时的方差,从而提高算法的收敛速度和稳定性。
在PPO算法中,有两个关键概念:
- 策略(Policy):策略是一个函数,它定义了在给定状态s时采取动作a的概率分布。
- 价值函数(Value Function):价值函数估计了在给定策略下,从状态s出发,到达某个特定状态或终端时所能获得的期望回报。
PPO算法的主要步骤包括:
- 采样(Sampling):从当前策略中采样数据,包括状态、动作、奖励和下一个状态。
- 计算目标(Calculating Targets):使用目标策略计算目标价值函数,并计算目标策略的KL散度。
- 更新策略(Updating Policy):使用重要性采样技巧和clipping技巧更新策略。
- 更新价值函数(Updating Value Function):使用策略梯度方法更新价值函数。
PPO算法的核心思想是交替更新策略和价值函数,以实现策略和价值的共同优化。这种方法可以有效减少计算梯度时的方差,提高算法的收敛速度和稳定性。
以下是PPO算法的一个简化的Markdown公式:
这个公式是一个简化的版本,实际上PPO算法还包括了许多其他细节和技巧,如经验回放、动态调整学习率等。
第一次编译mujoco会有一点久
在bashrc加入如下内容:
然后就可以开启训练了。使用上一节的with保留输入。
点击关注,第一时间了解华为云新鲜技术~
- 1
加查之花 正版
- 2
爪女孩 最新版
- 3
企鹅岛 官方正版中文版
- 4
捕鱼大世界 无限金币版
- 5
球球英雄 手游
- 6
情商天花板 2024最新版
- 7
内蒙打大a真人版
- 8
烦人的村民 手机版
- 9
跳跃之王手游
- 10
蛋仔派对 国服版本