{"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/graph-level-representation-learning-with","title":"Graph-level Representation Learning with Joint-Embedding Predictive Architectures","arxiv_id":"2309.16014","date":"2023-09-27","proceeding":null,"authors":["Geri Skenderi","Hang Li","Jiliang Tang","Marco Cristani"],"abstract":"Joint-Embedding Predictive Architectures (JEPAs) have recently emerged as a novel and powerful technique for self-supervised representation learning. They aim to learn an energy-based model by predicting the latent representation of a target signal y from the latent representation of a context signal x. JEPAs bypass the need for negative and positive samples, traditionally required by contrastive learning while avoiding the overfitting issues associated with generative pretraining. In this paper, we show that graph-level representations can be effectively modeled using this paradigm by proposing a Graph Joint-Embedding Predictive Architecture (Graph-JEPA). In particular, we employ masked modeling and focus on predicting the latent representations of masked subgraphs starting from the latent representation of a context subgraph. To endow the representations with the implicit hierarchy that is often present in graph-level concepts, we devise an alternative prediction objective that consists of predicting the coordinates of the encoded subgraphs on the unit hyperbola in the 2D plane. Through multiple experimental evaluations, we show that Graph-JEPA can learn highly semantic and expressive representations, as shown by the downstream performance in graph classification, regression, and distinguishing non-isomorphic graphs. The code is available at https://github.com/geriskenderi/graph-jepa.","url_abs":"https://arxiv.org/abs/2309.16014v3","url_pdf":"https://arxiv.org/pdf/2309.16014v3.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":"graph-level-representation-learning-with","repo_url":"https://github.com/geriskenderi/graph-jepa","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"graph-classification","task_name":"Graph Classification"},{"task_slug":"graph-regression","task_name":"Graph Regression"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"},{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/graph-classification-on-dd","task":"Graph Classification","dataset":"D&D","model":"Graph-JEPA","rank_in_archive_order":24,"of":53,"metrics":{"Accuracy":"78.64%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-imdb-b","task":"Graph Classification","dataset":"IMDb-B","model":"Graph-JEPA","rank_in_archive_order":29,"of":51,"metrics":{"Accuracy":"73.68%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-imdb-m","task":"Graph Classification","dataset":"IMDb-M","model":"Graph-JEPA","rank_in_archive_order":18,"of":36,"metrics":{"Accuracy":"50.69%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-mutag","task":"Graph Classification","dataset":"MUTAG","model":"Graph-JEPA","rank_in_archive_order":14,"of":74,"metrics":{"Accuracy":"91.25%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-proteins","task":"Graph Classification","dataset":"PROTEINS","model":"Graph-JEPA","rank_in_archive_order":62,"of":103,"metrics":{"Accuracy":"75.67%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-reddit-b","task":"Graph Classification","dataset":"REDDIT-B","model":"Graph-JEPA","rank_in_archive_order":12,"of":12,"metrics":{"Accuracy":"56.73"},"uses_additional_data":false},{"leaderboard":"/sota/graph-regression-on-zinc","task":"Graph Regression","dataset":"ZINC","model":"Graph-JEPA","rank_in_archive_order":27,"of":27,"metrics":{"MAE":"0.434"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.16014","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.16014"}},"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/geriskenderi/graph-jepa","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":7,"ran_draft_wrong":1,"ran_honours":2,"unverified":1},"by_repo_kind":{"official":{"samples":11,"ran":10,"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":"7f955ec40afcef19","entry":"DiscreteEncoder","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/model_utils/feature_encoder.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/model_utils/feature_encoder.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":"7f955ec40afcef19"}},{"code_sha256_prefix":"2be5d5ffa7c2b792","entry":"LapPE","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/data_utils/pe.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/data_utils/pe.py","link_basis":"harvester_set","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":"2be5d5ffa7c2b792"}},{"code_sha256_prefix":"e63f8bb61e55a99d","entry":"RWSE","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/data_utils/pe.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/data_utils/pe.py","link_basis":"harvester_set","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":"e63f8bb61e55a99d"}},{"code_sha256_prefix":"586551d992664067","entry":"cal_coarsen_adj","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/transform.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/transform.py","link_basis":"harvester_set","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":"586551d992664067"}},{"code_sha256_prefix":"6466f9f70510811c","entry":"combine_subgraphs","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/transform.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/transform.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6466f9f70510811c"}},{"code_sha256_prefix":"f6b944f50d3f15ae","entry":"count_parameters","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/trainer.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/trainer.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f6b944f50d3f15ae"}},{"code_sha256_prefix":"3f97bfae7118b1d2","entry":"k_fold","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/trainer.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/trainer.py","link_basis":"harvester_set","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":"3f97bfae7118b1d2"}},{"code_sha256_prefix":"2d2ee0ffa615ecaf","entry":"random_walk","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/data_utils/pe.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/data_utils/pe.py","link_basis":"harvester_set","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":"2d2ee0ffa615ecaf"}},{"code_sha256_prefix":"8039d4f24f678f0b","entry":"to_sparse","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/transform.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/transform.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8039d4f24f678f0b"}},{"code_sha256_prefix":"3764b11a07a3ebd8","entry":"update_cfg","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/config.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/config.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":"3764b11a07a3ebd8"}},{"code_sha256_prefix":"7a15a3fa5bfa6eab","entry":"config_logger","repo":"geriskenderi/graph-jepa","repo_kind":"official","path":"core/log.py","file_url":"https://github.com/geriskenderi/graph-jepa/blob/HEAD/core/log.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":"7a15a3fa5bfa6eab"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}