{"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/arxiv-2510-04668","title":"ConceptSplit: Decoupled Multi-Concept Personalization of Diffusion Models via Token-wise Adaptation and Attention Disentanglement","arxiv_id":"2510.04668","date":"2025-10-06","proceeding":"ICCV","authors":["Habin Lim","Yeongseob Won","Juwon Seo","Gyeong-Moon Park"],"abstract":"In recent years, multi-concept personalization for text-to-image (T2I) diffusion models to represent several subjects in an image has gained much more attention. The main challenge of this task is \"concept mixing\", where multiple learned concepts interfere or blend undesirably in the output image. To address this issue, in this paper, we present ConceptSplit, a novel framework to split the individual concepts through training and inference. Our framework comprises two key components. First, we introduce Token-wise Value Adaptation (ToVA), a merging-free training method that focuses exclusively on adapting the value projection in cross-attention. Based on our empirical analysis, we found that modifying the key projection, a common approach in existing methods, can disrupt the attention mechanism and lead to concept mixing. Second, we propose Latent Optimization for Disentangled Attention (LODA), which alleviates attention entanglement during inference by optimizing the input latent. Through extensive qualitative and quantitative experiments, we demonstrate that ConceptSplit achieves robust multi-concept personalization, mitigating unintended concept interference. Code is available at https://github.com/KU-VGI/ConceptSplit","url_abs":"https://arxiv.org/abs/2510.04668","url_pdf":"https://arxiv.org/pdf/2510.04668","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2510.04668","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.04668"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/KU-VGI/ConceptSplit","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"unverified":13},"by_repo_kind":{"found_in_text":{"samples":15,"ran":2,"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":"9855e54881af9165","entry":"rescale_noise_cfg","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"pipeline_sdxl_loda.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/pipeline_sdxl_loda.py","link_basis":"harvester_set","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":"9855e54881af9165"}},{"code_sha256_prefix":"f3a81898d239b163","entry":"retrieve_timesteps","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"pipeline_sdxl_loda.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/pipeline_sdxl_loda.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f3a81898d239b163"}},{"code_sha256_prefix":"547c414b5af8000a","entry":"attention_highlight","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"util.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/util.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":"547c414b5af8000a"}},{"code_sha256_prefix":"49b872fd5c5cca1d","entry":"combine_two_attention_maps","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"attention_map.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/attention_map.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":"49b872fd5c5cca1d"}},{"code_sha256_prefix":"bce790f33afa7aff","entry":"compute_dino_embedding_image","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"dino.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/dino.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":"bce790f33afa7aff"}},{"code_sha256_prefix":"dcc339be73c8229f","entry":"filter_concepts_for_B_folders","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"dino.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/dino.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":"dcc339be73c8229f"}},{"code_sha256_prefix":"ef244a83bf4f56ea","entry":"get_object_indices","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"Inference_LODA_2.1_before.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/Inference_LODA_2.1_before.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":"ef244a83bf4f56ea"}},{"code_sha256_prefix":"1b514ffc4c860056","entry":"get_token_indices","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"Inference_LODA_2.1_before.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/Inference_LODA_2.1_before.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":"1b514ffc4c860056"}},{"code_sha256_prefix":"0eb3e94e8635150e","entry":"import_model_class_from_model_name_or_path","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"training_scripts/train_dreambooth_lora_habin.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/training_scripts/train_dreambooth_lora_habin.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":"0eb3e94e8635150e"}},{"code_sha256_prefix":"8c348baf239b20d3","entry":"load_dino","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"dino.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/dino.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":"8c348baf239b20d3"}},{"code_sha256_prefix":"74ab2d24d15218ee","entry":"load_text_encoders","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"training_scripts/train_dreambooth_lora_sd3.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/training_scripts/train_dreambooth_lora_sd3.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":"74ab2d24d15218ee"}},{"code_sha256_prefix":"5d92a0a218f30ecd","entry":"log_validation","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"training_scripts/train_dreambooth_lora_sd3.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/training_scripts/train_dreambooth_lora_sd3.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":"5d92a0a218f30ecd"}},{"code_sha256_prefix":"de20798d82aba24d","entry":"parse_args","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"training_scripts/train_dreambooth_lora_habin.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/training_scripts/train_dreambooth_lora_habin.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":"de20798d82aba24d"}},{"code_sha256_prefix":"2c887e66f7ac41e5","entry":"parse_args","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"training_scripts/train_dreambooth_lora_habin_lora2.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/training_scripts/train_dreambooth_lora_habin_lora2.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":"2c887e66f7ac41e5"}},{"code_sha256_prefix":"7cad54d19507d736","entry":"replace_lora_layers","repo":"KU-VGI/ConceptSplit","repo_kind":"found_in_text","path":"Inference_LODA_2.1_before.py","file_url":"https://github.com/KU-VGI/ConceptSplit/blob/HEAD/Inference_LODA_2.1_before.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":"7cad54d19507d736"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CV","source":"arxiv_api"},"syntology_extracted_results":null}