Git Product home page Git Product logo

additive_decoder_extrapolation's Introduction

Additive Decoders for Latent Variables Identification and Cartesian-Product Extrapolation

Code accompanying the paper Additive Decoders for Latent Variables Identification and Cartesian-Product Extrapolation The paper has been accepted at NeurIPS 2023 for an oral presentation.

Brief note about the paper

We tackle the problems of latent variables identification and "out-of-support'' image generation in representation learning. We show that both are possible for a class of decoders that we call additive, which are reminiscent of decoders used for object-centric representation learning (OCRL) and well suited for images that can be decomposed as a sum of object-specific images. We provide conditions under which exactly solving the reconstruction problem using an additive decoder is guaranteed to identify the blocks of latent variables up to permutation and block-wise invertible transformations. This guarantee relies only on very weak assumptions about the distribution of the latent factors, which might present statistical dependencies and have an almost arbitrarily shaped support. Our result provides a new setting where nonlinear independent component analysis (ICA) is possible and adds to our theoretical understanding of OCRL methods. We also show theoretically that additive decoders can generate novel images by recombining observed factors of variations in novel ways, an ability we refer to as Cartesian-product extrapolation. We show empirically that additivity is crucial for both identifiability and extrapolation on simulated data.

Reproduce Results for the ScalarLatents Dataset

Generate Dataset

  • python data/balls_dataset.py --latent_case supp_l_shape
  • python data/balls_dataset.py --latent_case supp_extrapolate

Train Models

  • python scripts/scalar_disentanglement_exps.py --case train

Evaluate Models

  • python scripts/scalar_disentanglement_exps.py --case eval

Plotting Results

  • python scripts/gen_draft_results.py --results_case violin_plot_2d

Reproduce Results for the BlockLatents Dataset

Generate Dataset

  • python data/balls_dataset.py --latent_case latent_traversal_x_axis
  • python data/balls_dataset.py --latent_case latent_traversal_y_axis
  • python data/balls_dataset.py --latent_case supp_iid_no_occ
  • python data/balls_dataset.py --latent_case supp_scm_linear

Train Models

  • python scripts/block_disentanglement_exps.py --case train

Evaluate Models

  • python scripts/block_disentanglement_exps.py --case eval

Plotting Results

  • python scripts/gen_draft_results.py --results_case violin_plot_4d

additive_decoder_extrapolation's People

Contributors

divyat09 avatar

Stargazers

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