Coder Social home page Coder Social logo

sisl / evsoftmax Goto Github PK

View Code? Open in Web Editor NEW
10.0 9.0 2.0 8.7 MB

Code for Paper "Evidential Softmax for Sparse MultimodalDistributions in Deep Generative Models"

License: MIT License

Python 84.07% C++ 1.75% Shell 5.03% Makefile 0.04% CSS 0.03% Jupyter Notebook 2.25% TeX 2.14% Perl 2.67% Smalltalk 0.14% Emacs Lisp 1.24% JavaScript 0.06% NewLisp 0.12% Ruby 0.12% Slash 0.02% SystemVerilog 0.01% Cython 0.31%

evsoftmax's Introduction

Evidential Softmax for Sparse Multimodal Distributions in Deep Generative Models

Abstract

Many applications of generative models rely on the marginalization of their high-dimensional output probability distributions. Normalization functions that yield sparse probability distributions can make exact marginalization more computationally tractable. However, sparse normalization functions usually require alternative loss functions for training because the log-likelihood can be undefined for sparse probability distributions. Furthermore, many sparse normalization functions often collapse the multimodality of distributions. In this work, we present ev-softmax, a sparse normalization function that preserves the multimodality of probability distributions. We derive its properties, including its gradient in closed-form, and introduce a continuous family of approximations to ev-softmax that have full support and can thus be trained with probabilistic loss functions such as negative log-likelihood and Kullback-Leibler divergence. We evaluate our method on a variety of generative models, including variational autoencoders and auto-regressive models. Our method outperforms existing dense and sparse normalization techniques in distributional accuracy and classification performance. We demonstrate that ev-softmax successfully reduces the dimensionality of output probability distributions while maintaining multimodality.

Setup

Required packages are listed in requirements.txt.

Running

The implementation for the ev-softmax function and its loss function can be found in evsoftmax.py.

The MNIST CVAE and VQ-VAE experiments can be run using run_mnist_cvae.sh and run_vqvae.sh, respectively. Instructions for the SSVAE experiment can be found in mnist_ssvae/README.md, and scripts used for preprocessing, training, and evaluating can be found in mnist_ssvae/scripts. Instructions for the translation experiment can be found in translation/README.md, and scripts used for preprocessing, training, and evaluating can be found in translation/scripts/iwslt.

evsoftmax's People

Contributors

philhchen avatar

Stargazers

Jun Zhan avatar hugh avatar 爱可可-爱生活 avatar Hang avatar ldachuan avatar  avatar Fivethousand avatar xsxun avatar Ankit Shah avatar Larry avatar

Watchers

James Cloos avatar Robert Moss avatar Jayesh K. Gupta avatar Zachary Sunberg avatar Mykel Kochenderfer avatar Maxime avatar  avatar  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.