{"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-03690","title":"From Moments to Models: Graphon-Mixture Learning for Mixup and Contrastive Learning","arxiv_id":"2510.03690","date":"2025-10-04","proceeding":"ICML","authors":["Ali Azizpour","Reza Ramezanpour","Santiago Segarra"],"abstract":"Real-world graph datasets often arise from mixtures of populations, where graphs are generated by multiple distinct underlying distributions. In this work, we propose a unified framework that explicitly models graph data as a mixture of probabilistic graph generative models represented by graphons. To characterize and estimate these graphons, we leverage graph moments (motif densities) to cluster graphs generated from the same underlying model. We establish a novel theoretical guarantee, deriving a tighter bound showing that graphs sampled from structurally similar graphons exhibit similar motif densities with high probability. This result enables principled estimation of graphon mixture components. We show how incorporating estimated graphon mixture components enhances two widely used downstream paradigms: graph data augmentation via mixup and graph contrastive learning. By conditioning these methods on the underlying generative models, we develop graphon-mixture-aware mixup (GMAM) and model-aware graph contrastive learning (MGCL). Extensive experiments on both simulated and real-world datasets demonstrate strong empirical performance. In supervised learning, GMAM outperforms existing augmentation strategies, achieving new state-of-the-art accuracy on 6 out of 7 datasets. In unsupervised learning, MGCL performs competitively across seven benchmark datasets and achieves the lowest average rank overall.","url_abs":"https://arxiv.org/abs/2510.03690","url_pdf":"https://arxiv.org/pdf/2510.03690","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.03690","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2510.03690"}},"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/aliaaz99/moments2models","reach":{"status":"ok"}}],"summary":{"ran_violates":1,"unverified":11},"by_repo_kind":{"found_in_text":{"samples":12,"ran":1,"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":12,"samples":[{"code_sha256_prefix":"aa5486a3650902d8","entry":"exists","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/sigl.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/sigl.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aa5486a3650902d8"}},{"code_sha256_prefix":"679c3d3d4e876750","entry":"adj_loss_","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"mgcl/losses.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/mgcl/losses.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":"679c3d3d4e876750"}},{"code_sha256_prefix":"1f3f59c44669555c","entry":"count2density","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/compute_motif_densities.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/compute_motif_densities.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":"1f3f59c44669555c"}},{"code_sha256_prefix":"90993a46867ba9fd","entry":"edge_list_reindexed","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/compute_motif_densities.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/compute_motif_densities.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":"90993a46867ba9fd"}},{"code_sha256_prefix":"b58f918f30490ca3","entry":"get_graphon","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/augmentation_utils.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/augmentation_utils.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":"b58f918f30490ca3"}},{"code_sha256_prefix":"2d594e78d5779951","entry":"graph2XY","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/sigl.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/sigl.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":"2d594e78d5779951"}},{"code_sha256_prefix":"da474debf3dfc4a6","entry":"nx2torch2","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/sigl.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/sigl.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":"da474debf3dfc4a6"}},{"code_sha256_prefix":"2d69201d9ccde363","entry":"orca","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/compute_motif_densities.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/compute_motif_densities.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":"2d69201d9ccde363"}},{"code_sha256_prefix":"9dc52931481fad1c","entry":"prepare_dataset_onehot_y","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/augmentation_utils.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/augmentation_utils.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":"9dc52931481fad1c"}},{"code_sha256_prefix":"3148d02a4ac659fa","entry":"stat_graph","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/augmentation_utils.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/augmentation_utils.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":"3148d02a4ac659fa"}},{"code_sha256_prefix":"cd1a8f0d7dcf46b6","entry":"test","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/encoder.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/encoder.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":"cd1a8f0d7dcf46b6"}},{"code_sha256_prefix":"2ba08c7acbc38f37","entry":"train","repo":"aliaaz99/moments2models","repo_kind":"found_in_text","path":"gmam/encoder.py","file_url":"https://github.com/aliaaz99/moments2models/blob/HEAD/gmam/encoder.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":"2ba08c7acbc38f37"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_api"},"syntology_extracted_results":null}