{"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/compositional-abilities-emerge","title":"Compositional Abilities Emerge Multiplicatively: Exploring Diffusion Models on a Synthetic Task","arxiv_id":"2310.09336","date":"2023-10-13","proceeding":"NeurIPS 2023 11","authors":["Maya Okawa","Ekdeep Singh Lubana","Robert P. Dick","Hidenori Tanaka"],"abstract":"Modern generative models exhibit unprecedented capabilities to generate extremely realistic data. However, given the inherent compositionality of the real world, reliable use of these models in practical applications requires that they exhibit the capability to compose a novel set of concepts to generate outputs not seen in the training data set. Prior work demonstrates that recent diffusion models do exhibit intriguing compositional generalization abilities, but also fail unpredictably. Motivated by this, we perform a controlled study for understanding compositional generalization in conditional diffusion models in a synthetic setting, varying different attributes of the training data and measuring the model's ability to generate samples out-of-distribution. Our results show: (i) the order in which the ability to generate samples from a concept and compose them emerges is governed by the structure of the underlying data-generating process; (ii) performance on compositional tasks exhibits a sudden \"emergence\" due to multiplicative reliance on the performance of constituent tasks, partially explaining emergent phenomena seen in generative models; and (iii) composing concepts with lower frequency in the training data to generate out-of-distribution samples requires considerably more optimization steps compared to generating in-distribution samples. Overall, our study lays a foundation for understanding capabilities and compositionality in generative models from a data-centric perspective.","url_abs":"https://arxiv.org/abs/2310.09336v4","url_pdf":"https://arxiv.org/pdf/2310.09336v4.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":"compositional-abilities-emerge","repo_url":"https://github.com/phys-ai/concept_graphs","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.09336","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.09336"}},"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":"deterministic:regex_extraction","url":"https://github.com/phys-ai/concept_graphs","reach":{"status":"ok"}}],"summary":{"ran":4,"unverified":2},"by_repo_kind":{"official":{"samples":6,"ran":4,"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":6,"samples":[{"code_sha256_prefix":"42a12d0a4bf4d2e0","entry":"calc_loss","repo":"phys-ai/concept_graphs","repo_kind":"official","path":"plotting.py","file_url":"https://github.com/phys-ai/concept_graphs/blob/HEAD/plotting.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":"42a12d0a4bf4d2e0"}},{"code_sha256_prefix":"9922f18749f562d8","entry":"calc_mse","repo":"phys-ai/concept_graphs","repo_kind":"official","path":"linear_classifier_3classes.py","file_url":"https://github.com/phys-ai/concept_graphs/blob/HEAD/linear_classifier_3classes.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9922f18749f562d8"}},{"code_sha256_prefix":"455a82152e9085bc","entry":"hamming_distance","repo":"phys-ai/concept_graphs","repo_kind":"official","path":"plotting.py","file_url":"https://github.com/phys-ai/concept_graphs/blob/HEAD/plotting.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":"455a82152e9085bc"}},{"code_sha256_prefix":"aeae90635d730ac4","entry":"rescaled_conv","repo":"phys-ai/concept_graphs","repo_kind":"official","path":"plotting.py","file_url":"https://github.com/phys-ai/concept_graphs/blob/HEAD/plotting.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aeae90635d730ac4"}},{"code_sha256_prefix":"56a29e961fdb940c","entry":"evaluate","repo":"phys-ai/concept_graphs","repo_kind":"official","path":"linear_classifier_3classes.py","file_url":"https://github.com/phys-ai/concept_graphs/blob/HEAD/linear_classifier_3classes.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":"56a29e961fdb940c"}},{"code_sha256_prefix":"8948aee3b43279fe","entry":"train","repo":"phys-ai/concept_graphs","repo_kind":"official","path":"linear_classifier_3classes.py","file_url":"https://github.com/phys-ai/concept_graphs/blob/HEAD/linear_classifier_3classes.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":"8948aee3b43279fe"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}