{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/hamiltonian-variational-auto-encoder","title":"Hamiltonian Variational Auto-Encoder","arxiv_id":"1805.11328","date":"2018-05-29","proceeding":"NeurIPS 2018 12","authors":["Anthony L. Caterini","Arnaud Doucet","Dino Sejdinovic"],"abstract":"Variational Auto-Encoders (VAEs) have become very popular techniques to\nperform inference and learning in latent variable models as they allow us to\nleverage the rich representational power of neural networks to obtain flexible\napproximations of the posterior of latent variables as well as tight evidence\nlower bounds (ELBOs). Combined with stochastic variational inference, this\nprovides a methodology scaling to large datasets. However, for this methodology\nto be practically efficient, it is necessary to obtain low-variance unbiased\nestimators of the ELBO and its gradients with respect to the parameters of\ninterest. While the use of Markov chain Monte Carlo (MCMC) techniques such as\nHamiltonian Monte Carlo (HMC) has been previously suggested to achieve this\n[23, 26], the proposed methods require specifying reverse kernels which have a\nlarge impact on performance. Additionally, the resulting unbiased estimator of\nthe ELBO for most MCMC kernels is typically not amenable to the\nreparameterization trick. We show here how to optimally select reverse kernels\nin this setting and, by building upon Hamiltonian Importance Sampling (HIS)\n[17], we obtain a scheme that provides low-variance unbiased estimators of the\nELBO and its gradients using the reparameterization trick. This allows us to\ndevelop a Hamiltonian Variational Auto-Encoder (HVAE). This method can be\nreinterpreted as a target-informed normalizing flow [20] which, within our\ncontext, only requires a few evaluations of the gradient of the sampled\nlikelihood and trivial Jacobian calculations at each iteration.","url_abs":"http://arxiv.org/abs/1805.11328v2","url_pdf":"http://arxiv.org/pdf/1805.11328v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"hamiltonian-variational-auto-encoder","repo_url":"https://github.com/anthonycaterini/hvae-nips","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"hamiltonian-variational-auto-encoder","repo_url":"https://github.com/Daniil-Selikhanovych/h-vae","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"hamiltonian-variational-auto-encoder","repo_url":"https://github.com/clementchadebec/benchmark_VAE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"variational-inference","task_name":"Variational Inference"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1805.11328","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1805.11328"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/clementchadebec/benchmark_VAE","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/anthonycaterini/hvae-nips","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Daniil-Selikhanovych/h-vae","reach":null}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"8f54cda60488d27a","entry":"evaluate","repo":"anthonycaterini/hvae-nips","repo_kind":"official","path":"mnist/training.py","file_url":"https://github.com/anthonycaterini/hvae-nips/blob/HEAD/mnist/training.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8f54cda60488d27a"}},{"code_sha256_prefix":"e44e76a7a6d6f69a","entry":"train","repo":"anthonycaterini/hvae-nips","repo_kind":"official","path":"mnist/training.py","file_url":"https://github.com/anthonycaterini/hvae-nips/blob/HEAD/mnist/training.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e44e76a7a6d6f69a"}},{"code_sha256_prefix":"efc1a284ae93581a","entry":"validate","repo":"anthonycaterini/hvae-nips","repo_kind":"official","path":"mnist/training.py","file_url":"https://github.com/anthonycaterini/hvae-nips/blob/HEAD/mnist/training.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"efc1a284ae93581a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}