Adam: различия между версиями
In.wiki (комментарии | вклад) |
In.wiki (комментарии | вклад) |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 22: | Строка 22: | ||
Поскольку экспоненциальные скользящие средние градиента <math> m_w ^ {(t)}</math> и квадрата градиента <math> v_w ^ {(t)}</math> инициализируются вектором из нулей, на первых итерациях обучения возникнет смещение в сторону нуля. Для компенсации этого смещения и получения более точных оценок <math>\hat{m}_w ^ {(t)}</math> и <math>\hat{v}_w ^ {(t)}</math> вводится коэффициент <math>\tfrac{1}{1 - \beta_{1/2}^t}</math>. | Поскольку экспоненциальные скользящие средние градиента <math> m_w ^ {(t)}</math> и квадрата градиента <math> v_w ^ {(t)}</math> инициализируются вектором из нулей, на первых итерациях обучения возникнет смещение в сторону нуля. Для компенсации этого смещения и получения более точных оценок <math>\hat{m}_w ^ {(t)}</math> и <math>\hat{v}_w ^ {(t)}</math> вводится коэффициент <math>\tfrac{1}{1 - \beta_{1/2}^t}</math>. | ||
− | Первоначальное доказательство, устанавливающее сходимость Adam, было неполным, и последующий анализ показал, что Adam сходится не для всех выпуклых целей<ref>{{cite conference |last1=Reddi |first1=Sashank J. |last2=Kale |first2=Satyen |last3=Kumar |first3=Sanjiv |date=2018 |title=On the Convergence of Adam and Beyond |url=https://openreview.net/forum?id=ryQu7f-RZ |conference=6th International Conference on Learning Representations (ICLR 2018) |arxiv=1904.09237 |doi=}}</ref><ref>{{Cite thesis |last=Rubio |first=David Martínez |title=Convergence Analysis of an Adaptive Method of Gradient Descent |date=2017 |access-date=5 января 2024 г. |degree=Master |publisher=University of Oxford |url=https://damaru2.github.io/convergence_analysis_hypergradient_descent/dissertation_hypergradients.pdf}}</ref>. Несмотря на это, Adam продолжает использоваться из-за его высокой эффективности на практике<ref>{{cite conference |last1=Zhang |first1=Yushun |last2=Chen |first2=Congliang |last3=Shi |first3=Naichen |last4=Sun |first4=Ruoyu |last5=Luo |first5=Zhi-Quan |date=2022 |title=Adam Can Converge Without Any Modification On Update Rules |conference=Advances in Neural Information Processing Systems 35 (NeurIPS 2022) |arxiv=2208.09632 |book-title=Advances in Neural Information Processing Systems 35}}</ref> и, возможно, общей [[Ригидность|ригидности]] [[Сообщество ML-разработчиков|сообщества ML-разработчиков]], оптимизировавшего используемый технологический стек под наилучшую работу с | + | Первоначальное доказательство, устанавливающее сходимость Adam, было неполным, и последующий анализ показал, что Adam сходится не для всех выпуклых целей<ref>{{cite conference |last1=Reddi |first1=Sashank J. |last2=Kale |first2=Satyen |last3=Kumar |first3=Sanjiv |date=2018 |title=On the Convergence of Adam and Beyond |url=https://openreview.net/forum?id=ryQu7f-RZ |conference=6th International Conference on Learning Representations (ICLR 2018) |arxiv=1904.09237 |doi=}}</ref><ref>{{Cite thesis |last=Rubio |first=David Martínez |title=Convergence Analysis of an Adaptive Method of Gradient Descent |date=2017 |access-date=5 января 2024 г. |degree=Master |publisher=University of Oxford |url=https://damaru2.github.io/convergence_analysis_hypergradient_descent/dissertation_hypergradients.pdf}}</ref>. Несмотря на это, Adam продолжает использоваться из-за его высокой эффективности на практике<ref>{{cite conference |last1=Zhang |first1=Yushun |last2=Chen |first2=Congliang |last3=Shi |first3=Naichen |last4=Sun |first4=Ruoyu |last5=Luo |first5=Zhi-Quan |date=2022 |title=Adam Can Converge Without Any Modification On Update Rules |conference=Advances in Neural Information Processing Systems 35 (NeurIPS 2022) |arxiv=2208.09632 |book-title=Advances in Neural Information Processing Systems 35}}</ref> и, возможно, общей [[Ригидность|ригидности]] [[Сообщество ML-разработчиков|сообщества ML-разработчиков]], оптимизировавшего используемый технологический стек под наилучшую работу с Adam вместо поиска более эффективных для этой задачи<ref>Для ряда других приложений, не относящихся к машинному обучению, Adam не является особенно эффективным.</ref> алгоритмов оптимизации<ref>[https://parameterfree.com/2020/12/06/neural-network-maybe-evolved-to-make-adam-the-best-optimizer/ Neural Networks (Maybe) Evolved to Make Adam The Best Optimizer. Bremen79. 6.12.2020.]</ref>. В качестве примера подобных действий приводится тот факт, что, хотя в исходных статьях<ref>[https://github.com/mintisan/awesome-kan Awesome KAN(Kolmogorov-Arnold Network)]</ref> по [[Сети Колмогорова-Арнольда|сетям Колмогорова-Арнольда]] ([[Сети Колмогорова-Арнольда|KAN]]) в качестве оптимизатора использовался приближённый алгоритм оптимизации второго порядка [[LBFGS]], в очень большом числе работ других исследователей, рассматривавших KAN, он был заменён на Adam. |
== Варианты == | == Варианты == | ||
Строка 44: | Строка 44: | ||
[[Категория:Метод стохастического градиентного спуска]] | [[Категория:Метод стохастического градиентного спуска]] | ||
[[Категория:Оптимизаторы в машинном обучении]] | [[Категория:Оптимизаторы в машинном обучении]] | ||
+ | [[Категория:Алгоритмы оптимизации]] |
Текущая версия от 14:57, 24 августа 2025
Adam[1] (сокращение от «метод адаптивной оценки моментов», англ. Adaptive Moment Estimation) — одна из модернизацией алгоритма стохастического градиентного спуска, наиболее популярный оптимизатор в современном машинном обучении.
Предложен в 2014 году как обновление оптимизатора RMSProp[1], основанное на комбинировании его с оптимизатором импульса[2].
В этом оптимизационном алгоритме используются скользящие средние как градиентов, так и вторых моментов градиентов. Если даны параметры , а функция потерь , где отражает индекс текущей итерации (отчёт начинается с ), пересчёт параметра алгоритмом Adam задаётся формулами
где является малой добавкой, используемой для предотвращения деления на 0, а и являются коэффициентами забывания для градиентов и вторых моментов градиентов соответственно. Возведение в квадрат и квадратный корень вычисляются поэлементно.
Поскольку экспоненциальные скользящие средние градиента и квадрата градиента инициализируются вектором из нулей, на первых итерациях обучения возникнет смещение в сторону нуля. Для компенсации этого смещения и получения более точных оценок и вводится коэффициент .
Первоначальное доказательство, устанавливающее сходимость Adam, было неполным, и последующий анализ показал, что Adam сходится не для всех выпуклых целей[3][4]. Несмотря на это, Adam продолжает использоваться из-за его высокой эффективности на практике[5] и, возможно, общей ригидности сообщества ML-разработчиков, оптимизировавшего используемый технологический стек под наилучшую работу с Adam вместо поиска более эффективных для этой задачи[6] алгоритмов оптимизации[7]. В качестве примера подобных действий приводится тот факт, что, хотя в исходных статьях[8] по сетям Колмогорова-Арнольда (KAN) в качестве оптимизатора использовался приближённый алгоритм оптимизации второго порядка LBFGS, в очень большом числе работ других исследователей, рассматривавших KAN, он был заменён на Adam.
Варианты[править | править код]
Существуют, также, многочисленные варианты и усовершенствования алгоритма.
Популярность Adam вдохновила исследователей на создание множества его усовершенствованных вариантов.
Вот некоторые примеры:
- Использование нормы Чебышева: AdaMax[13];
- AMSGrad[14], который улучшает сходимость по сравнению с Adam, используя максимум квадратов прошлых градиентов вместо экспоненциального среднего. AdamX[15] дополнительно улучшает сходимость по сравнению с AMSGrad.
- AdamW[16] который использует регуляризацию Тихонова.
- Стохастический градиентный спуск на основе знака. Несмотря на то, что оптимизация на основе знака восходит к методу Rprop, в 2018 году исследователи попытались упростить Adam, исключив из рассмотрения величину стохастического градиента и рассматривая только его знак[17][18].
Примечания[править | править код]
- ↑ 1,0 1,1 Kingma Diederik, Jimmy Ba (2014). "Adam: A method for stochastic optimization". arXiv:1412.6980 [cs.LG].
- ↑ 4. Beyond Gradient Descent - Fundamentals of Deep Learning [Book] .
- ↑ Reddi, Sashank J.; Kale, Satyen; Kumar, Sanjiv (2018). On the Convergence of Adam and Beyond. 6th International Conference on Learning Representations (ICLR 2018). arXiv:1904.09237.
- ↑ Rubio, David Martínez (2017). Convergence Analysis of an Adaptive Method of Gradient Descent (PDF) (Master thesis). University of Oxford. Дата обращения: 5 января 2024.
{{cite thesis}}
: Проверьте значение даты:|access-date=
(справка) - ↑ Zhang, Yushun; Chen, Congliang; Shi, Naichen; Sun, Ruoyu; Luo, Zhi-Quan (2022). "Adam Can Converge Without Any Modification On Update Rules". Advances in Neural Information Processing Systems 35. Advances in Neural Information Processing Systems 35 (NeurIPS 2022). arXiv:2208.09632.
- ↑ Для ряда других приложений, не относящихся к машинному обучению, Adam не является особенно эффективным.
- ↑ Neural Networks (Maybe) Evolved to Make Adam The Best Optimizer. Bremen79. 6.12.2020.
- ↑ Awesome KAN(Kolmogorov-Arnold Network)
- ↑ Dozat, T. (2016). "Incorporating Nesterov Momentum into Adam" (англ.). S2CID 70293087.
{{cite journal}}
: Cite journal требует|journal=
(справка) - ↑ Naveen, Philip (2022-08-09). "FASFA: A Novel Next-Generation Backpropagation Optimizer". doi:10.36227/techrxiv.20427852.v1. Дата обращения: 19 ноября 2022.
{{cite journal}}
: Cite journal требует|journal=
(справка) - ↑ Whye, Schwarz, Jonathan Jayakumar, Siddhant M. Pascanu, Razvan Latham, Peter E. Teh, Yee. Powerpropagation: A sparsity inducing weight reparameterisation. — 2021-10-01.
- ↑ Hu, Yuzheng; Lin, Licong; Tang, Shange (2019-12-20). "Second-order Information in First-order Optimization Methods". arXiv:1912.09926.
{{cite journal}}
: Cite journal требует|journal=
(справка) - ↑ Kingma, Diederik; Ba, Jimmy (2014). "Adam: A Method for Stochastic Optimization". arXiv:1412.6980 [cs.LG].
- ↑ Reddi, Sashank J.; Kale, Satyen; Kumar, Sanjiv (2018). "On the Convergence of Adam and Beyond". arXiv:1904.09237.
{{cite journal}}
: Cite journal требует|journal=
(справка) - ↑ Tran, Phuong Thi; Phong, Le Trieu (2019). "On the Convergence Proof of AMSGrad and a New Version". IEEE Access. 7: 61706–61716. arXiv:1904.03590. Bibcode:2019IEEEA...761706T. doi:10.1109/ACCESS.2019.2916341. ISSN 2169-3536.
- ↑ Tran, Phuong Thi; Phong, Le Trieu (2019). "On the Convergence Proof of AMSGrad and a New Version". IEEE Access. 7: 61706–61716. arXiv:1904.03590. Bibcode:2019IEEEA...761706T. doi:10.1109/ACCESS.2019.2916341. ISSN 2169-3536.
- ↑ Hennig, Philipp; Balles, Lukas. Dissecting Adam: The Sign, Magnitude and Variance of Stochastic Gradients (15 февраля 2018).
- ↑ SignSGD: Compressed Optimisation for Non-Convex Problems 560–569 (3 июля 2018).