Glaux is an experiment to code in functional scala some deep reinforcement learning algorithms, generally speaking, i.e. deep neural network applied in reinforcement learning. The first algorithm Glaux is set to implement is DQN by DeepMind.
Glaux is modular. As of now glaux consists of 6 modules.
Linear algebra adaptors for easy exchange of underlying linear algebra library for concrete implementation. Right now there is only one implementation based on nd4j.
A neural network library that is extensible with new types of layers and trainers.
Reinformment learning using neural networks for approximate Q functions.
The API for client usage of the reinforcement learning alorithm defined above
An interface application for deep reinforcement learning implemented in AKKA.
A persistence library that can persist reinforcement learning sessions into MongoDB.
Stores agent settings and data into mongodb
For unit tests run
sbt test
For integration tests, start mongod
and run
sbt integration:test