{"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/understanding-and-improving-adversarial-1","title":"Understanding and Improving Adversarial Collaborative Filtering for Robust Recommendation","arxiv_id":"2410.22844","date":"2024-10-30","proceeding":null,"authors":["Kaike Zhang","Qi Cao","Yunfan Wu","Fei Sun","HuaWei Shen","Xueqi Cheng"],"abstract":"Adversarial Collaborative Filtering (ACF), which typically applies adversarial perturbations at user and item embeddings through adversarial training, is widely recognized as an effective strategy for enhancing the robustness of Collaborative Filtering (CF) recommender systems against poisoning attacks. Besides, numerous studies have empirically shown that ACF can also improve recommendation performance compared to traditional CF. Despite these empirical successes, the theoretical understanding of ACF's effectiveness in terms of both performance and robustness remains unclear. To bridge this gap, in this paper, we first theoretically show that ACF can achieve a lower recommendation error compared to traditional CF with the same training epochs in both clean and poisoned data contexts. Furthermore, by establishing bounds for reductions in recommendation error during ACF's optimization process, we find that applying personalized magnitudes of perturbation for different users based on their embedding scales can further improve ACF's effectiveness. Building on these theoretical understandings, we propose Personalized Magnitude Adversarial Collaborative Filtering (PamaCF). Extensive experiments demonstrate that PamaCF effectively defends against various types of poisoning attacks while significantly enhancing recommendation performance.","url_abs":"https://arxiv.org/abs/2410.22844v2","url_pdf":"https://arxiv.org/pdf/2410.22844v2.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":"understanding-and-improving-adversarial-1","repo_url":"https://github.com/Kaike-Zhang/PamaCF","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"collaborative-filtering","task_name":"Collaborative Filtering"},{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2410.22844","atlas_url":"https://app.syntology.ai/?focus=2410.22844","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.22844"}},"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":"deterministic:regex_extraction","url":"https://github.com/Kaike-Zhang/PamaCF","reach":null}],"summary":{"ran_draft_wrong":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":4,"samples":[{"code_sha256_prefix":"6e95768bb4c4e402","entry":"batch_split","repo":"Kaike-Zhang/PamaCF","repo_kind":"official","path":"utls/trainer.py","file_url":"https://github.com/Kaike-Zhang/PamaCF/blob/HEAD/utls/trainer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6e95768bb4c4e402"}},{"code_sha256_prefix":"f7bdc1f79ad55ddf","entry":"BasicTrainer","repo":"Kaike-Zhang/PamaCF","repo_kind":"official","path":"utls/trainer.py","file_url":"https://github.com/Kaike-Zhang/PamaCF/blob/HEAD/utls/trainer.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":"f7bdc1f79ad55ddf"}},{"code_sha256_prefix":"c5e9acf41755b429","entry":"CFTrainer","repo":"Kaike-Zhang/PamaCF","repo_kind":"official","path":"utls/trainer.py","file_url":"https://github.com/Kaike-Zhang/PamaCF/blob/HEAD/utls/trainer.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":"c5e9acf41755b429"}},{"code_sha256_prefix":"ba68eb8891f7afcc","entry":"PamaCFCFTrainer","repo":"Kaike-Zhang/PamaCF","repo_kind":"official","path":"utls/trainer.py","file_url":"https://github.com/Kaike-Zhang/PamaCF/blob/HEAD/utls/trainer.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":"ba68eb8891f7afcc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}