GithubHelp home page GithubHelp logo

nicola-decao / s-vae-tf Goto Github PK

View Code? Open in Web Editor NEW
219.0 17.0 39.0 20 KB

Tensorflow implementation of Hyperspherical Variational Auto-Encoders

Home Page: http://arxiv.org/abs/1804.00891

License: MIT License

Python 100.00%
tensorflow vae von-mises-fisher machine-learning deep-learning manifold-learning variational-autoencoder hyperspherical-vae

s-vae-tf's Introduction

Hyperspherical Variational Auto-Encoders

Tensorflow implementation of Hyperspherical Variational Auto-Encoders

Overview

This library contains a Tensorflow implementation of the hyperspherical variational auto-encoder, or S-VAE, as presented in [1](http://arxiv.org/abs/1804.00891). Check also our blogpost (https://nicola-decao.github.io/s-vae).

  • You do not use Tensorflow? Take a look here for a pytorch implementation!

Dependencies

Installation

To install, run

$ python setup.py install

Structure

  • distributions: Tensorflow implementation of the von Mises-Fisher and hyperspherical Uniform distributions. Both inherit from tf.distributions.Distribution.
  • ops: Low-level operations used for computing the exponentially scaled modified Bessel function of the first kind and its derivative.
  • examples: Example code for using the library within a Tensorflow project.

Usage

Please have a look into the examples folder. We adapted our implementation to follow the structure of the recently proposed Tensorflow Distribution library, (Dillon et al, 2017).

Please cite [1] in your work when using this library in your experiments.

Sampling von Mises-Fisher

To sample the von Mises-Fisher distribution we follow the rejection sampling procedure as outlined by Ulrich, 1984. This simulation pipeline is visualised below:

blog toy1

Note that as is a scalar, this approach does not suffer from the curse of dimensionality. For the final transformation, , a Householder reflection is utilized.

Feedback

For questions and comments, feel free to contact Nicola De Cao.

License

MIT

Citation

[1] Davidson, T. R., Falorsi, L., De Cao, N., Kipf, T.,
and Tomczak, J. M. (2018). Hyperspherical Variational
Auto-Encoders. 34th Conference on Uncertainty in Artificial Intelligence (UAI-18).

BibTeX format:

@article{s-vae18,
  title={Hyperspherical Variational Auto-Encoders},
  author={Davidson, Tim R. and
          Falorsi, Luca and
          De Cao, Nicola and
          Kipf, Thomas and
          Tomczak, Jakub M.},
  journal={34th Conference on Uncertainty in Artificial Intelligence (UAI-18)},
  year={2018}
}

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.