Skip to main content
QUICK REVIEW

[论文解读] ns3-gym: Extending OpenAI Gym for Networking Research

Piotr Gawłowicz, Anatolij Zubow|arXiv (Cornell University)|Oct 9, 2018
Software-Defined Networks and 5G参考文献 8被引用 58
一句话总结

ns3-gym 将 OpenAI Gym 与 ns-3 网络模拟器集成,以标准化基于强化学习的网络研究并在仿真/测试床中进行测试。

ABSTRACT

OpenAI Gym is a toolkit for reinforcement learning (RL) research. It includes a large number of well-known problems that expose a common interface allowing to directly compare the performance results of different RL algorithms. Since many years, the ns-3 network simulation tool is the de-facto standard for academic and industry research into networking protocols and communications technology. Numerous scientific papers were written reporting results obtained using ns-3, and hundreds of models and modules were written and contributed to the ns-3 code base. Today as a major trend in network research we see the use of machine learning tools like RL. What is missing is the integration of a RL framework like OpenAI Gym into the network simulator ns-3. This paper presents the ns3-gym framework. First, we discuss design decisions that went into the software. Second, two illustrative examples implemented using ns3-gym are presented. Our software package is provided to the community as open source under a GPL license and hence can be easily extended.

研究动机与目标

  • 通过统一 RL 框架与模拟器接口,降低在网络领域原型化 RL 的门槛。
  • 为任何 ns-3 仿真脚本提供通用的 OpenAI Gym 接口,使其成为 Gym 环境。
  • 通过统一 API 促进在网络领域对 RL 方法的基准测试和公平比较。
  • 使能用真实硬件进行仿真与真实世界网络之间的桥接,以实现仿真与现实的整合。

提出的方法

  • 引入一个两块架构,其中 Gym 提供智能体,ns-3 提供环境。
  • 设计一个通用的 OpenGymInterface,管理 ns-3 的仿真生命周期以及状态/动作的交换。
  • 实现一个 C++ 的 ns3-gym 接口,具有 GetObservationSpace、GetActionSpace、GetObservation、GetReward、GetGameOver、GetExtraInfo、ExecuteActions 等函数。
  • 支持观测和动作的常见 Gym 空间(Discrete、Box、Tuple、Dict)。
  • 允许环境完全在 ns-3 脚本中定义,并可选地通过命令行参数进行自定义。
  • 提供自定义环境(如 TCPNs3Env、DASHNs3Env)以实现预定义的 RL 映射。

实验结果

研究问题

  • RQ1如何将 OpenAI Gym 与 ns-3 集成以创建可重复使用的 RL 启用网络研究工作流?
  • RQ2一个 Gym 与 ns-3 之间的通用接口是否能以最小的用户努力支持多样化的网络问题?
  • RQ3自定义环境与仿真能力是否提高了基于 RL 的网络研究的实用性?
  • RQ4研究人员是否能在一个通用、可配置的网络环境下比较 RL 方法?
  • RQ5有哪些示例展示了 ns3-gym 框架在学习型网络任务中的有用性?

主要发现

  • ns3-gym 使用 ZMQ 与 Protocol Buffers 于通信,提供 OpenAI Gym 与 ns-3 之间的可工作桥梁。
  • 通过实现 ns3-gym C++ 接口和 OpenGymInterface,任何 ns-3 脚本都可以用作 Gym 环境。
  • 针对 TCP 和 DASH 的自定义环境展示了网络问题的实际 RL 映射。
  • 仿真与真实测试床支持使在仿真中训练、在真实硬件上评估成为可能,且无需代码更改。
  • 示例(随机访问控制、认知无线电)表明 RL 能在无线网络中学习有效策略。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。