OpenAI Multi-Agent Particle Environments (MPE) 介绍与使用

OpenAI MPE&MADDPG 配置和运行

一、Multi-Agent Particle Environment(MPE)

1. 介绍

Multi-Agent Particle Environment(MPE)是由OpenAI开源的一款多智能体强化学习实验平台,以OpenAI的gym为基础,使用Python编写而成。它创造了一个简单的多智能体粒子世界,粒子们可以进行连续的观察和离散的动作。

实验效果

2. 安装配置

  • 实验环境

Python 3.6.4
Windows 10
OpenAI gym 0.10.5
Numpy
Pyglet 1.2.0

  • 配置步骤
  1. cd至根目录下,执行pip install -e .安装环境。
  2. 执行pip uninstall pyglet卸载pyglet1.3.6
  3. 执行pip install pyglet==1.2.0安装pyglet1.2.0
  4. 运行程序python bin/interactive.py --scenario simple.py

    3. Demo运行

  • 环境说明


二、Multi-Agent Deep Deterministic Policy Gradient (MADDPG)

1. 介绍

Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments提出的MADDPG算法(混合合作-竞争环境下的多智能体Actor-Critic)的代码。必须在Multi-Agent Particle Environments (MPE)的环境运行。

2. 安装配置

  • 实验环境

Python 3.6.4
Windows 10
OpenAI gym 0.10.5
Numpy
Tensorflow
Pyglet 1.2.0

  • 配置步骤
  1. cd至根目录下,执行pip install -e .,安装环境。
  2. 安装multiagent-particle-envs,并确保将其添加到PYTHONPATH环境变量中。
  3. cdexperiments目录下,运行程序python train.py --scenario simple

3. 命令参数说明

环境选项

  • --scenario: MPE中的环境 (默认: "simple")

  • --max-episode-len 环境的每个周期的长度 (默认: 25)

  • --num-episodes 训练周期总数 (默认: 60000)

  • --num-adversaries: 环境中的adversary数量 (默认: 0)

  • --good-policy: 环境中good policy算法(默认: "maddpg"; 选项: {"maddpg", "ddpg"})

  • --adv-policy: 环境中adversary policy算法(默认: "maddpg"; 选项: {"maddpg", "ddpg"})

核心训练参数

  • --lr: 学习速率 (默认: 1e-2)

  • --gamma: 损失因子(discount factor) (默认: 0.95)

  • --batch-size: Batch大小 (默认: 1024)

  • --num-units: 多层神经网络层数 (默认: 64)

保存

  • --exp-name: 实验的名称,用以保存结果。 (默认: None)

  • --save-dir: 保存训练结果和模型的位置 (默认: "/tmp/policy/")

  • --save-rate: 模型将会以这个周期频率进行保存 (默认: 1000)

  • --load-dir: 载入训练结果和模型的位置 (默认: "")

评估

  • --restore: 恢复在load-dir的训练结果, 并且继续训练 (默认: False)

  • --display: 展示训练结果, 但不继续训练 (默认: False)

  • --benchmark: 对训练结果进行基准评估, 保存结果到 benchmark-dir 文件夹 (默认: False)

  • --benchmark-iters: 执行基准评估的训练周期 (默认: 100000)

  • --benchmark-dir: 存放基准数据的目录 (默认: "./benchmark_files/")

  • --plots-dir: 存放训练曲线的目录 (默认: "./learning_curves/")

4. Demo运行

  • 进行训练
    python train.py --scenario simple_push --num-episodes 1000000 --exp-name exp1 --save-dir push_dir

  • 训练结果可视化
    python train.py --scenario simple_push --load-dir push_dir --display

  • 继续训练
    python train.py --scenario simple_push --load-dir push_dir --restore --num-episodes 80000

猜你喜欢

转载自www.cnblogs.com/Sanshibayuan/p/9118440.html
今日推荐