{"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/fair-yet-asymptotically-equal-collaborative","title":"Fair yet Asymptotically Equal Collaborative Learning","arxiv_id":"2306.05764","date":"2023-06-09","proceeding":null,"authors":["Xiaoqiang Lin","Xinyi Xu","See-Kiong Ng","Chuan-Sheng Foo","Bryan Kian Hsiang Low"],"abstract":"In collaborative learning with streaming data, nodes (e.g., organizations) jointly and continuously learn a machine learning (ML) model by sharing the latest model updates computed from their latest streaming data. For the more resourceful nodes to be willing to share their model updates, they need to be fairly incentivized. This paper explores an incentive design that guarantees fairness so that nodes receive rewards commensurate to their contributions. Our approach leverages an explore-then-exploit formulation to estimate the nodes' contributions (i.e., exploration) for realizing our theoretically guaranteed fair incentives (i.e., exploitation). However, we observe a \"rich get richer\" phenomenon arising from the existing approaches to guarantee fairness and it discourages the participation of the less resourceful nodes. To remedy this, we additionally preserve asymptotic equality, i.e., less resourceful nodes achieve equal performance eventually to the more resourceful/\"rich\" nodes. We empirically demonstrate in two settings with real-world streaming data: federated online incremental learning and federated reinforcement learning, that our proposed approach outperforms existing baselines in fairness and learning performance while remaining competitive in preserving equality.","url_abs":"https://arxiv.org/abs/2306.05764v1","url_pdf":"https://arxiv.org/pdf/2306.05764v1.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":"fair-yet-asymptotically-equal-collaborative","repo_url":"https://github.com/xqlin98/fair-yet-equal-cml","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"incremental-learning","task_name":"Incremental Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2306.05764","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2306.05764"}},"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":"deterministic:regex_extraction","url":"https://github.com/xqlin98/Fair-yet-Equal-CML","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xqlin98/fair-yet-equal-cml","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":11},"by_repo_kind":{"official":{"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":0,"samples":[{"code_sha256_prefix":"c5736ad6414b0814","entry":"BaseGameModel","repo":"xqlin98/fair-yet-equal-cml","repo_kind":"official","path":"utils/RL_Environment.py","file_url":"https://github.com/xqlin98/fair-yet-equal-cml/blob/HEAD/utils/RL_Environment.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":"c5736ad6414b0814"}},{"code_sha256_prefix":"335b16bdcc52903e","entry":"DDQNTrainer","repo":"xqlin98/fair-yet-equal-cml","repo_kind":"official","path":"utils/RL_Environment.py","file_url":"https://github.com/xqlin98/fair-yet-equal-cml/blob/HEAD/utils/RL_Environment.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":"335b16bdcc52903e"}},{"code_sha256_prefix":"d2cebae41fcbd2cd","entry":"ReplayMemory","repo":"xqlin98/fair-yet-equal-cml","repo_kind":"official","path":"utils/RL_Environment.py","file_url":"https://github.com/xqlin98/fair-yet-equal-cml/blob/HEAD/utils/RL_Environment.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":"d2cebae41fcbd2cd"}},{"code_sha256_prefix":"7a48517be70a2b3a","entry":"VGG11","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/models_defined.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/models_defined.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":"7a48517be70a2b3a"}},{"code_sha256_prefix":"01d7319eacb5ce39","entry":"VGG13","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/models_defined.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/models_defined.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":"01d7319eacb5ce39"}},{"code_sha256_prefix":"3e93e3b0043f1f4b","entry":"VGG16","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/models_defined.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/models_defined.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":"3e93e3b0043f1f4b"}},{"code_sha256_prefix":"e1e5490d48b1ae6f","entry":"averge_models","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/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":"e1e5490d48b1ae6f"}},{"code_sha256_prefix":"e92cdd2c5e37de44","entry":"get_train_valid_indices","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/Data_Prepper.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/Data_Prepper.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":"e92cdd2c5e37de44"}},{"code_sha256_prefix":"38ad362487fa886e","entry":"powerlaw","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/Data_Prepper.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/Data_Prepper.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":"38ad362487fa886e"}},{"code_sha256_prefix":"9f8295bcd2930adb","entry":"scale_grad","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/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":"9f8295bcd2930adb"}},{"code_sha256_prefix":"ba35fed1b44e7786","entry":"split_torchtext_dataset_ratios","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/Data_Prepper.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/Data_Prepper.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":"ba35fed1b44e7786"}},{"code_sha256_prefix":"2d2dd5624dd3f57a","entry":"translate_grad","repo":"xqlin98/Fair-yet-Equal-CML","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/xqlin98/Fair-yet-Equal-CML/blob/HEAD/utils/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":"2d2dd5624dd3f57a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}