{"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/agnostic-federated-learning","title":"Agnostic Federated Learning","arxiv_id":"1902.00146","date":"2019-02-01","proceeding":null,"authors":["Mehryar Mohri","Gary Sivek","Ananda Theertha Suresh"],"abstract":"A key learning scenario in large-scale applications is that of federated\nlearning, where a centralized model is trained based on data originating from a\nlarge number of clients. We argue that, with the existing training and\ninference, federated models can be biased towards different clients. Instead,\nwe propose a new framework of agnostic federated learning, where the\ncentralized model is optimized for any target distribution formed by a mixture\nof the client distributions. We further show that this framework naturally\nyields a notion of fairness. We present data-dependent Rademacher complexity\nguarantees for learning with this objective, which guide the definition of an\nalgorithm for agnostic federated learning. We also give a fast stochastic\noptimization algorithm for solving the corresponding optimization problem, for\nwhich we prove convergence bounds, assuming a convex loss function and\nhypothesis set. We further empirically demonstrate the benefits of our approach\nin several datasets. Beyond federated learning, our framework and algorithm can\nbe of interest to other learning scenarios such as cloud computing, domain\nadaptation, drifting, and other contexts where the training and test\ndistributions do not coincide.","url_abs":"http://arxiv.org/abs/1902.00146v1","url_pdf":"http://arxiv.org/pdf/1902.00146v1.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":"agnostic-federated-learning","repo_url":"https://github.com/MLOPTPSU/FedTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"agnostic-federated-learning","repo_url":"https://github.com/MLOPTPSU/TorchFed","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-2.0"}},{"paper_slug":"agnostic-federated-learning","repo_url":"https://github.com/cuis15/FCFL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"agnostic-federated-learning","repo_url":"https://github.com/fairfl/FCFL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"agnostic-federated-learning","repo_url":"https://github.com/fairfl/FUEL","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"agnostic-federated-learning","repo_url":"https://github.com/litian96/fair_flearn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"agnostic-federated-learning","repo_url":"https://github.com/vaseline555/aaggff","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"cloud-computing","task_name":"Cloud Computing"},{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"stochastic-optimization","task_name":"Stochastic Optimization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1902.00146","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1902.00146"}},"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/MLOPTPSU/FedTorch","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/fairfl/FCFL","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cuis15/FCFL","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MLOPTPSU/TorchFed","reach":{"status":"ok","spdx":"GPL-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/litian96/fair_flearn","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/fairfl/FUEL","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vaseline555/aaggff","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"ran_violates":1,"ran_fixture":1,"unverified":7},"by_repo_kind":{"listed":{"samples":10,"ran":3,"repositories":2}},"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":"d749254a20b52f05","entry":"find_means_for_continuous_types","repo":"fairfl/FCFL","repo_kind":"listed","path":"FUEL/dataset_generate.py","file_url":"https://github.com/fairfl/FCFL/blob/HEAD/FUEL/dataset_generate.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d749254a20b52f05"}},{"code_sha256_prefix":"dd69c2e2e8f79e3a","entry":"isFloat","repo":"fairfl/FCFL","repo_kind":"listed","path":"FUEL/dataset_generate.py","file_url":"https://github.com/fairfl/FCFL/blob/HEAD/FUEL/dataset_generate.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dd69c2e2e8f79e3a"}},{"code_sha256_prefix":"6509d4b83913ec5b","entry":"prepare_data","repo":"fairfl/FCFL","repo_kind":"listed","path":"FUEL/dataset_generate.py","file_url":"https://github.com/fairfl/FCFL/blob/HEAD/FUEL/dataset_generate.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6509d4b83913ec5b"}},{"code_sha256_prefix":"85629ba2ef2046f9","entry":"concave_fun","repo":"fairfl/FUEL","repo_kind":"listed","path":"FUEL/utils.py","file_url":"https://github.com/fairfl/FUEL/blob/HEAD/FUEL/utils.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":"85629ba2ef2046f9"}},{"code_sha256_prefix":"a03246af7c71643d","entry":"concave_fun_eval","repo":"fairfl/FUEL","repo_kind":"listed","path":"FUEL/synthetic/utils.py","file_url":"https://github.com/fairfl/FUEL/blob/HEAD/FUEL/synthetic/utils.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":"a03246af7c71643d"}},{"code_sha256_prefix":"f9bb42bc79562af5","entry":"construct_log","repo":"fairfl/FUEL","repo_kind":"listed","path":"FUEL/utils.py","file_url":"https://github.com/fairfl/FUEL/blob/HEAD/FUEL/utils.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":"f9bb42bc79562af5"}},{"code_sha256_prefix":"63aab5e7619728e3","entry":"f1","repo":"fairfl/FUEL","repo_kind":"listed","path":"FUEL/synthetic/utils.py","file_url":"https://github.com/fairfl/FUEL/blob/HEAD/FUEL/synthetic/utils.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":"63aab5e7619728e3"}},{"code_sha256_prefix":"8bdf4363c98a9708","entry":"f2","repo":"fairfl/FUEL","repo_kind":"listed","path":"FUEL/synthetic/utils.py","file_url":"https://github.com/fairfl/FUEL/blob/HEAD/FUEL/synthetic/utils.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":"8bdf4363c98a9708"}},{"code_sha256_prefix":"19c3adf4dc402137","entry":"format_axes","repo":"fairfl/FUEL","repo_kind":"listed","path":"FUEL/synthetic/latex_utils.py","file_url":"https://github.com/fairfl/FUEL/blob/HEAD/FUEL/synthetic/latex_utils.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":"19c3adf4dc402137"}},{"code_sha256_prefix":"79c283c686e75fbe","entry":"read_data","repo":"fairfl/FUEL","repo_kind":"listed","path":"FUEL/utils.py","file_url":"https://github.com/fairfl/FUEL/blob/HEAD/FUEL/utils.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":"79c283c686e75fbe"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}