Coder Social home page Coder Social logo

bayesian-reinforcement-learning-with-maximum-entropy's Introduction

Bayesian Reinforcement Learning with Maximum Entropy Finite State Controllers.

watching_count


Table of Contents
  1. About The Project
  2. Getting Started
  3. Open For Contribution
  4. License
  5. Contact
  6. Acknowledgments

About The Project

In recent years, Reinforcement Learning (RL) has been used extensively in many real life problems. The application field varies from resource management, medical treatment design, tutoring systems robotics to several other fields. But in RL a problem occurs during selection of action (termed as exploration/exploitation dilemma). Bayesian Reinforcement Learning(BRL) provides an elegant solution to this dilemma. BRL algorithms incorporate prior knowledge into the algorithm. Regrettably, BRL is computationally very demanding and several scalability problems arise. Using a Finite State Controller (FSC) this scalability issue has been addressed. Previously boltzmann function have been used to parameterize the control parameters of the fsc. So, we used Maximum Entropy Mellowmax Policy. Also we propose a new algorithm named as The Monte Carlo gradient estimation algorithm with maximum Entropy mellowmax policy. The algorithm calculates the value gradient of the control parameters and updates the parameters in the direction of the gradient using the gradient ascent algorithm. We analyze this performance of the newly proposed algorithm with several hyper-parameters. We use two toy problem structures, chain problem and grid world, to investigate the result of these two policies. The empirical comparison between the boltzmann and the mellowmax policy suggests an improvement in the result.

(back to top)

Used Libraries

This project was successfully built with the following libraries. To install the libraries and use the codebase, you should properly be aware of the version conflicts of tensorflow and numpy as well. But I strongly recommend to use Anaconda for that.

(back to top)

Getting Started

To get started with this project, the level of code interraction needed is intermediate level at least. Please follow the simple steps below to run the repo:

Installation

  1. Clone the repo
    git clone https://github.com/intisarnaheen/Bayesian-Reinforcement-Learning-with-Maximum-Entropy.git
  2. Install numpy
    pip install numpy
  3. Install Tensorflow
    pip install tensorflow
  4. Install Gym
    pip install gym
  5. Install Matplotlib
    pip install matplotlib
  6. Install Scipy
    pip install scipy

(back to top)

Results

In this section we analyze the performance of our mellowmax policy. Here, we compare the influence of the number of memory states of the fsc. It is expected that as the number of memory states increases the performance of the finite state controller should improve.

Results_image

In this section we make a comparative analysis the Monte- Carlo gradient estimation algorithm with mellowmax policy(Algorithm 7) and the Monte Carlo gradient estimation algorithm with boltzmann policy(Algorithm 6) First the results on the chain problem has been discussed. We compare our result both on cumulative reward and cumulative discounted reward.

Results_image

Results_image

Results_image

Do you want to contribute?

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/Bayesian-Reinforcement-Learning-with-Maximum-Entropy)
  3. Commit your Changes (git commit -m 'Add some Bayesian-Reinforcement-Learning-with-Maximum-Entropy')
  4. Push to the Branch (git push origin feature/Bayesian-Reinforcement-Learning-with-Maximum-Entropy)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

@Follow me on twitter
Email me - [email protected]
Project Link: Bayesian Reinforcement Learning with Maximum Entropy Finite State Controllers.

(back to top)

Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

(back to top)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.