{"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/poisson-variational-autoencoder","title":"Poisson Variational Autoencoder","arxiv_id":"2405.14473","date":"2024-05-23","proceeding":null,"authors":["Hadi Vafaii","Dekel Galor","Jacob L. Yates"],"abstract":"Variational autoencoders (VAEs) employ Bayesian inference to interpret sensory inputs, mirroring processes that occur in primate vision across both ventral (Higgins et al., 2021) and dorsal (Vafaii et al., 2023) pathways. Despite their success, traditional VAEs rely on continuous latent variables, which deviates sharply from the discrete nature of biological neurons. Here, we developed the Poisson VAE (P-VAE), a novel architecture that combines principles of predictive coding with a VAE that encodes inputs into discrete spike counts. Combining Poisson-distributed latent variables with predictive coding introduces a metabolic cost term in the model loss function, suggesting a relationship with sparse coding which we verify empirically. Additionally, we analyze the geometry of learned representations, contrasting the P-VAE to alternative VAE models. We find that the P-VAE encodes its inputs in relatively higher dimensions, facilitating linear separability of categories in a downstream classification task with a much better (5x) sample efficiency. Our work provides an interpretable computational framework to study brain-like sensory processing and paves the way for a deeper understanding of perception as an inferential process.","url_abs":"https://arxiv.org/abs/2405.14473v2","url_pdf":"https://arxiv.org/pdf/2405.14473v2.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":"poisson-variational-autoencoder","repo_url":"https://github.com/hadivafaii/poissonvae","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"bayesian-inference","task_name":"Bayesian Inference"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.14473","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.14473"}},"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":"deterministic:regex_extraction","url":"https://github.com/hadivafaii/PoissonVAE","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hadivafaii/poissonvae","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"unverified":9},"by_repo_kind":{"official":{"samples":14,"ran":5,"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":"30b09c63b20f61e9","entry":"clf_score","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"analysis/linear.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/analysis/linear.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30b09c63b20f61e9"}},{"code_sha256_prefix":"3b0641f4cd06c379","entry":"fusion1","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/adamax.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/adamax.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3b0641f4cd06c379"}},{"code_sha256_prefix":"26dd100e5899052d","entry":"job_runner_script","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/helper.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/helper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"26dd100e5899052d"}},{"code_sha256_prefix":"a905f358b880a636","entry":"model2key","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/helper.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/helper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a905f358b880a636"}},{"code_sha256_prefix":"6b5dc5e83f74893d","entry":"model2temp","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/helper.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/helper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6b5dc5e83f74893d"}},{"code_sha256_prefix":"0e1c7dcfafaa7aa3","entry":"beta_anneal_cosine","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/utils_model.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/utils_model.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":"0e1c7dcfafaa7aa3"}},{"code_sha256_prefix":"c92aa4adcb3ce16f","entry":"compute_n_exp","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/distributions.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/distributions.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":"c92aa4adcb3ce16f"}},{"code_sha256_prefix":"3851c136f925660d","entry":"get_act_fn","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/common.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/common.py","link_basis":"harvester_set","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":"3851c136f925660d"}},{"code_sha256_prefix":"2063e35da2a2021b","entry":"get_stride","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/common.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/common.py","link_basis":"harvester_set","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":"2063e35da2a2021b"}},{"code_sha256_prefix":"c5d312d61ee2c3b4","entry":"sort_fits","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"analysis/final.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/analysis/final.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":"c5d312d61ee2c3b4"}},{"code_sha256_prefix":"9cbf78f099058bd8","entry":"split_data","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/dataset.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/dataset.py","link_basis":"harvester_set","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":"9cbf78f099058bd8"}},{"code_sha256_prefix":"ec35c8ed9b8fb0bd","entry":"temp_anneal_exp","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/utils_model.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/utils_model.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":"ec35c8ed9b8fb0bd"}},{"code_sha256_prefix":"550668a7c4d3ad87","entry":"temp_anneal_linear","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"base/utils_model.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/base/utils_model.py","link_basis":"harvester_set","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":"550668a7c4d3ad87"}},{"code_sha256_prefix":"b224e1d857b2648a","entry":"untangle_score","repo":"hadivafaii/PoissonVAE","repo_kind":"official","path":"analysis/linear.py","file_url":"https://github.com/hadivafaii/PoissonVAE/blob/HEAD/analysis/linear.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":"b224e1d857b2648a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}