{"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/joint-privacy-enhancement-and-quantization-in","title":"Joint Privacy Enhancement and Quantization in Federated Learning","arxiv_id":"2208.10888","date":"2022-08-23","proceeding":null,"authors":["Natalie Lang","Elad Sofer","Tomer Shaked","Nir Shlezinger"],"abstract":"Federated learning (FL) is an emerging paradigm for training machine learning models using possibly private data available at edge devices. The distributed operation of FL gives rise to challenges that are not encountered in centralized machine learning, including the need to preserve the privacy of the local datasets, and the communication load due to the repeated exchange of updated models. These challenges are often tackled individually via techniques that induce some distortion on the updated models, e.g., local differential privacy (LDP) mechanisms and lossy compression. In this work we propose a method coined joint privacy enhancement and quantization (JoPEQ), which jointly implements lossy compression and privacy enhancement in FL settings. In particular, JoPEQ utilizes vector quantization based on random lattice, a universal compression technique whose byproduct distortion is statistically equivalent to additive noise. This distortion is leveraged to enhance privacy by augmenting the model updates with dedicated multivariate privacy preserving noise. We show that JoPEQ simultaneously quantizes data according to a required bit-rate while holding a desired privacy level, without notably affecting the utility of the learned model. This is shown via analytical LDP guarantees, distortion and convergence bounds derivation, and numerical studies. Finally, we empirically assert that JoPEQ demolishes common attacks known to exploit privacy leakage.","url_abs":"https://arxiv.org/abs/2208.10888v1","url_pdf":"https://arxiv.org/pdf/2208.10888v1.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":"joint-privacy-enhancement-and-quantization-in","repo_url":"https://github.com/langnatalie/jopeq","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"federated-learning","task_name":"Federated Learning"},{"task_slug":"privacy-preserving","task_name":"Privacy Preserving"},{"task_slug":"quantization","task_name":"Quantization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2208.10888","atlas_url":"https://app.syntology.ai/?focus=2208.10888","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2208.10888"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/langnatalie/jopeq","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":"05a9f4d1b483a553","entry":"aggregate_models","repo":"langnatalie/jopeq","repo_kind":"official","path":"federated_utils.py","file_url":"https://github.com/langnatalie/jopeq/blob/HEAD/federated_utils.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":"05a9f4d1b483a553"}},{"code_sha256_prefix":"5e8d1204e415bd16","entry":"data_split","repo":"langnatalie/jopeq","repo_kind":"official","path":"utils.py","file_url":"https://github.com/langnatalie/jopeq/blob/HEAD/utils.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":"5e8d1204e415bd16"}},{"code_sha256_prefix":"09d1407abfdd8ed9","entry":"federated_setup","repo":"langnatalie/jopeq","repo_kind":"official","path":"federated_utils.py","file_url":"https://github.com/langnatalie/jopeq/blob/HEAD/federated_utils.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":"09d1407abfdd8ed9"}},{"code_sha256_prefix":"e4bcf942dad80cfd","entry":"set_gamma","repo":"langnatalie/jopeq","repo_kind":"official","path":"configurations.py","file_url":"https://github.com/langnatalie/jopeq/blob/HEAD/configurations.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":"e4bcf942dad80cfd"}},{"code_sha256_prefix":"1e0ab9933d710b48","entry":"train_one_epoch","repo":"langnatalie/jopeq","repo_kind":"official","path":"utils.py","file_url":"https://github.com/langnatalie/jopeq/blob/HEAD/utils.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":"1e0ab9933d710b48"}},{"code_sha256_prefix":"0f65989bea205408","entry":"data","repo":"langnatalie/jopeq","repo_kind":"official","path":"utils.py","file_url":"https://github.com/langnatalie/jopeq/blob/HEAD/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":"0f65989bea205408"}},{"code_sha256_prefix":"461dfea82df69173","entry":"set_vec_normalization","repo":"langnatalie/jopeq","repo_kind":"official","path":"configurations.py","file_url":"https://github.com/langnatalie/jopeq/blob/HEAD/configurations.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":"461dfea82df69173"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}