{"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/object-centric-learning-with-slot-attention","title":"Object-Centric Learning with Slot Attention","arxiv_id":"2006.15055","date":"2020-06-26","proceeding":"NeurIPS 2020 12","authors":["Francesco Locatello","Dirk Weissenborn","Thomas Unterthiner","Aravindh Mahendran","Georg Heigold","Jakob Uszkoreit","Alexey Dosovitskiy","Thomas Kipf"],"abstract":"Learning object-centric representations of complex scenes is a promising step towards enabling efficient abstract reasoning from low-level perceptual features. Yet, most deep learning approaches learn distributed representations that do not capture the compositional properties of natural scenes. In this paper, we present the Slot Attention module, an architectural component that interfaces with perceptual representations such as the output of a convolutional neural network and produces a set of task-dependent abstract representations which we call slots. These slots are exchangeable and can bind to any object in the input by specializing through a competitive procedure over multiple rounds of attention. We empirically demonstrate that Slot Attention can extract object-centric representations that enable generalization to unseen compositions when trained on unsupervised object discovery and supervised property prediction tasks.","url_abs":"https://arxiv.org/abs/2006.15055v2","url_pdf":"https://arxiv.org/pdf/2006.15055v2.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":"object-centric-learning-with-slot-attention","repo_url":"https://github.com/google-research/google-research/tree/master/slot_attention","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":null},{"paper_slug":"object-centric-learning-with-slot-attention","repo_url":"https://github.com/HHousen/object-discovery-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"object-centric-learning-with-slot-attention","repo_url":"https://github.com/a-imamshah/savi-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"object-centric-learning-with-slot-attention","repo_url":"https://github.com/a-imamshah/slotattention.jl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"object-centric-learning-with-slot-attention","repo_url":"https://github.com/adityabingi/Slot-Attention","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"object-centric-learning-with-slot-attention","repo_url":"https://github.com/lucidrains/slot-attention","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"object-centric-learning-with-slot-attention","repo_url":"https://github.com/untitled-ai/slot_attention","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"object-centric-learning-with-slot-attention","repo_url":"https://github.com/Michedev/slot-attention-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"object","task_name":"Object"},{"task_slug":"object-discovery","task_name":"Object Discovery"},{"task_slug":"property-prediction","task_name":"Property Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.15055","atlas_url":"https://app.syntology.ai/?focus=2006.15055","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.15055"}},"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/HHousen/object-discovery-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lucidrains/slot-attention","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/a-imamshah/savi-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/a-imamshah/slotattention.jl","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/google-research/google-research/tree/master/slot_attention","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Michedev/slot-attention-pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/untitled-ai/slot_attention","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/adityabingi/Slot-Attention","reach":null}],"summary":{"ran":8,"ran_draft_wrong":5,"ran_honours":1,"unverified":7},"by_repo_kind":{"official":{"samples":1,"ran":0,"repositories":1},"listed":{"samples":20,"ran":14,"repositories":6}},"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":7,"samples":[{"code_sha256_prefix":"e1aebfe322a32f90","entry":"Corrector","repo":"a-imamshah/savi-pytorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/a-imamshah/savi-pytorch/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e1aebfe322a32f90"}},{"code_sha256_prefix":"36ddba1f54930ede","entry":"SAViParams","repo":"a-imamshah/savi-pytorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/a-imamshah/savi-pytorch/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"36ddba1f54930ede"}},{"code_sha256_prefix":"8a880cb0b42760d3","entry":"SlotAttention","repo":"lucidrains/slot-attention","repo_kind":"listed","path":"slot_attention/slot_attention.py","file_url":"https://github.com/lucidrains/slot-attention/blob/HEAD/slot_attention/slot_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8a880cb0b42760d3"}},{"code_sha256_prefix":"2866aea2f2e12f24","entry":"SlotAttention","repo":"HHousen/object-discovery-pytorch","repo_kind":"listed","path":"object_discovery/slot_attention_model.py","file_url":"https://github.com/HHousen/object-discovery-pytorch/blob/HEAD/object_discovery/slot_attention_model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2866aea2f2e12f24"}},{"code_sha256_prefix":"6976478c1fa514f0","entry":"SlotAttention","repo":"untitled-ai/slot_attention","repo_kind":"listed","path":"slot_attention/model.py","file_url":"https://github.com/untitled-ai/slot_attention/blob/HEAD/slot_attention/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6976478c1fa514f0"}},{"code_sha256_prefix":"423454f6dee02cea","entry":"SlotAttention","repo":"adityabingi/Slot-Attention","repo_kind":"listed","path":"model.py","file_url":"https://github.com/adityabingi/Slot-Attention/blob/HEAD/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":"423454f6dee02cea"}},{"code_sha256_prefix":"4032cffa99401bb9","entry":"SlotAttentionModule","repo":"Michedev/slot-attention-pytorch","repo_kind":"listed","path":"slot_attention_pytorch/slot_attention_module.py","file_url":"https://github.com/Michedev/slot-attention-pytorch/blob/HEAD/slot_attention_pytorch/slot_attention_module.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":"4032cffa99401bb9"}},{"code_sha256_prefix":"b63e60d7d9b40cf2","entry":"SoftPositionEmbed","repo":"a-imamshah/savi-pytorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/a-imamshah/savi-pytorch/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b63e60d7d9b40cf2"}},{"code_sha256_prefix":"dc25809a5c10c08d","entry":"build_grid","repo":"a-imamshah/savi-pytorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/a-imamshah/savi-pytorch/blob/HEAD/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dc25809a5c10c08d"}},{"code_sha256_prefix":"a841bb8d8f1cb615","entry":"conv_transpose_out_shape","repo":"a-imamshah/savi-pytorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/a-imamshah/savi-pytorch/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a841bb8d8f1cb615"}},{"code_sha256_prefix":"4d2babbfd7692155","entry":"gru_cell","repo":"HHousen/object-discovery-pytorch","repo_kind":"listed","path":"object_discovery/slot_attention_model.py","file_url":"https://github.com/HHousen/object-discovery-pytorch/blob/HEAD/object_discovery/slot_attention_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4d2babbfd7692155"}},{"code_sha256_prefix":"fdf3401cb2b8d73a","entry":"l1norm","repo":"lucidrains/slot-attention","repo_kind":"listed","path":"slot_attention/slot_attention.py","file_url":"https://github.com/lucidrains/slot-attention/blob/HEAD/slot_attention/slot_attention.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fdf3401cb2b8d73a"}},{"code_sha256_prefix":"f3e9841706a261f0","entry":"l1norm","repo":"lucidrains/slot-attention","repo_kind":"listed","path":"slot_attention/slot_attention.py","file_url":"https://github.com/lucidrains/slot-attention/blob/HEAD/slot_attention/slot_attention.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":"f3e9841706a261f0"}},{"code_sha256_prefix":"e6a98db4b3460c98","entry":"linear","repo":"HHousen/object-discovery-pytorch","repo_kind":"listed","path":"object_discovery/slot_attention_model.py","file_url":"https://github.com/HHousen/object-discovery-pytorch/blob/HEAD/object_discovery/slot_attention_model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e6a98db4b3460c98"}},{"code_sha256_prefix":"fc3484e23be41e9a","entry":"SAViModel","repo":"a-imamshah/savi-pytorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/a-imamshah/savi-pytorch/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fc3484e23be41e9a"}},{"code_sha256_prefix":"d27f9166117666a4","entry":"SlotAttention","repo":"google-research/google-research","repo_kind":"official","path":"slot_attention/model.py","file_url":"https://github.com/google-research/google-research/blob/HEAD/slot_attention/model.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":"d27f9166117666a4"}},{"code_sha256_prefix":"79554477c54457b2","entry":"assert_shape","repo":"HHousen/object-discovery-pytorch","repo_kind":"listed","path":"object_discovery/slot_attention_model.py","file_url":"https://github.com/HHousen/object-discovery-pytorch/blob/HEAD/object_discovery/slot_attention_model.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":"79554477c54457b2"}},{"code_sha256_prefix":"85fd1318e1fa8108","entry":"assert_shape","repo":"a-imamshah/savi-pytorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/a-imamshah/savi-pytorch/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"85fd1318e1fa8108"}},{"code_sha256_prefix":"b59864b89b5b89e0","entry":"assert_shape","repo":"untitled-ai/slot_attention","repo_kind":"listed","path":"slot_attention/model.py","file_url":"https://github.com/untitled-ai/slot_attention/blob/HEAD/slot_attention/model.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":"b59864b89b5b89e0"}},{"code_sha256_prefix":"1c5befd817fba622","entry":"default","repo":"lucidrains/slot-attention","repo_kind":"listed","path":"slot_attention/slot_attention.py","file_url":"https://github.com/lucidrains/slot-attention/blob/HEAD/slot_attention/slot_attention.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1c5befd817fba622"}},{"code_sha256_prefix":"2ad948e611d0af02","entry":"exists","repo":"lucidrains/slot-attention","repo_kind":"listed","path":"slot_attention/slot_attention.py","file_url":"https://github.com/lucidrains/slot-attention/blob/HEAD/slot_attention/slot_attention.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2ad948e611d0af02"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}