Arxiv:https://arxiv.org/pdf/1709.06009.pdf
ALE介紹:
ALE在Stella(一個開源的Atari 2600模擬器)上構建。它允許用戶通過接收joystick動作、發送screen/RAM信息、並模擬平台的方式來與Atari 2600交互。ALE提供了一個游戲處理層(game-handling layer),它通過標記累積得分、以及游戲是否已經結束,可以將每個游戲轉化成一個標准的增強學習問題。缺省的,每個observation包含了單個游戲屏幕(game screen: frame):一個關於7bit像素的2D數組,160 pixels寬 x 210 pixels高。action_space至多包含了18個離散(discrete)的actions,它們通過操縱桿控制器(joystick controller)來定義。game-handling layer也指定了需要玩一個特定游戲的關於actions的最小集合。當運行時,該仿真器會每秒生成60幀,最高速度的仿真可以達到每秒6000幀。在每個time-step上的reward通過game basis來定義,通常通過在幀之間的得分(score/points)的不同來指定。一個episode會在reset命令后的第一幀(frame)處開始,當游戲結束時終止。game-handling layer也提供了在預定義幀數后終止episode的能力。user因此可以通過單個公共接口來訪問數十個游戲,並可以很簡單地增加新游戲。
Atari游戲的環境設置問題(gym):
gym中的實現與ALE略有不同,可以查看Gym (openai.com)進行了解,其中關鍵的部分如下:
Atari-py所包含的游戲:
SAC-Discrete vs Rainbow:
相關Atari游戲介紹:
- Alien:控制小人走迷宮;小人接觸到亮點則加分;小人被怪獸抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:18)(Rainbow)
- Amidar:控制小人走迷宮;走過之前未走過的路則加分;小人被怪獸抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:10)(Rainbow)
- Assault:控制飛機打敵人;擊中敵人則加分;飛機被敵人打中則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為4,失去所有命則游戲結束;(action_space:7)(SAC)
- Asterix:控制智能體接觸目標;遇到指定目標則加分;智能體遇到非指定目標則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:9)(Rainbow)
- Atlantis:控制武器打飛機,打中加分;
- BattleZone:控制坦克打敵人;擊中敵人則加分;坦克被敵人則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為5,失去所有命則游戲結束;(action_space:18)(SAC)
- BeamRider:控制導彈發射器打敵人;擊中敵人則加分;導彈發射器被敵人則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:9)(SAC)
- Boxing:控制拳手與對手打斗,打中對手加分,被對手打中扣分;
- Breakout:控制板反射球;擊中磚塊后磚塊消失且能夠加分;板沒接住球則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為5,失去所有命則游戲結束;(action_space:4)(Rainbow)
- CrazyClimber:控制小人爬梯子;向上爬則加分;小人脫離梯子則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段失去所有命則游戲結束;(action_space:9)(Rainbow)
- Enduro:控制小車沿道路行駛;超越別人加分,被別人超越扣分;小車撞到別人則會停滯;(action_space:9)(SAC)
- Freeway:控制小人過馬路;小人成功過馬路則加分;小人撞到車會被阻礙;游戲時間達到一定時長上方計分會閃爍,不久后游戲結束;(action_space:3)(SAC)
- Frostbite:控制小人過河;踩過板子則加分;小人掉下河則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為4,失去所有命則游戲結束;(action_space:18)(Rainbow)
- Gopher:控制農民抓地鼠,避免地鼠吃到蘿卜;
- Jamesbond:控制智能體前進;擊中敵人則加分;被敵人擊中則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段失去所有命則游戲結束;(action_space:18)(SAC)
- Kangaroo:控制袋鼠闖關;踩死敵人則加分;袋鼠被敵人抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:18)(Rainbow)
- Krull:控制武士與敵人搏斗,成功擊殺敵人加分;
- MsPacman:控制嘴巴走迷宮;嘴巴吃到紅杠則加分;嘴巴被幽靈抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:9)(SAC)
- NameThisGame:控制潛水者射殺鯊魚,射中加分;
- Pong:控制拍與對手打乒乓球;一方沒接住球則另一方得分;一方到達21分則游戲結束;(action_space:6)(Rainbow)
- Qbert:控制小人踩格子;踩到沒踩過的格子則加分;小人被敵人抓住則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為4,失去所有命則游戲結束;(action_space:6)(SAC)
- RoadRunner:控制小人跑步;向前跑則加分;小人被車撞上則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:18)(Rainbow)
- Seaquest:控制潛艇打敵人;打中敵人則加分;潛艇氧氣耗盡則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為4,失去所有命則游戲結束;(action_space:18)(SAC)
- SpaceInvaders:控制智能體打敵人;打中敵人則加分;被敵人打中則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為3,失去所有命則游戲結束;(action_space:6)(SAC)
- StarGunner:控制星際戰機暴揍外星人,打中加分;
- Tennis:控制運動員與對手打網球;
- Tutankham:控制小人過迷宮;
- UpNDown:控制小車沿道路行駛;小車前進則加分;撞到別人則失去一條命;在訓練階段通常設置失去一條命則游戲結束,在測試階段初始命數為5,失去所有命則游戲結束;(action_space:6)(Rainbow)
- VideoPinball:三維彈球的像素游戲版本;