Coder Social home page Coder Social logo

takuyahiraoka / grounded-language-learning-in-pytorch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dai-dao/grounded-language-learning-in-pytorch

0.0 2.0 0.0 33.78 MB

Implementation of Grounded Language Learning in a 3D Simulated World (DeepMind)

License: Other

Python 0.65% Lua 0.23% ShaderLab 0.25% GLSL 1.29% C 92.19% C++ 4.39% Shell 0.02% Assembly 0.19% Objective-C 0.07% Makefile 0.01% HTML 0.51% Roff 0.16% Yacc 0.03% Perl 0.01%

grounded-language-learning-in-pytorch's Introduction

Implementation of the paper Grounded Language Learning in a Simulated 3D World in PyTorch

Requirements:

  • Python 2.7
  • Pytorch
  • Bazel (to build DeepMind Lab)

Usage:

To train the agent on the custom learning environment, run the following command:

bazel run :learning_agent

To run in human mode:

bazel run :game -- --level_script language_learning

Agent code is in the folder python/rl_agent

Environment code is written in Lua assets/game_scripts/language_learning.lua

Reinforcement Learning agent:

The goal of the paper is to teach the agent to do specific tasks using natural language command and visual input, for example in this implementation: Find apples or Find strawberries

The agent will receive positive points for picking specified object, and negative points for other objects. Optimization step is performed when the replay memory buffer is full, and then cleared.

Visual input:

Image 1 Image 2

Milestones:

1. Setting up agent environment:

  • Generate custom map
  • Generate scoring logic for training
  • Generate natural language commands

2. Build the RL model in pytorch

  • Baseline Actor-Critic RL agent
  • Neural Network Modules Implementation (Vison, Language, Mixing, Action, Policy)
  • Tested baseline implementation
  • Implement auxiliary tasks (temporal AutoEncoder, Language Predictor, Reward Predictor)
  • Implement training loop with experience replay

3. Train the agent

  • Implement distributed training
  • Run on GPU instance (it takes too much for my CPU to perform just one update, the code would need to be optimized further)
  • Monitor and compare results with DeepMind (It'll be awesome if I can achieve comparable results)
  • Monitor loss, save model
  • Implement skewed sampling, reward prediction
  • Implement more complex training scenarios, relational commands, etc.

grounded-language-learning-in-pytorch's People

Contributors

tkoeppe avatar

Watchers

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