{"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/tiada-a-time-scale-adaptive-algorithm-for","title":"TiAda: A Time-scale Adaptive Algorithm for Nonconvex Minimax Optimization","arxiv_id":"2210.17478","date":"2022-10-31","proceeding":null,"authors":["Xiang Li","Junchi Yang","Niao He"],"abstract":"Adaptive gradient methods have shown their ability to adjust the stepsizes on the fly in a parameter-agnostic manner, and empirically achieve faster convergence for solving minimization problems. When it comes to nonconvex minimax optimization, however, current convergence analyses of gradient descent ascent (GDA) combined with adaptive stepsizes require careful tuning of hyper-parameters and the knowledge of problem-dependent parameters. Such a discrepancy arises from the primal-dual nature of minimax problems and the necessity of delicate time-scale separation between the primal and dual updates in attaining convergence. In this work, we propose a single-loop adaptive GDA algorithm called TiAda for nonconvex minimax optimization that automatically adapts to the time-scale separation. Our algorithm is fully parameter-agnostic and can achieve near-optimal complexities simultaneously in deterministic and stochastic settings of nonconvex-strongly-concave minimax problems. The effectiveness of the proposed method is further justified numerically for a number of machine learning applications.","url_abs":"https://arxiv.org/abs/2210.17478v1","url_pdf":"https://arxiv.org/pdf/2210.17478v1.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":"tiada-a-time-scale-adaptive-algorithm-for","repo_url":"https://github.com/ShawnLixx/time-scale_adaptive_minimax","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2210.17478","atlas_url":"https://app.syntology.ai/?focus=2210.17478","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2210.17478"}},"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/ShawnLixx/time-scale_adaptive_minimax","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"unverified":1},"by_repo_kind":{"official":{"samples":6,"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":"26407b790821b879","entry":"check_args","repo":"ShawnLixx/time-scale_adaptive_minimax","repo_kind":"official","path":"wgan-gp/utils/config.py","file_url":"https://github.com/ShawnLixx/time-scale_adaptive_minimax/blob/HEAD/wgan-gp/utils/config.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":"26407b790821b879"}},{"code_sha256_prefix":"c65d062577a0bd5e","entry":"get_gradient_norm","repo":"ShawnLixx/time-scale_adaptive_minimax","repo_kind":"official","path":"wgan-gp/models/wgan_gradient_penalty.py","file_url":"https://github.com/ShawnLixx/time-scale_adaptive_minimax/blob/HEAD/wgan-gp/models/wgan_gradient_penalty.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":"c65d062577a0bd5e"}},{"code_sha256_prefix":"6e67cec9f67aff3f","entry":"get_gradient_norm","repo":"ShawnLixx/time-scale_adaptive_minimax","repo_kind":"official","path":"dist_robust/utils/tool.py","file_url":"https://github.com/ShawnLixx/time-scale_adaptive_minimax/blob/HEAD/dist_robust/utils/tool.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":"6e67cec9f67aff3f"}},{"code_sha256_prefix":"d95459369543e4ad","entry":"image_grid","repo":"ShawnLixx/time-scale_adaptive_minimax","repo_kind":"official","path":"dist_robust/utils/tool.py","file_url":"https://github.com/ShawnLixx/time-scale_adaptive_minimax/blob/HEAD/dist_robust/utils/tool.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":"d95459369543e4ad"}},{"code_sha256_prefix":"507b3f6ffa35a4e2","entry":"sample_latent","repo":"ShawnLixx/time-scale_adaptive_minimax","repo_kind":"official","path":"dist_robust/utils/dataset.py","file_url":"https://github.com/ShawnLixx/time-scale_adaptive_minimax/blob/HEAD/dist_robust/utils/dataset.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":"507b3f6ffa35a4e2"}},{"code_sha256_prefix":"34ee52b3500d63c0","entry":"get_inception_score","repo":"ShawnLixx/time-scale_adaptive_minimax","repo_kind":"official","path":"wgan-gp/utils/inception_score.py","file_url":"https://github.com/ShawnLixx/time-scale_adaptive_minimax/blob/HEAD/wgan-gp/utils/inception_score.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":"34ee52b3500d63c0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}