All Projects → aslanides → Aixijs

aslanides / Aixijs

Licence: gpl-3.0
AIXIjs - General Reinforcement Learning in the Browser

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Aixijs

Machine Learning Notebooks
Machine Learning notebooks for refreshing concepts.
Stars: ✭ 222 (+73.44%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Learningx
Deep & Classical Reinforcement Learning + Machine Learning Examples in Python
Stars: ✭ 241 (+88.28%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Free Ai Resources
🚀 FREE AI Resources - 🎓 Courses, 👷 Jobs, 📝 Blogs, 🔬 AI Research, and many more - for everyone!
Stars: ✭ 192 (+50%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Awesome Monte Carlo Tree Search Papers
A curated list of Monte Carlo tree search papers with implementations.
Stars: ✭ 387 (+202.34%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Stock Price Trade Analyzer
This is a Python 3.0 project for analyzing stock prices and methods of stock trading. It uses native Python tools and Google TensorFlow machine learning.
Stars: ✭ 35 (-72.66%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Papers Literature Ml Dl Rl Ai
Highly cited and useful papers related to machine learning, deep learning, AI, game theory, reinforcement learning
Stars: ✭ 1,341 (+947.66%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Aleph star
Reinforcement learning with A* and a deep heuristic
Stars: ✭ 235 (+83.59%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Machine Learning Articles
Monthly Series - Top 10 Machine Learning Articles
Stars: ✭ 516 (+303.13%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Gym Alttp Gridworld
A gym environment for Stuart Armstrong's model of a treacherous turn.
Stars: ✭ 14 (-89.06%)
Mutual labels:  demo, reinforcement-learning
Machine Learning From Scratch
Succinct Machine Learning algorithm implementations from scratch in Python, solving real-world problems (Notebooks and Book). Examples of Logistic Regression, Linear Regression, Decision Trees, K-means clustering, Sentiment Analysis, Recommender Systems, Neural Networks and Reinforcement Learning.
Stars: ✭ 42 (-67.19%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Machine learning lectures
Collection of lectures and lab lectures on machine learning and deep learning. Lab practices in Python and TensorFlow.
Stars: ✭ 118 (-7.81%)
Mutual labels:  reinforcement-learning, machine-learning-algorithms
Rl Collision Avoidance
Implementation of the paper "Towards Optimally Decentralized Multi-Robot Collision Avoidance via Deep Reinforcement Learning"
Stars: ✭ 125 (-2.34%)
Mutual labels:  reinforcement-learning
Hbayesdm
Hierarchical Bayesian modeling of RLDM tasks, using R & Python
Stars: ✭ 124 (-3.12%)
Mutual labels:  reinforcement-learning
Rl Quadcopter
Teach a Quadcopter How to Fly!
Stars: ✭ 124 (-3.12%)
Mutual labels:  reinforcement-learning
Mlds2018spring
Machine Learning and having it Deep and Structured (MLDS) in 2018 spring
Stars: ✭ 124 (-3.12%)
Mutual labels:  reinforcement-learning
Taobaokeapi
淘宝客API演示
Stars: ✭ 128 (+0%)
Mutual labels:  demo
Modular Rl
[ICML 2020] PyTorch Code for "One Policy to Control Them All: Shared Modular Policies for Agent-Agnostic Control"
Stars: ✭ 126 (-1.56%)
Mutual labels:  reinforcement-learning
Rl Medical
Deep Reinforcement Learning (DRL) agents applied to medical images
Stars: ✭ 123 (-3.91%)
Mutual labels:  reinforcement-learning
Git Cheats
Git Cheats - Interactive Cheatsheet For Git Commands
Stars: ✭ 124 (-3.12%)
Mutual labels:  demo
Laravel Hackathon Starter
💻 A hackathon/MVP boilerplate for laravel web applications. Start your hackathons without hassle.
Stars: ✭ 1,589 (+1141.41%)
Mutual labels:  demo

AIXIjs

AIXIjs is a JavaScript demo for running General Reinforcement Learning (RL) agents in the browser. In particular, it provides a general and extensible framework for running experiments on Bayesian RL agents in general (partially observable, non-Markov, non-ergodic) environments.

UPDATE (May 2017): I'll be presenting a conference paper containing a literature survey along with some experiments based on AIXIjs at IJCAI 2017, in Melbourne, Australia. The paper (to appear) is: J. S. Aslanides, Jan Leike, and Marcus Hutter. "Universal Reinforcement Learning Algorithms: Survey & Experiments", in Proceedings of the 26th Intl. Joint Conf. on A.I..

Features

Agents:

  • Bayes (AIXI)
  • KSA (Square, Shannon, and Kullback-Leibler)
  • Thompson Sampling
  • MDL Agent
  • BayesExp
  • (Tabular) QLearning/SARSA

Environments:

  • Bandits
  • Finite-state MDPs
  • Gridworld POMDPs

See the main site for more background, documentation, references, and demos.

Note: AIXIjs uses some features from ECMAScript 2015 (ES6). It should work on recent versions of Firefox, Safari, Edge, and Chrome, but it's only really been tested on Chrome, so that's what I recommend using.

API

There are a number of demos pre-made and ready to go; look at src/demo.js for examples. If you want to roll your own demo, here's an example of how to get a basic simulation working, with AIXI on a Dispenser Gridworld:

let config = { /* ... */ }; // environment config; see src/config.js for examples
let env = new Gridworld(config); // construct environment
let options = { /* ... */ }; // agent options; see src/config.js for examples
let agent = new BayesAgent(options); // construct agent
let trace = new BayesTrace(); // accumulator for performance and history

let a = null; // action
let e = env.generatePercept() // percept

// main loop
for (let t = 0; t < options.steps; t+s+) {
	trace.log(agent, env, a, e); // log info to trace
	a = agent.selectAction(e); // agent computes its policy and selects an action
	env.perform(a); // pass this action to the environment and compute dynamics
	e = env.generatePercept(); // environment emits a percept
	agent.update(a, e); // agent learns from action and resulting percept
}
// now do what you want with the trace -- it has logged all the relevant data
//

Note that agents should implement two methods, selectAction(e) and update(a,e). Environments should implement generatePercept(), perform(a), and conditionalDistribution(e).

How to run experiments

I've provided a helper function demo.experiment(...configs,runs) to make it easy to do numerous runs with different configs, and serialize the results to JSON. To run experiments, bring up the console in Chrome (Ctrl+Shift+I on Linux), and run something like:

Experiment

After the experiments download link for results.json will appear at the bottom of the DOM. See src/demo.js:209 for details about the structure of the serialization. There's an iPython notebook in experiments/analysis.ipynb that should help get you started in producing plots etc.

License

GPL.

How to cite

If you use this software in your own experiments, please cite it as:

@inproceedings{ALH2017,
 author = {Aslanides, John and Leike, Jan and Hutter, Marcus},
 title = {Universal Reinforcement Learning Algorithms: Survey and Experiments},
 booktitle = {Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence},
 series = {IJCAI'17},
 year = {2017},
 publisher = {AAAI Press},
}

Contributing

If you'd like to contribute, I'm all ears! There's a lot of stuff to do :) Go ahead and open a pull request!

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].