(Still in Development)
Overview:
- Game Env
- Policy Gradient
- Vectorized Env
- DQN Algorithm
- PPO
- Adaptive Reward Design
尝试在更大的环境上跑DQN, 设计了相应的网络, 效果不佳
实现PPO
优化:
- 改成Fix timestep, 每次die后环境主动重置.
- 希望能加速训练, 学到主动吃豆.
- 有助于日后实现向量化环境, 以及实现其他算法.
AI : 每个算法: Trainer, Agent, Buffer
- Simple Policy Gradient
代码结构设计: 4个主要对象
- Agent(给定决策rule, 根据obs 给出act)
- policy(obs) : 根据obs给出act prob
- Human Agent, Dummy Agent.
- Game Env (被动, 拿到act, 给出obs, reward, done)
- 对象自行管理state & obs & step
- 状态空间; 动作空间;
- reset() : 重置状态
- step(act) : 根据act给出obs, reward, done
- Runner & Trainer (手持env和agent, 用于训练agent & 运行游戏)
- run(env,agent) : 用于运行游戏
- Render (渲染器, 用于渲染游戏): 文字渲染, 图形渲染, 视频渲染
- render(obs) : 用于渲染游戏
工具代码
- util: debug 工具
- cfg : 超参数, 环境变量. 仅由main.py读取, 用于初始化.
- main.py: import 所有类; 创建类.