{"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/learning-representations-by-maximizing-mutual-1","title":"Learning Representations by Maximizing Mutual Information in Variational Autoencoders","arxiv_id":"1912.13361","date":"2019-12-21","proceeding":null,"authors":["Ali Lotfi Rezaabad","Sriram Vishwanath"],"abstract":"Variational autoencoders (VAEs) have ushered in a new era of unsupervised learning methods for complex distributions. Although these techniques are elegant in their approach, they are typically not useful for representation learning. In this work, we propose a simple yet powerful class of VAEs that simultaneously result in meaningful learned representations. Our solution is to combine traditional VAEs with mutual information maximization, with the goal to enhance amortized inference in VAEs using Information Theoretic techniques. We call this approach InfoMax-VAE, and such an approach can significantly boost the quality of learned high-level representations. We realize this through the explicit maximization of information measures associated with the representation. Using extensive experiments on varied datasets and setups, we show that InfoMax-VAE outperforms contemporary popular approaches, including Info-VAE and $\\beta$-VAE.","url_abs":"https://arxiv.org/abs/1912.13361v2","url_pdf":"https://arxiv.org/pdf/1912.13361v2.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":"learning-representations-by-maximizing-mutual-1","repo_url":"https://github.com/AliLotfi92/InfoMaxVAE","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1912.13361","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1912.13361"}},"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/AliLotfi92/InfoMaxVAE","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"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":"e2b32150c6b95a82","entry":"convert_to_display","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"CelebA/PlainVAE_CelebA.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/CelebA/PlainVAE_CelebA.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e2b32150c6b95a82"}},{"code_sha256_prefix":"309c19c3f9484791","entry":"convert_to_display","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"309c19c3f9484791"}},{"code_sha256_prefix":"36190b3f24d53e67","entry":"kl_divergence","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"CelebA/InfoMaxVAE_CelebA.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/CelebA/InfoMaxVAE_CelebA.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"36190b3f24d53e67"}},{"code_sha256_prefix":"c1a0329ea6182b87","entry":"kl_divergence","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"utils/loss.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/utils/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c1a0329ea6182b87"}},{"code_sha256_prefix":"68b1f50a35ec7994","entry":"loader","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"dataset/dataset_.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/dataset/dataset_.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"68b1f50a35ec7994"}},{"code_sha256_prefix":"13a30cfa55277118","entry":"parameters","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"13a30cfa55277118"}},{"code_sha256_prefix":"9e911ad18485a28c","entry":"permute_dims","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"CelebA/InfoMaxVAE_CelebA.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/CelebA/InfoMaxVAE_CelebA.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9e911ad18485a28c"}},{"code_sha256_prefix":"9a3ba4d460e494a8","entry":"permute_dims","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9a3ba4d460e494a8"}},{"code_sha256_prefix":"012b56d45e310b3b","entry":"recon_loss","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"CelebA/InfoMaxVAE_CelebA.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/CelebA/InfoMaxVAE_CelebA.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"012b56d45e310b3b"}},{"code_sha256_prefix":"3b85f05b6edb9652","entry":"recon_loss","repo":"AliLotfi92/InfoMaxVAE","repo_kind":"official","path":"utils/loss.py","file_url":"https://github.com/AliLotfi92/InfoMaxVAE/blob/HEAD/utils/loss.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3b85f05b6edb9652"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}