{"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/drop-swap-and-generate-a-self-supervised","title":"Drop, Swap, and Generate: A Self-Supervised Approach for Generating Neural Activity","arxiv_id":"2111.02338","date":"2021-11-03","proceeding":"NeurIPS 2021 12","authors":["Ran Liu","Mehdi Azabou","Max Dabagia","Chi-Heng Lin","Mohammad Gheshlaghi Azar","Keith B. Hengen","Michal Valko","Eva L. Dyer"],"abstract":"Meaningful and simplified representations of neural activity can yield insights into how and what information is being processed within a neural circuit. However, without labels, finding representations that reveal the link between the brain and behavior can be challenging. Here, we introduce a novel unsupervised approach for learning disentangled representations of neural activity called Swap-VAE. Our approach combines a generative modeling framework with an instance-specific alignment loss that tries to maximize the representational similarity between transformed views of the input (brain state). These transformed (or augmented) views are created by dropping out neurons and jittering samples in time, which intuitively should lead the network to a representation that maintains both temporal consistency and invariance to the specific neurons used to represent the neural state. Through evaluations on both synthetic data and neural recordings from hundreds of neurons in different primate brains, we show that it is possible to build representations that disentangle neural datasets along relevant latent dimensions linked to behavior.","url_abs":"https://arxiv.org/abs/2111.02338v1","url_pdf":"https://arxiv.org/pdf/2111.02338v1.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":"drop-swap-and-generate-a-self-supervised","repo_url":"https://github.com/nerdslab/SwapVAE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2111.02338","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2111.02338"}},"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/nerdslab/SwapVAE","reach":null}],"summary":{"ran_draft_wrong":2,"ran":1},"by_repo_kind":{"listed":{"samples":3,"ran":3,"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":"105143705bcb63c8","entry":"l2","repo":"nerdslab/SwapVAE","repo_kind":"listed","path":"vae_kits/model.py","file_url":"https://github.com/nerdslab/SwapVAE/blob/HEAD/vae_kits/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"105143705bcb63c8"}},{"code_sha256_prefix":"807a07d67f9086df","entry":"reconstruction_loss","repo":"nerdslab/SwapVAE","repo_kind":"listed","path":"vae_kits/model.py","file_url":"https://github.com/nerdslab/SwapVAE/blob/HEAD/vae_kits/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"807a07d67f9086df"}},{"code_sha256_prefix":"efd7edba1cce3e4a","entry":"swapVAE_neural","repo":"nerdslab/SwapVAE","repo_kind":"listed","path":"vae_kits/model.py","file_url":"https://github.com/nerdslab/SwapVAE/blob/HEAD/vae_kits/model.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":"efd7edba1cce3e4a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}