Reinforcement Learning in Go
Gold is a reinforcement learning library for Go. It provides a set of agents that can be used to solve challenges in various environments. The library further contains a composable tooling for creating agents and visualizing their performance.
go run ./pkg/v1/agent/deepq/experiments/cartpole/main.go
All of the agent implementations can be found in pkg/v1/agent each agent has an experiments folder providing demos across various environments.
agent | algorithm |
---|---|
pkg/v1/agent/q | Q Learning |
pkg/v1/agent/deepq | Deep Q learning with Double Q |
pkg/v1/agent/reinforce | REINFORCE aka Monte Carlo Policy Gradients |
pkg/v1/agent/nes | Natural Evolution Strategies |
pkg/v1/agent/her | Hindsight Experience Replay |
pkg/v1/agent/ppo | Proximal Policy Optimization ⚠️ in progress |
Each package contains a README explaining the usage, also see GoDoc.
Please open an MR for any issues or feature requests.
The project is fairly simple to hack on, environments are provided through Sphere, models are provided through Goro.
Feel free to ping @pbarker on Gopher slack.