{"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/federated-zeroth-order-optimization-using","title":"Federated Zeroth-Order Optimization using Trajectory-Informed Surrogate Gradients","arxiv_id":"2308.04077","date":"2023-08-08","proceeding":null,"authors":["Yao Shu","Xiaoqiang Lin","Zhongxiang Dai","Bryan Kian Hsiang Low"],"abstract":"Federated optimization, an emerging paradigm which finds wide real-world applications such as federated learning, enables multiple clients (e.g., edge devices) to collaboratively optimize a global function. The clients do not share their local datasets and typically only share their local gradients. However, the gradient information is not available in many applications of federated optimization, which hence gives rise to the paradigm of federated zeroth-order optimization (ZOO). Existing federated ZOO algorithms suffer from the limitations of query and communication inefficiency, which can be attributed to (a) their reliance on a substantial number of function queries for gradient estimation and (b) the significant disparity between their realized local updates and the intended global updates. To this end, we (a) introduce trajectory-informed gradient surrogates which is able to use the history of function queries during optimization for accurate and query-efficient gradient estimation, and (b) develop the technique of adaptive gradient correction using these gradient surrogates to mitigate the aforementioned disparity. Based on these, we propose the federated zeroth-order optimization using trajectory-informed surrogate gradients (FZooS) algorithm for query- and communication-efficient federated ZOO. Our FZooS achieves theoretical improvements over the existing approaches, which is supported by our real-world experiments such as federated black-box adversarial attack and federated non-differentiable metric optimization.","url_abs":"https://arxiv.org/abs/2308.04077v1","url_pdf":"https://arxiv.org/pdf/2308.04077v1.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":"federated-zeroth-order-optimization-using","repo_url":"https://github.com/shuyao95/FZooS","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"jax","reach":{"status":"ok"}}],"tasks":[{"task_slug":"adversarial-attack","task_name":"Adversarial Attack"},{"task_slug":"federated-learning","task_name":"Federated Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.04077","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.04077"}},"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/shuyao95/FZooS","reach":{"status":"ok"}}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"47c3e89f2d65df7f","entry":"aggre_grad","repo":"shuyao95/FZooS","repo_kind":"official","path":"settings.py","file_url":"https://github.com/shuyao95/FZooS/blob/HEAD/settings.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"47c3e89f2d65df7f"}},{"code_sha256_prefix":"110946e698911386","entry":"generate_noniid_data","repo":"shuyao95/FZooS","repo_kind":"official","path":"funcs/split_data.py","file_url":"https://github.com/shuyao95/FZooS/blob/HEAD/funcs/split_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"110946e698911386"}},{"code_sha256_prefix":"9d20f20ff1d50bb6","entry":"grad_error","repo":"shuyao95/FZooS","repo_kind":"official","path":"optimizers.py","file_url":"https://github.com/shuyao95/FZooS/blob/HEAD/optimizers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9d20f20ff1d50bb6"}},{"code_sha256_prefix":"c355134e030ec255","entry":"split_by_class","repo":"shuyao95/FZooS","repo_kind":"official","path":"funcs/split_data.py","file_url":"https://github.com/shuyao95/FZooS/blob/HEAD/funcs/split_data.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c355134e030ec255"}},{"code_sha256_prefix":"c178d12a5ffd5466","entry":"get_rff","repo":"shuyao95/FZooS","repo_kind":"official","path":"settings.py","file_url":"https://github.com/shuyao95/FZooS/blob/HEAD/settings.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":"c178d12a5ffd5466"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}