25/1/8 算法笔记<强化学习> GYM环境

发布于:2025-02-10 ⋅ 阅读:(72) ⋅ 点赞:(0)

前几天花了好多时间在装各个仿真环境上,有V-rep,Pybullet,unity的Ml-agent,很多一大堆,好多好多问题差点逼疯我,可能就pybullet能玩一点,到之后学了机器人我再来玩它,最后的最后,我发现还得是我的gym,最方便的玩强化学习的平台。天哪,怎么会这么方便。

接下来我用gym编了SAC的代码,学到下面这个

rsample可重参数化采样

在 SAC(Soft Actor-Critic)算法中,rsample() 用于从策略分布中采样动作,并计算策略梯度。

但是可惜SAC不适用于离散动作的环境,所以我用了DQN和q-learning算法来比较

环境都是CartPole-v1,就是那个摆子。

这是DQN算法的奖励可视化。

下面是q-learning的

你别说你还真别说这两张图对比下来感觉300轮下来,q-learning比DQN要稳定一点啊

但是啊这可能是环境相对简单。q-learning一般用于简单的环境比较好,增长一开始快,之后就趋于平缓,DQN适用于复杂环境,可以看见它增长更为稳定和持续。

  • Q-learning可能在简单环境中表现较好,但在复杂环境中可能不如DQN。DQN通过使用神经网络来近似Q值函数,能够处理高维状态空间,因此在复杂任务中通常表现更优。

  • 如果Q-learning的Reward在后期趋于平缓,而DQN的Reward持续增长,这可能表明DQN在处理复杂任务时具有更好的扩展性和学习能力。

明天将带来更多环境的不同算法的对比。今天的“摆子”是离散型的。

在 OpenAI Gym 中,常见的连续动作环境包括:

  1. Pendulum-v1:倒立摆环境,需要通过施加连续的力矩来保持平衡。

  2. MountainCarContinuous-v0:爬山车问题,目标是在最少的时间内把车开到山顶。

  3. BipedalWalker-v3:双足机器人行走,需要平衡和协调。

  4. LunarLanderContinuous-v2:着陆器在月球表面着陆,使用连续的推力实现控制。

  5. Humanoid-v4:控制人形机器人行走。

在 OpenAI Gym 中,常见的离散动作环境包括:

  1. CartPole-v1:控制一个有杆的小车,让杆保持直立。

  2. MountainCar-v0:爬山车问题,目标是通过离散加速度到达山顶。

  3. Acrobot-v1:双杆摆控制,目标是摆动到一定高度。

  4. Taxi-v3:在指定的网格世界中接乘客并送至目的地。

  5. FrozenLake-v1:经典冰湖问题,通过网格导航找到出口,避免掉入洞中。

ok明天见。


网站公告

今日签到

点亮在社区的每一天
去签到