{"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/learning-graph-embeddings-for-compositional","title":"Learning Graph Embeddings for Compositional Zero-shot Learning","arxiv_id":"2102.01987","date":"2021-02-03","proceeding":"CVPR 2021 1","authors":["Muhammad Ferjad Naeem","Yongqin Xian","Federico Tombari","Zeynep Akata"],"abstract":"In compositional zero-shot learning, the goal is to recognize unseen compositions (e.g. old dog) of observed visual primitives states (e.g. old, cute) and objects (e.g. car, dog) in the training set. This is challenging because the same state can for example alter the visual appearance of a dog drastically differently from a car. As a solution, we propose a novel graph formulation called Compositional Graph Embedding (CGE) that learns image features, compositional classifiers, and latent representations of visual primitives in an end-to-end manner. The key to our approach is exploiting the dependency between states, objects, and their compositions within a graph structure to enforce the relevant knowledge transfer from seen to unseen compositions. By learning a joint compatibility that encodes semantics between concepts, our model allows for generalization to unseen compositions without relying on an external knowledge base like WordNet. We show that in the challenging generalized compositional zero-shot setting our CGE significantly outperforms the state of the art on MIT-States and UT-Zappos. We also propose a new benchmark for this task based on the recent GQA dataset. Code is available at: https://github.com/ExplainableML/czsl","url_abs":"https://arxiv.org/abs/2102.01987v3","url_pdf":"https://arxiv.org/pdf/2102.01987v3.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":"learning-graph-embeddings-for-compositional","repo_url":"https://github.com/ExplainableML/czsl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"compositional-zero-shot-learning","task_name":"Compositional Zero-Shot Learning"},{"task_slug":"graph-embedding","task_name":"Graph Embedding"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"},{"task_slug":"zero-shot-learning","task_name":"Zero-Shot Learning"}],"methods":[],"datasets_introduced":[{"slug":"c-gqa","name":"C-GQA","full_name":"Compositional GQA"}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2102.01987","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2102.01987"}},"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/ExplainableML/czsl","reach":null}],"summary":{"ran":3,"ran_fixture":1,"ran_draft_wrong":2,"unverified":5},"by_repo_kind":{"official":{"samples":11,"ran":6,"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":11,"samples":[{"code_sha256_prefix":"a4c3261e9df16697","entry":"GCN","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"a4c3261e9df16697"}},{"code_sha256_prefix":"23153de2dcd06e4e","entry":"GCNII","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"23153de2dcd06e4e"}},{"code_sha256_prefix":"f9aa365d6157d80a","entry":"GraphConv","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"f9aa365d6157d80a"}},{"code_sha256_prefix":"59dfef7dc084d2e2","entry":"load_fasttext_embeddings","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"DEP_MISSING","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"59dfef7dc084d2e2"}},{"code_sha256_prefix":"70836815634bc0ed","entry":"normt_spm","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.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":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"70836815634bc0ed"}},{"code_sha256_prefix":"1e6831d413a352af","entry":"spm_to_tensor","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.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":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1e6831d413a352af"}},{"code_sha256_prefix":"e0a33580edfb2903","entry":"GraphConvolution","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"e0a33580edfb2903"}},{"code_sha256_prefix":"4344caddda4a08ee","entry":"GraphFull","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"4344caddda4a08ee"}},{"code_sha256_prefix":"bf0b21a9ebce2d71","entry":"load_glove_embeddings","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"bf0b21a9ebce2d71"}},{"code_sha256_prefix":"b34f3780731416e3","entry":"load_word2vec_embeddings","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"b34f3780731416e3"}},{"code_sha256_prefix":"603286388aa02cb5","entry":"load_word_embeddings","repo":"ExplainableML/czsl","repo_kind":"official","path":"models/graph_method.py","file_url":"https://github.com/ExplainableML/czsl/blob/HEAD/models/graph_method.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"603286388aa02cb5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}