{"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/spi-optimizer-an-integral-separated-pi","title":"SPI-Optimizer: an integral-Separated PI Controller for Stochastic Optimization","arxiv_id":"1812.11305","date":"2018-12-29","proceeding":null,"authors":["Dan Wang","Mengqi Ji","Yong Wang","Haoqian Wang","Lu Fang"],"abstract":"To overcome the oscillation problem in the classical momentum-based\noptimizer, recent work associates it with the proportional-integral (PI)\ncontroller, and artificially adds D term producing a PID controller. It\nsuppresses oscillation with the sacrifice of introducing extra hyper-parameter.\nIn this paper, we start by analyzing: why momentum-based method oscillates\nabout the optimal point? and answering that: the fluctuation problem relates to\nthe lag effect of integral (I) term. Inspired by the conditional integration\nidea in classical control society, we propose SPI-Optimizer, an\nintegral-Separated PI controller based optimizer WITHOUT introducing extra\nhyperparameter. It separates momentum term adaptively when the inconsistency of\ncurrent and historical gradient direction occurs. Extensive experiments\ndemonstrate that SPIOptimizer generalizes well on popular network architectures\nto eliminate the oscillation, and owns competitive performance with faster\nconvergence speed (up to 40% epochs reduction ratio ) and more accurate\nclassification result on MNIST, CIFAR10, and CIFAR100 (up to 27.5% error\nreduction ratio) than the state-of-the-art methods.","url_abs":"http://arxiv.org/abs/1812.11305v2","url_pdf":"http://arxiv.org/pdf/1812.11305v2.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":"spi-optimizer-an-integral-separated-pi","repo_url":"https://github.com/sgflower66/SPI-Optimizer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"spi-optimizer-an-integral-separated-pi","repo_url":"https://github.com/shonxg/SPI_Optimizer","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"stochastic-optimization","task_name":"Stochastic Optimization"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}