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
- Go >= v12.0
- Docker
- A browser that isn't IE
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 |
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.
- More agents, more environments; see Future Thoughts
- Accelerated compute support
- Tuning libraries
- Deployments
- OpenAI Baselines
- The Gorgonia Project
- Gonum
- RL Overview by Lilian Weng
- Open Endedness by Kenneth O. Stanley, Joel Lehman and Lisa Soros
- AI-GAs by Jeff Clune
- The Bitter Lesson by Rich Sutton
- Reinforcement Learning: An Introduction by Rich Sutton and Andrew Barto