Coder Social home page Coder Social logo

causal-infogan's Introduction

Learning Plannable Representation with Causal InfoGAN

Paper

Causal InfoGAN (CIGAN) takes sequential observations as input, defining what is possible in the system, e.g., a piece of rope can move slightly but cannot be broken in half. It learns a latent state transition P(s'|s) that is simple to plan with. A feasible plan in the latent space generates a visual plan to bring the start configuration to the goal configuration.

In this repo, we provide the code to imagine rope manipulation from random exploration data. The latent space is continuous with locally Gaussian state transition. Therefore, linear interpolation can generate a feasible plan. Note that as described in the paper [1] one can use different representations and planning algorithms in the latent space.

Setup

1) Datasets

  • Download rope dataset [2] (rope_full)
  • Download test start and goal images (seq_data_2)
  • Download the parameters of a fully connected network that is trained to extract the rope from the background (FCN_mse)

2) Install the python environment

  • Create a python environment and install dependencies: conda env create -f tf14.yml
  • Activate the environment: source activate tf14

3) Run the training

  • Run python main.py -learn_var -seed 1

cigan_result

Notes

  1. The training is configured to run on a GPU. One can run on a CPU by removing .cuda().
  2. We found that some random seeds can collapse early. We are curious to see how techniques in improving GAN stability and mode collapsing be applied here.

    Because we search for the closest L2 distance on the image space to embed the start and goal images using the generator, more diversity in generation will improve the embeddings of starts and goals.

References

[1] Thanard Kurutach, Aviv Tamar, Ge Yang, Stuart J. Russell, and Pieter Abbeel. "Learning plannable representations with causal infogan." In Advances in Neural Information Processing Systems, pp. 8746-8757. 2018.

[2] Ashvin Nair, Dian Chen, Pulkit Agrawal, Phillip Isola, Pieter Abbeel, Jitendra Malik, and Sergey Levine. "Combining self-supervised learning and imitation for vision-based rope manipulation." In Robotics and Automation (ICRA), 2017 IEEE International Conference on, pp. 2146-2153. IEEE, 2017.

causal-infogan's People

Contributors

orybkin avatar thanard avatar

Watchers

 avatar

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.