All Projects → mvrahden → reinforce-js

mvrahden / reinforce-js

Licence: MIT License
[INACTIVE] A collection of various machine learning solver. The library is an object-oriented approach (baked with Typescript) and tries to deliver simplified interfaces that make using the algorithms pretty simple.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to reinforce-js

rl implementations
No description or website provided.
Stars: ✭ 40 (+100%)
Mutual labels:  deep-reinforcement-learning, dqn, deep-q-network
DRL in CV
A course on Deep Reinforcement Learning in Computer Vision. Visit Website:
Stars: ✭ 59 (+195%)
Mutual labels:  deep-reinforcement-learning, reinforcement, temporal-differencing-learning
Reinforcement Learning
Learn Deep Reinforcement Learning in 60 days! Lectures & Code in Python. Reinforcement Learning + Deep Learning
Stars: ✭ 3,329 (+16545%)
Mutual labels:  deep-reinforcement-learning, dqn, deepmind
Pysc2 Examples
StarCraft II - pysc2 Deep Reinforcement Learning Examples
Stars: ✭ 722 (+3510%)
Mutual labels:  deep-reinforcement-learning, deepmind, deep-q-network
Pytorch Drl
PyTorch implementations of various Deep Reinforcement Learning (DRL) algorithms for both single agent and multi-agent.
Stars: ✭ 233 (+1065%)
Mutual labels:  deep-reinforcement-learning, dqn, deep-q-network
Reinforcement Learning
Minimal and Clean Reinforcement Learning Examples
Stars: ✭ 2,863 (+14215%)
Mutual labels:  deep-reinforcement-learning, dqn, deep-q-network
DQN-using-PyTorch-and-ML-Agents
A simple example of how to implement vector based DQN using PyTorch and a ML-Agents environment
Stars: ✭ 81 (+305%)
Mutual labels:  deep-reinforcement-learning, dqn, deep-q-network
Deep Q Learning
Minimal Deep Q Learning (DQN & DDQN) implementations in Keras
Stars: ✭ 1,013 (+4965%)
Mutual labels:  deep-reinforcement-learning, dqn, deep-q-network
Ml In Tf
Get started with Machine Learning in TensorFlow with a selection of good reads and implemented examples!
Stars: ✭ 45 (+125%)
Mutual labels:  deep-reinforcement-learning, dqn, deepmind
Learning To Communicate Pytorch
Learning to Communicate with Deep Multi-Agent Reinforcement Learning in PyTorch
Stars: ✭ 236 (+1080%)
Mutual labels:  deep-reinforcement-learning, dqn, deepmind
king-pong
Deep Reinforcement Learning Pong Agent, King Pong, he's the best
Stars: ✭ 23 (+15%)
Mutual labels:  deep-reinforcement-learning, dqn, deep-q-network
good robot
"Good Robot! Now Watch This!": Repurposing Reinforcement Learning for Task-to-Task Transfer; and “Good Robot!”: Efficient Reinforcement Learning for Multi-Step Visual Tasks with Sim to Real Transfer
Stars: ✭ 84 (+320%)
Mutual labels:  deep-reinforcement-learning, deep-q-network
pytorch-distributed
Ape-X DQN & DDPG with pytorch & tensorboard
Stars: ✭ 98 (+390%)
Mutual labels:  deep-reinforcement-learning, dqn
omd
JAX code for the paper "Control-Oriented Model-Based Reinforcement Learning with Implicit Differentiation"
Stars: ✭ 43 (+115%)
Mutual labels:  deep-reinforcement-learning, dqn
Autonomous-Drifting
Autonomous Drifting using Reinforcement Learning
Stars: ✭ 83 (+315%)
Mutual labels:  deep-reinforcement-learning, dqn
Deep-Reinforcement-Learning-With-Python
Master classic RL, deep RL, distributional RL, inverse RL, and more using OpenAI Gym and TensorFlow with extensive Math
Stars: ✭ 222 (+1010%)
Mutual labels:  deep-reinforcement-learning, dqn
dqn-obstacle-avoidance
Deep Reinforcement Learning for Fixed-Wing Flight Control with Deep Q-Network
Stars: ✭ 57 (+185%)
Mutual labels:  deep-reinforcement-learning, dqn
Rainy
☔ Deep RL agents with PyTorch☔
Stars: ✭ 39 (+95%)
Mutual labels:  deep-reinforcement-learning, dqn
ActiveRagdollControllers
Research into controllers for 2d and 3d Active Ragdolls (using MujocoUnity+ml_agents)
Stars: ✭ 30 (+50%)
Mutual labels:  deep-reinforcement-learning, deepmind
jax-rl
JAX implementations of core Deep RL algorithms
Stars: ✭ 61 (+205%)
Mutual labels:  deep-reinforcement-learning, deepmind

reinforce-js

