{"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/attentive-clustering-processes","title":"Amortized Probabilistic Detection of Communities in Graphs","arxiv_id":"2010.15727","date":"2020-10-29","proceeding":null,"authors":["Yueqi Wang","Yoonho Lee","Pallab Basu","Juho Lee","Yee Whye Teh","Liam Paninski","Ari Pakman"],"abstract":"Learning community structures in graphs has broad applications across scientific domains. While graph neural networks (GNNs) have been successful in encoding graph structures, existing GNN-based methods for community detection are limited by requiring knowledge of the number of communities in advance, in addition to lacking a proper probabilistic formulation to handle uncertainty. We propose a simple framework for amortized community detection, which addresses both of these issues by combining the expressive power of GNNs with recent methods for amortized clustering. Our models consist of a graph representation backbone that extracts structural information and an amortized clustering network that naturally handles variable numbers of clusters. Both components combine into well-defined models of the posterior distribution of graph communities and are jointly optimized given labeled graphs. At inference time, the models yield parallel samples from the posterior of community labels, quantifying uncertainty in a principled way. We evaluate several models from our framework on synthetic and real datasets, and demonstrate improved performance compared to previous methods. As a separate contribution, we extend recent amortized probabilistic clustering architectures by adding attention modules, which yield further improvements on community detection tasks.","url_abs":"https://arxiv.org/abs/2010.15727v4","url_pdf":"https://arxiv.org/pdf/2010.15727v4.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":"attentive-clustering-processes","repo_url":"https://github.com/aripakman/amortized_community_detection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"attentive-clustering-processes","repo_url":"https://github.com/aripakman/attentive_clustering_processes","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"community-detection","task_name":"Community Detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2010.15727","atlas_url":"https://app.syntology.ai/?focus=2010.15727","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.15727"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/aripakman/attentive_clustering_processes","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/aripakman/amortized_community_detection","reach":null}],"summary":{"ran":3,"ran_draft_wrong":2,"ran_violates":1,"unverified":3},"by_repo_kind":{"official":{"samples":9,"ran":6,"repositories":2}},"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":"13661bd18e3c4a52","entry":"ISAB","repo":"aripakman/amortized_community_detection","repo_kind":"official","path":"acp/models/acp_model.py","file_url":"https://github.com/aripakman/amortized_community_detection/blob/HEAD/acp/models/acp_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"13661bd18e3c4a52"}},{"code_sha256_prefix":"5068848cf579a326","entry":"MAB","repo":"aripakman/amortized_community_detection","repo_kind":"official","path":"acp/models/acp_model.py","file_url":"https://github.com/aripakman/amortized_community_detection/blob/HEAD/acp/models/acp_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5068848cf579a326"}},{"code_sha256_prefix":"adbf1620f21b495a","entry":"PMA","repo":"aripakman/amortized_community_detection","repo_kind":"official","path":"acp/models/acp_model.py","file_url":"https://github.com/aripakman/amortized_community_detection/blob/HEAD/acp/models/acp_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"adbf1620f21b495a"}},{"code_sha256_prefix":"df22064be55eea2e","entry":"get_ATUS","repo":"aripakman/amortized_community_detection","repo_kind":"official","path":"acp/models/acp_model.py","file_url":"https://github.com/aripakman/amortized_community_detection/blob/HEAD/acp/models/acp_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":"df22064be55eea2e"}},{"code_sha256_prefix":"b7481fd09f5acee5","entry":"get_ATUS_batch","repo":"aripakman/amortized_community_detection","repo_kind":"official","path":"acp/models/acp_model.py","file_url":"https://github.com/aripakman/amortized_community_detection/blob/HEAD/acp/models/acp_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b7481fd09f5acee5"}},{"code_sha256_prefix":"b1050fb2a277612d","entry":"load_module","repo":"aripakman/amortized_community_detection","repo_kind":"official","path":"acp/train_acp.py","file_url":"https://github.com/aripakman/amortized_community_detection/blob/HEAD/acp/train_acp.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b1050fb2a277612d"}},{"code_sha256_prefix":"35a8aab4074ebc23","entry":"ACP_Model","repo":"aripakman/amortized_community_detection","repo_kind":"official","path":"acp/models/acp_model.py","file_url":"https://github.com/aripakman/amortized_community_detection/blob/HEAD/acp/models/acp_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":"35a8aab4074ebc23"}},{"code_sha256_prefix":"8f772e11e7c48dd5","entry":"load_module","repo":"aripakman/attentive_clustering_processes","repo_kind":"official","path":"acp/train_acp.py","file_url":"https://github.com/aripakman/attentive_clustering_processes/blob/HEAD/acp/train_acp.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":"8f772e11e7c48dd5"}},{"code_sha256_prefix":"b45ce271447069e5","entry":"relabel","repo":"aripakman/attentive_clustering_processes","repo_kind":"official","path":"acp/models/acp_sampler.py","file_url":"https://github.com/aripakman/attentive_clustering_processes/blob/HEAD/acp/models/acp_sampler.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":"b45ce271447069e5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}