{"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/l2g2g-a-scalable-local-to-global-network","title":"L2G2G: a Scalable Local-to-Global Network Embedding with Graph Autoencoders","arxiv_id":"2402.01614","date":"2024-02-02","proceeding":null,"authors":["Ruikang Ouyang","Andrew Elliott","Stratis Limnios","Mihai Cucuringu","Gesine Reinert"],"abstract":"For analysing real-world networks, graph representation learning is a popular tool. These methods, such as a graph autoencoder (GAE), typically rely on low-dimensional representations, also called embeddings, which are obtained through minimising a loss function; these embeddings are used with a decoder for downstream tasks such as node classification and edge prediction. While GAEs tend to be fairly accurate, they suffer from scalability issues. For improved speed, a Local2Global approach, which combines graph patch embeddings based on eigenvector synchronisation, was shown to be fast and achieve good accuracy. Here we propose L2G2G, a Local2Global method which improves GAE accuracy without sacrificing scalability. This improvement is achieved by dynamically synchronising the latent node representations, while training the GAEs. It also benefits from the decoder computing an only local patch loss. Hence, aligning the local embeddings in each epoch utilises more information from the graph than a single post-training alignment does, while maintaining scalability. We illustrate on synthetic benchmarks, as well as real-world examples, that L2G2G achieves higher accuracy than the standard Local2Global approach and scales efficiently on the larger data sets. We find that for large and dense networks, it even outperforms the slow, but assumed more accurate, GAEs.","url_abs":"https://arxiv.org/abs/2402.01614v1","url_pdf":"https://arxiv.org/pdf/2402.01614v1.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":"l2g2g-a-scalable-local-to-global-network","repo_url":"https://github.com/tonyauyeung/local2gae2global","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"graph-representation-learning","task_name":"Graph Representation Learning"},{"task_slug":"network-embedding","task_name":"Network Embedding"},{"task_slug":"node-classification","task_name":"Node Classification"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2402.01614","atlas_url":"https://app.syntology.ai/?focus=2402.01614","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.01614"}},"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/tonyauyeung/local2gae2global","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"unverified":1},"by_repo_kind":{"official":{"samples":6,"ran":5,"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":"a5ba5294f0a75129","entry":"get_patch_size","repo":"tonyauyeung/local2gae2global","repo_kind":"official","path":"L2G2L/plot.py","file_url":"https://github.com/tonyauyeung/local2gae2global/blob/HEAD/L2G2L/plot.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a5ba5294f0a75129"}},{"code_sha256_prefix":"6f43d13447924bf1","entry":"get_roc_score","repo":"tonyauyeung/local2gae2global","repo_kind":"official","path":"L2G2L/utils.py","file_url":"https://github.com/tonyauyeung/local2gae2global/blob/HEAD/L2G2L/utils.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":"6f43d13447924bf1"}},{"code_sha256_prefix":"8b9bd65d4eff6aa5","entry":"loss_GAE","repo":"tonyauyeung/local2gae2global","repo_kind":"official","path":"L2G2L/functional.py","file_url":"https://github.com/tonyauyeung/local2gae2global/blob/HEAD/L2G2L/functional.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":"8b9bd65d4eff6aa5"}},{"code_sha256_prefix":"a8334ca6d8b7c9e9","entry":"loss_VGAE","repo":"tonyauyeung/local2gae2global","repo_kind":"official","path":"L2G2L/functional.py","file_url":"https://github.com/tonyauyeung/local2gae2global/blob/HEAD/L2G2L/functional.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":"a8334ca6d8b7c9e9"}},{"code_sha256_prefix":"b147978709266742","entry":"synthetic_data","repo":"tonyauyeung/local2gae2global","repo_kind":"official","path":"L2G2L/utils.py","file_url":"https://github.com/tonyauyeung/local2gae2global/blob/HEAD/L2G2L/utils.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":"b147978709266742"}},{"code_sha256_prefix":"84a2672294189c38","entry":"load_data","repo":"tonyauyeung/local2gae2global","repo_kind":"official","path":"L2G2L/utils.py","file_url":"https://github.com/tonyauyeung/local2gae2global/blob/HEAD/L2G2L/utils.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":"84a2672294189c38"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}