Build Status Build status js-google-style

Call For Volunteers: Due to my lack of time, I'm desperately looking for voluntary help. Should you be interested in building reinforcement agents (even though you're a newbie) and willing to develop this educational project a little further, please contact me :) There are some points on the agenda, that I'd still like to see implemented to make this project a nice library for abstract educational purposes.

INACTIVE: Due to lack of time and help

reinforce-js – a collection of various simple reinforcement learning solver. This library is for educational purposes only. The library is an object-oriented approach and tries to deliver simplified interfaces that make using the algorithms pretty easy (baked with Typescript). More over it is an extension of Andrej Karpathy's reinforcement learning library that implements several common RL algorithms. In particular, the library currently includes:

  • Deep Q-Learning for Q-Learning with function approximation with Neural Networks (DQNSolver Details and related Google DeepMind Paper)
  • Dynamic Programming methods
  • (Tabular) Temporal Difference Learning (SARSA/Q-Learning)
  • Stochastic/Deterministic Policy Gradients and Actor Critic architectures for dealing with continuous action spaces. (very alpha, likely buggy or at the very least finicky and inconsistent)

For Production Use

What does the Library offer?

Currently exposed Classes:

DQN-Solver

Code-Example and General Information

  • DQNSolver - Concrete Deep Q-Learning Solver
    • This class is containing the main Deep Q-Learning algorithm of the DeepMind paper. On instantiation it needs to be configured with two configuration objects. It is an algorithm, which has minimum knowledge of its environment. The behavior of the algorithm can be tuned via its hyperparamters (DQNOpt).
    • The Deep Q-Learning algorithm is designed to have a certain universality, since its reasoning is just depending on a environmental perception and an environmental feedback.
    • The learning-agents-implementation shows that the DQNSolver can also be designed in such a way, that its agent has a maximum autonomy by establishing its own reward-scheme.
  • DQNOpt - Concrete options of DQNSolver
    • This class is for the configuration of the DQNSolver. It holds all the hyperparameter for the DQNSolver. For the detailed initialization please see the General Information.
  • DQNEnv - Concrete environment of DQNSolver
    • This class is for the configuration of the DQNSolver. It holds the boundary-measures of the environment, in which the DQNSolver should operate. For the detailed initialization please see the General Information.
  • Example Application: Learning Agents (GitHub Page)

TD-Solver (not tested)

Code-Example

  • TDSolver - Concrete Temporal Difference Solver
  • TDOpt - Concrete Options for TDSolver creation
  • TDEnv - Concrete Environment for TDSolver creation

Planned to be implemented:

  • DPSolver - Concrete Dynamic Programming Solver
  • DPOpt - Concrete Options for DPSolver creation
  • SimpleReinforcementSolver - Concrete Simple Reinforcement Solver
  • SimpleReinforcementOpt - Concrete Options for SimpleReinforcementSolver creation
  • RecurrentReinforcementSolver - Concrete Recurrent Reinforcement Solver
  • RecurrentReinforcementOpt - Concrete Options for RecurrentReinforcementSolver creation
  • DeterministPGSolver - Concrete Deterministic Policy Gradient Solver
  • DeterministPGOpt - Concrete Options for DeterministPGSolver creation

How to install as a dependency:

Download available @npm: reinforce-js

Install via command line:

npm install --save reinforce-js@latest

The project directly ships with the transpiled Javascript code. And for TypeScript development it also contains Map-files and Declaration-files.

How to import?

These classes can be imported from this npm module, e.g.:

import { DQNSolver, DQNOpt, DQNEnv } from 'reinforce-js';

For JavaScript usage require classes from this npm module as follows:

const DQNSolver = require('reinforce-js').DQNSolver;
const DQNOpt = require('reinforce-js').DQNOpt;
const DQNEnv = require('reinforce-js').DQNEnv;

Example Application

For the DQN-Solver please visit Learning Agents (GitHub Page).

Community Contribution

Everybody is more than welcome to contribute and extend the functionality!

Please feel free to contribute to this project as much as you wish to.

  1. clone from GitHub via git clone https://github.com/mvrahden/reinforce-js.git
  2. cd into the directory and npm install for initialization
  3. Try to npm run test. If everything is green, you're ready to go 😎

Before triggering a pull-request, please make sure that you've run all the tests via the testing command:

npm run test

This project relies on Visual Studio Codes built-in Typescript linting facilities. Let's follow primarily the Google TypeScript Style-Guide through the included tslint-google.json configuration file.

Dependencies

This Library relies on the object-oriented Deep Recurrent Neural Network library:

Work in Progress

Please be aware that this repository is still under construction. Changes are likely to happen. There are still classes to be added, e.g. DPSolver, SimpleReinforcementSolver, RecurrentReinforcementSolver, DeterministPG and their individual Opts and Envs

License

As of License-File: MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].