{"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/differentially-private-cross-silo-federated","title":"Differentially private cross-silo federated learning","arxiv_id":"2007.05553","date":"2020-07-10","proceeding":null,"authors":["Mikko A. Heikkilä","Antti Koskela","Kana Shimizu","Samuel Kaski","Antti Honkela"],"abstract":"Strict privacy is of paramount importance in distributed machine learning. Federated learning, with the main idea of communicating only what is needed for learning, has been recently introduced as a general approach for distributed learning to enhance learning and improve security. However, federated learning by itself does not guarantee any privacy for data subjects. To quantify and control how much privacy is compromised in the worst-case, we can use differential privacy. In this paper we combine additively homomorphic secure summation protocols with differential privacy in the so-called cross-silo federated learning setting. The goal is to learn complex models like neural networks while guaranteeing strict privacy for the individual data subjects. We demonstrate that our proposed solutions give prediction accuracy that is comparable to the non-distributed setting, and are fast enough to enable learning models with millions of parameters in a reasonable time. To enable learning under strict privacy guarantees that need privacy amplification by subsampling, we present a general algorithm for oblivious distributed subsampling. However, we also argue that when malicious parties are present, a simple approach using distributed Poisson subsampling gives better privacy. Finally, we show that by leveraging random projections we can further scale-up our approach to larger models while suffering only a modest performance loss.","url_abs":"https://arxiv.org/abs/2007.05553v1","url_pdf":"https://arxiv.org/pdf/2007.05553v1.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":"differentially-private-cross-silo-federated","repo_url":"https://github.com/DPBayes/DP-cross-silo-federated-learning","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.05553","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.05553"}},"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/DPBayes/DP-cross-silo-federated-learning","reach":null}],"summary":{"ran_draft_wrong":1,"ran_honours":1,"unverified":2},"by_repo_kind":{"official":{"samples":4,"ran":2,"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":"4926b2bd4543e594","entry":"generate_proj_matrix","repo":"DPBayes/DP-cross-silo-federated-learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/DPBayes/DP-cross-silo-federated-learning/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4926b2bd4543e594"}},{"code_sha256_prefix":"95860179ce1990cc","entry":"generate_proj_matrix_piece","repo":"DPBayes/DP-cross-silo-federated-learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/DPBayes/DP-cross-silo-federated-learning/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"95860179ce1990cc"}},{"code_sha256_prefix":"5c3c9e248f550907","entry":"check_for_weights","repo":"DPBayes/DP-cross-silo-federated-learning","repo_kind":"official","path":"run_client.py","file_url":"https://github.com/DPBayes/DP-cross-silo-federated-learning/blob/HEAD/run_client.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5c3c9e248f550907"}},{"code_sha256_prefix":"960fe2c193bb454d","entry":"do_proj_in_steps","repo":"DPBayes/DP-cross-silo-federated-learning","repo_kind":"official","path":"utils.py","file_url":"https://github.com/DPBayes/DP-cross-silo-federated-learning/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"960fe2c193bb454d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}