GithubHelp home page GithubHelp logo

hsg7280 / lqg Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rothkopflab/lqg

1.0 0.0 0.0 47.96 MB

Inverse optimal control for continuous psychophysics

License: GNU Affero General Public License v3.0

Python 4.25% Jupyter Notebook 95.75%

lqg's Introduction

LQG: Inverse Optimal Control for Continuous Psychophysics

Experimenter-actor-loop image

Static Badge PyPI - Version Static Badge Static Badge

This repository contains the official JAX implementation of the inverse optimal control method presented in the paper:

Straub, D., & Rothkopf, C. A. (2022). Putting perception into action with inverse optimal control for continuous psychophysics. eLife, 11, e76635.

Installation

The package can be installed via pip

python -m pip install lqg

Since publication of our eLife paper, I have substantially updated the package. If you want to use the package as described in the paper, please install an older version <0.20:

python -m pip install lqg==0.1.9

If you want the latest development version, I recommend cloning the repository and installing locally in a virtual environment:

git clone [email protected]:dominikstrb/lqg.git
cd lqg
python -m venv env
source env/bin/activate
python -m pip install -e .

Usage examples

The notebooks in the documentation illustrate how to use the lqg package to define optimal control models, simulate trajectories, and infer parameters from observed data.

  • Overview explains the model and its parameters in more detail, including the extension to subjective internal models (based on my tutorial at CCN 2022)
  • Data applies the method to data from a tracking experiment

Citation

If you use our method or code in your research, please cite our paper:

@article{straub2022putting,
  title={Putting perception into action with inverse optimal control for continuous psychophysics},
  author={Straub, Dominik and Rothkopf, Constantin A},
  journal={eLife},
  volume={11},
  pages={e76635},
  year={2022},
  publisher={eLife Sciences Publications Limited}
}

Extensions

Signal-dependent noise

This implementation supports the basic LQG framework. For the extension to signal-dependent noise (Todorov, 2005), please see our NeurIPS 2021 paper and its implementation.

Non-linear dynamics

We are currently working on extending this approach to non-linear dynamics and non-quadratic costs. Please check out our NeurIPS 2023 paper and its implementation.

lqg's People

Contributors

dominikstrb avatar lukasmaninger avatar

Stargazers

 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.