{"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/min-max-optimization-without-gradients","title":"Min-Max Optimization without Gradients: Convergence and Applications to Adversarial ML","arxiv_id":"1909.13806","date":"2019-09-30","proceeding":null,"authors":["Sijia Liu","Songtao Lu","Xiangyi Chen","Yao Feng","Kaidi Xu","Abdullah Al-Dujaili","Minyi Hong","Una-May O'Reilly"],"abstract":"In this paper, we study the problem of constrained robust (min-max) optimization ina black-box setting, where the desired optimizer cannot access the gradients of the objective function but may query its values. We present a principled optimization framework, integrating a zeroth-order (ZO) gradient estimator with an alternating projected stochastic gradient descent-ascent method, where the former only requires a small number of function queries and the later needs just one-step descent/ascent update. We show that the proposed framework, referred to as ZO-Min-Max, has a sub-linear convergence rate under mild conditions and scales gracefully with problem size. From an application side, we explore a promising connection between black-box min-max optimization and black-box evasion and poisoning attacks in adversarial machine learning (ML). Our empirical evaluations on these use cases demonstrate the effectiveness of our approach and its scalability to dimensions that prohibit using recent black-box solvers.","url_abs":"https://arxiv.org/abs/1909.13806v3","url_pdf":"https://arxiv.org/pdf/1909.13806v3.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":"min-max-optimization-without-gradients","repo_url":"https://github.com/KaidiXu/ZO-minmax","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1909.13806","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1909.13806"}},"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/KaidiXu/ZO-minmax","reach":null}],"summary":{"ran_draft_wrong":1,"ran_honours":2},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":3,"samples":[{"code_sha256_prefix":"4ef4cc5639e0d3c7","entry":"generate_data","repo":"KaidiXu/ZO-minmax","repo_kind":"official","path":"Main_poison_attack.py","file_url":"https://github.com/KaidiXu/ZO-minmax/blob/HEAD/Main_poison_attack.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4ef4cc5639e0d3c7"}},{"code_sha256_prefix":"cbcbcd613f12ef19","entry":"sigmoid_truncated","repo":"KaidiXu/ZO-minmax","repo_kind":"official","path":"Main_poison_attack.py","file_url":"https://github.com/KaidiXu/ZO-minmax/blob/HEAD/Main_poison_attack.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cbcbcd613f12ef19"}},{"code_sha256_prefix":"999d566f56be5207","entry":"sigmoid_truncated_vec","repo":"KaidiXu/ZO-minmax","repo_kind":"official","path":"Main_poison_attack.py","file_url":"https://github.com/KaidiXu/ZO-minmax/blob/HEAD/Main_poison_attack.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"999d566f56be5207"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}