HRL相关论文整理 及 代码测试记录

本文综述了近年来深度强化学习领域的关键研究,包括层级强化学习、元学习、目标导向学习等前沿主题,探讨了不同算法在复杂任务上的应用,如交互导航、对话系统及游戏智能。文中详细分析了各论文的主要贡献,提供了代码实现指导,强调了环境配置的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《data-efficient-hierarchical-reinforcement-learning (NIPS 2018)》 & 《Near-Optimal Representation Learning for Hierarchical Reinforcement Learning (ICLR 2019)》

文章分析1
文章分析2
文章分析3
Code

Python3.6 + TF2.1 —— 会提示DLL找不到指定模块的错误,可能原因:TF2.1不支持Python3.6;
Python3.6 + TF1.15 —— 则会提示代码需要TF>=2.0版本才能运行;
Python3.6 + TF2.0 —— 报错如下
在这里插入图片描述

《Stochastic neural networks for hierarchical reinforcement learning(ICLR 2017)》

文章分析1 文章分析2
Code
需要先配置rllab和MuJoCo的环境。介绍:常用增强学习实验环境 I (MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

Windows配置rllab步骤参考:windows下配置rllab环境,rllab的官方文档

具体讲,在https://github.com/openai/rllab下载压缩包,解压找到里面一个叫rllab的文件夹,将其复制到anaconda虚拟环境的site-packages文件夹下(Anaconda\Lib\site-packages对应base环境,Anaconda3\envs\XXX\Lib\site-packages对应名为XXX的环境),随后即可使用。

Windows配置Mujoco步骤参考:windows 上安装 mujoco_pyWIN10系统安装gym、mujoco以及Atari 还有这篇详细的 Installing mujoco-py v1.5 on windows10

首先是Mujoco软件下载,选择1.31版本和64位系统:
在这里插入图片描述然后去官网注册邮箱拿到LICENSE.txt和mjkey.txt,复制到对应文件的bin目录下,并设置如下几个环境变量:
在这里插入图片描述
并在Path中添加MUJOCO_PY_MJPRO_PATH\bin
注意Mujoco v1.31对应mujoco_py==0.5.7,所以pip install mujoco_py==0.5.7 -i https://pypi.tuna.tsinghua.edu.cn/simple/

出现错误 OSError: [WinError 193] %1 is not a valid Win32 application,仍然参考前面的几篇。
首先修改mjlib.py文件,将libfile = os.path.join(path_prefix, "bin/mujoco131.lib")修改为libfile = os.path.join(path_prefix, "bin/mujoco131.dll");然后在platname_targdir.py文件中直接声明自己的系统platname = "win",注释掉多余的if判断语句。最后安装ffmpeg和ffmpy时,进入到conda的对应虚拟环境中执行下面几条:(参考anaconda下安装ffmpeg

conda config --add channels conda-forge
conda install ffmpeg
pip install ffmpy

至此可以正常导入mujoco_py包,测试一下:进入mjpro安装目录的bin文件夹下cd D:\Software\mjpro131\bin,使用模拟器运行实例model:simulate ../model/humanoid.xml,出现一个小木头人即表示正常运行。

《Sub-Policy Adaptation for Hierarchical RL》

Code

《HRL4IN: Hierarchical Reinforcement Learning for Interactive Navigation with Mobile Manipulators (CoRL 2019)》

Code

《Hierarchical Reinforcement Learning for Open-Domain Dialog》

Code

《Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation(NIPS 2016)》

Code
注意Keras和TF版本适配的问题,参考版本问题—keras和tensorflow的版本对应关系
这里使用TensorFlow 1.14.0 + Keras 2.2.5 on Python 3.6.

代码复现了文中的第一个试验,效果比较随机。

《Meta Learning Shared Hierarchies(ICLR 2018)》

文章分析
代码

《Learning Multi-Level Hierarchies with Hindsight (ICLR 2019)》 & 《Hindsight Experience Replay(NIPS 2017)》

文章分析1
文章分析2
代码
使用之前的Mujoco131 + mujoco_py0.5.7会报错:AttributeError:module 'mujoco_py' has no attribute 'load_model_from_path'',似乎是因为0.5.7版本的包里面没有load_model_from_path和MjSim这两个文件,所以要升级到Mujoco150 + mujoco_py1.50.0再试一下。
在conda虚拟环境中pip install mujoco_py==1.50.1.68时提示错误:Microsoft Visual C++ 14.0 is required,参考这篇常见问题的博客,安装VC14。
重新安装时,出现新的错误(目前未解决):

ERROR: Command errored out with exit status 1:
   command: 'D:\Software\Anaconda3\envs\mujoco150\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\gyz\\AppData\\Local\\Temp\\pip-install-3b3npq74\\mujoco-py\\setup.py'"'"'; __file__='"'"'C:\\Users\\gyz\\AppData\\Local\\Temp\\pip-install-3b3npq74\\mujoco-py\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\gyz\AppData\Local\Temp\pip-wheel-rjrvouha'
       cwd: C:\Users\gyz\AppData\Local\Temp\pip-install-3b3npq74\mujoco-py\

Mujoco最新版似乎已经不支持Windows,可以考虑用Linux虚拟机进行尝试。

《Learning Goal Embeddings via self-play for Hierarchical Reinforcement Learning》

文章分析
代码

其他

使用Pytorch实现了17中深度强化学习算法:Deep-Reinforcement-Learning-Algorithms-with-PyTorch

### 强化学习论文及其代码实现 在强化学习领域,许多经典的算法和模型已经被成功复现并开源,为研究者提供了方便的学习和实验资源。以下是一些可以方便复现的强化学习论文及其对应的代码实现示例。 #### 1. Deep Q-Network (DQN) DeepMind 提出的 DQN 是强化学习领域的里程碑之一,它结合了深度神经网络和 Q-Learning,能够在 Atari 游戏上取得超越人类的表现[^5]。 - **GitHub 实现**: [https://github.com/keras-rl/keras-rl](https://github.com/keras-rl/keras-rl) - **代码示例**: ```python from rl.agents.dqn import DQNAgent from rl.policy import EpsGreedyQPolicy from rl.memory import SequentialMemory # 创建 DQN 智能体 dqn = DQNAgent(model=model, nb_actions=nb_actions, memory=memory, nb_steps_warmup=10, target_model_update=1e-2, policy=policy) # 编译并训练 dqn.compile(Adam(lr=1e-3), metrics=['mae']) dqn.fit(env, nb_steps=50000, visualize=False, verbose=2) ``` #### 2. Proximal Policy Optimization (PPO) PPO 是一种策略优化算法,广泛应用于连续控制任务中,并因其高效性和稳定性而受到青睐[^6]。 - **GitHub 实现**: [https://github.com/openai/baselines](https://github.com/openai/baselines) - **代码示例**: ```python import gym from stable_baselines3 import PPO env = gym.make('CartPole-v1') model = PPO('MlpPolicy', env, verbose=1) model.learn(total_timesteps=25000) model.save("ppo_cartpole") ``` #### 3. Soft Actor-Critic (SAC) SAC 是一种基于最大熵框架的强化学习算法,适用于连续动作空间的任务[^7]。 - **GitHub 实现**: [https://github.com/rail-berkeley/softlearning](https://github.com/rail-berkeley/softlearning) - **代码示例**: ```python from softlearning.environments.gym import get_environment_from_params from softlearning.algorithms.sac import SAC environment_params = { 'unwrapped': False, 'id': 'InvertedPendulum-v2' } environment = get_environment_from_params(environment_params) algorithm = SAC(environment, policy, qf1, qf2, vf) algorithm.train() ``` #### 4. Hierarchical Reinforcement Learning (HRL) HRL 将复杂的任务分解为多个子任务,通过分层结构提高学习效率[^4]。 - **GitHub 实现**: [https://github.com/juliusfrost/dreamer-pytorch](https://github.com/juliusfrost/dreamer-pytorch) - **代码示例**: ```python from dreamer.agents import DreamerAgent from dreamer.models.world_model import WorldModel world_model = WorldModel(observation_space, action_space) agent = DreamerAgent(world_model, actor, critic) agent.train(env, steps=100000) ``` ### 注意事项 在选择复现的论文代码时,应根据具体任务需求选择合适的算法。例如,离散动作空间的任务适合使用 DQN 或 A3C,而连续动作空间的任务更适合使用 PPO 或 SAC。此外,确保安装正确的依赖库以运行代码[^8]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值