Skip to content

一些簡單的遊戲,用來驗證強化學習中使用動作遮罩的效果及影響

Notifications You must be signed in to change notification settings

NTUT-SELab/ConsoleGame-ActionMask.Gym

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Console game [OpenAI Gym]

Build Status Azure DevOps coverage (branch)

Ubuntu Windows MacOS
Build Status Build Status Build Status

Mouse walking maze

這是一個簡單的老鼠走迷宮 OpenAI Gym 環境,這個環境包含了 3 種子環境:

  1. 發生無效動作時,不進行任何的獎勵給予或動作屏蔽 (BaseEnv)
  2. 發生無效動作時,給予一個負獎勵 (NegativeRewardEnv)
  3. 發生無效動作時,使用動作遮罩屏蔽代理人的動作選擇 (ActionMaskEnv)

目的是為了驗證代理人受到環境的限制而出現大量的無效動作時,採用上述 3 種方法其效果如何。

道路 = ' '
牆壁 = 'X'
出口 = 'E'
老鼠 = 'M'
食物 = 'F'
毒藥 = 'P'

Snake

這是一個簡單的貪食蛇 OpenAI Gym 環境,這個環境包含了 2 種子環境:

  1. 發生無效動作時,不進行任何的獎勵給予或動作屏蔽 (BaseEnv)
  2. 發生無效動作時,使用動作遮罩屏蔽代理人的動作選擇 (ActionMaskEnv)

目的是為了驗證代理人受到環境的限制而出現大量的無效動作時,採用上述 2 種方法其效果如何。

⚠️⚠️⚠️ Snake 環境僅支援: Windows, Mac

道路 = ' '
牆壁 = '✤'
蛇的頭 = '❖'
蛇的身體 = '◉'
食物 = '❦'

如何使用

1. Clone stable-baselines 支援 Action maske 的版本

git clone https://github.com/NTUT-SELab/stable-baselines
cd stable-baselines
git checkout neglogp+entropy
cd ..

2. Clone 這個 Repositorie

git clone https://github.com/NTUT-SELab/mouse-walking-maze.gym
cd mouse-walking-maze.gym

3. 執行範例

  • 使用 Docker

SB_PATH是 stable-baselines 專案存放的路徑

SB_PATH=/homes/user/stable-baselines/ ./scripts/run_docker_gpu.sh python ./examples/Snake/PPO2/run_action_mask.py MlpPolicy

使用GPU請參考: Build and run Docker containers leveraging NVIDIA GPUs

  • 直接執行

MlpPolicy 是策略神經網路,請參考: Policy Networks

由於我們設計的遊戲狀態內容太小,導致預設的CNN策略神經網路不能捲機。因此我們自訂了較小的卷積層,請參考: 自定義策略神經網路

python3 ./examples/Snake/PPO2/run_action_mask.py MlpPolicy

About

一些簡單的遊戲,用來驗證強化學習中使用動作遮罩的效果及影響

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published