{"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/dance-of-snn-and-ann-solving-binding-problem","title":"Dance of SNN and ANN: Solving binding problem by combining spike timing and reconstructive attention","arxiv_id":"2211.06027","date":"2022-11-11","proceeding":null,"authors":["Hao Zheng","Hui Lin","Rong Zhao","Luping Shi"],"abstract":"The binding problem is one of the fundamental challenges that prevent the artificial neural network (ANNs) from a compositional understanding of the world like human perception, because disentangled and distributed representations of generative factors can interfere and lead to ambiguity when complex data with multiple objects are presented. In this paper, we propose a brain-inspired hybrid neural network (HNN) that introduces temporal binding theory originated from neuroscience into ANNs by integrating spike timing dynamics (via spiking neural networks, SNNs) with reconstructive attention (by ANNs). Spike timing provides an additional dimension for grouping, while reconstructive feedback coordinates the spikes into temporal coherent states. Through iterative interaction of ANN and SNN, the model continuously binds multiple objects at alternative synchronous firing times in the SNN coding space. The effectiveness of the model is evaluated on synthetic datasets of binary images. By visualization and analysis, we demonstrate that the binding is explainable, soft, flexible, and hierarchical. Notably, the model is trained on single object datasets without explicit supervision on grouping, but successfully binds multiple objects on test datasets, showing its compositional generalization capability. Further results show its binding ability in dynamic situations.","url_abs":"https://arxiv.org/abs/2211.06027v1","url_pdf":"https://arxiv.org/pdf/2211.06027v1.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":"dance-of-snn-and-ann-solving-binding-problem","repo_url":"https://github.com/monstersecond/dasbe","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2211.06027","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2211.06027"}},"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/monstersecond/dasbe","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":19},"by_repo_kind":{"official":{"samples":19,"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":"28c5ed203480394d","entry":"AMD","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/FCA.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/FCA.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":"28c5ed203480394d"}},{"code_sha256_prefix":"ac86559467765750","entry":"STP","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/clustering_dynamics_for_moving_shapes.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/clustering_dynamics_for_moving_shapes.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":"ac86559467765750"}},{"code_sha256_prefix":"8a02ba3d68b706eb","entry":"closest_spike","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/FCA.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/FCA.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":"8a02ba3d68b706eb"}},{"code_sha256_prefix":"b6f20ec5de38ee3f","entry":"coloring","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/analysis.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/analysis.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":"b6f20ec5de38ee3f"}},{"code_sha256_prefix":"f74c98a52238830a","entry":"draw_spike_rasters","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/clustering_dynamics_for_moving_shapes.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/clustering_dynamics_for_moving_shapes.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":"f74c98a52238830a"}},{"code_sha256_prefix":"2bc750b35f3791c6","entry":"gain_dataset","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/dataset_utils.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/dataset_utils.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":"2bc750b35f3791c6"}},{"code_sha256_prefix":"aebc79e03b939058","entry":"gain_verf_dataset","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/dataset_utils.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/dataset_utils.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":"aebc79e03b939058"}},{"code_sha256_prefix":"6275a213188e50ce","entry":"labeled_synchrony_measure","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/analysis.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/analysis.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":"6275a213188e50ce"}},{"code_sha256_prefix":"54b4a90afc252038","entry":"loss_function","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/bcdae.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/bcdae.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":"54b4a90afc252038"}},{"code_sha256_prefix":"acc54adbeafc8bec","entry":"lr_scheduler","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/train_clrnet.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/train_clrnet.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":"acc54adbeafc8bec"}},{"code_sha256_prefix":"02df8fd7598f2c2b","entry":"lr_scheduler","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/train_net.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/train_net.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":"02df8fd7598f2c2b"}},{"code_sha256_prefix":"8236edfb89b917e9","entry":"mem_update","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/clrnet.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/clrnet.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":"8236edfb89b917e9"}},{"code_sha256_prefix":"2d019e6a74bcc670","entry":"mem_update","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/bae.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/bae.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":"2d019e6a74bcc670"}},{"code_sha256_prefix":"a711131847150061","entry":"mem_update","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/bcdae.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/bcdae.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":"a711131847150061"}},{"code_sha256_prefix":"85588c3105bff2e3","entry":"open_dataset","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/dataset_utils.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/dataset_utils.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":"85588c3105bff2e3"}},{"code_sha256_prefix":"6c3c2753d20d541b","entry":"salt_pepper_noise","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/train_clrnet.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/train_clrnet.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":"6c3c2753d20d541b"}},{"code_sha256_prefix":"2e51eb1df3b40f53","entry":"salt_pepper_noise","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/train_net.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/train_net.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":"2e51eb1df3b40f53"}},{"code_sha256_prefix":"ad4bdc3d88d64152","entry":"salt_pepper_noise_range","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/train_net.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/train_net.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":"ad4bdc3d88d64152"}},{"code_sha256_prefix":"a95e06074f341f38","entry":"victor_purpura_metric","repo":"monstersecond/dasbe","repo_kind":"official","path":"dasbe/FCA.py","file_url":"https://github.com/monstersecond/dasbe/blob/HEAD/dasbe/FCA.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":"a95e06074f341f38"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}