{"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/towards-representation-alignment-and","title":"Towards Representation Alignment and Uniformity in Collaborative Filtering","arxiv_id":"2206.12811","date":"2022-06-26","proceeding":null,"authors":["Chenyang Wang","Yuanqing Yu","Weizhi Ma","Min Zhang","Chong Chen","Yiqun Liu","Shaoping Ma"],"abstract":"Collaborative filtering (CF) plays a critical role in the development of recommender systems. Most CF methods utilize an encoder to embed users and items into the same representation space, and the Bayesian personalized ranking (BPR) loss is usually adopted as the objective function to learn informative encoders. Existing studies mainly focus on designing more powerful encoders (e.g., graph neural network) to learn better representations. However, few efforts have been devoted to investigating the desired properties of representations in CF, which is important to understand the rationale of existing CF methods and design new learning objectives. In this paper, we measure the representation quality in CF from the perspective of alignment and uniformity on the hypersphere. We first theoretically reveal the connection between the BPR loss and these two properties. Then, we empirically analyze the learning dynamics of typical CF methods in terms of quantified alignment and uniformity, which shows that better alignment or uniformity both contribute to higher recommendation performance. Based on the analyses results, a learning objective that directly optimizes these two properties is proposed, named DirectAU. We conduct extensive experiments on three public datasets, and the proposed learning framework with a simple matrix factorization model leads to significant performance improvements compared to state-of-the-art CF methods. Our implementations are publicly available at https://github.com/THUwangcy/DirectAU.","url_abs":"https://arxiv.org/abs/2206.12811v1","url_pdf":"https://arxiv.org/pdf/2206.12811v1.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":"towards-representation-alignment-and","repo_url":"https://github.com/thuwangcy/directau","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"towards-representation-alignment-and","repo_url":"https://github.com/Mind23-2/MindCode-4/tree/main/bgcf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"collaborative-filtering","task_name":"Collaborative Filtering"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2206.12811","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.12811"}},"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/thuwangcy/directau","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Mind23-2/MindCode-4/tree/main/bgcf","reach":null}],"summary":{"ran":1,"unverified":3},"by_repo_kind":{"official":{"samples":4,"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":0,"samples":[{"code_sha256_prefix":"b5b0bb176f34b7a4","entry":"activation_layer","repo":"thuwangcy/directau","repo_kind":"official","path":"recbole/model/layers.py","file_url":"https://github.com/thuwangcy/directau/blob/HEAD/recbole/model/layers.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":"b5b0bb176f34b7a4"}},{"code_sha256_prefix":"83ba6af9d18dc931","entry":"hit_","repo":"thuwangcy/directau","repo_kind":"official","path":"recbole/evaluator/metrics.py","file_url":"https://github.com/thuwangcy/directau/blob/HEAD/recbole/evaluator/metrics.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":"83ba6af9d18dc931"}},{"code_sha256_prefix":"b789b2a14dd19e0c","entry":"map_","repo":"thuwangcy/directau","repo_kind":"official","path":"recbole/evaluator/metrics.py","file_url":"https://github.com/thuwangcy/directau/blob/HEAD/recbole/evaluator/metrics.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":"b789b2a14dd19e0c"}},{"code_sha256_prefix":"a7dd48dfe868e2d3","entry":"mrr_","repo":"thuwangcy/directau","repo_kind":"official","path":"recbole/evaluator/metrics.py","file_url":"https://github.com/thuwangcy/directau/blob/HEAD/recbole/evaluator/metrics.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":"a7dd48dfe868e2d3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}