Adam: различия между версиями
In.wiki (комментарии | вклад) |
In.wiki (комментарии | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 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 сходится не для всех выпуклых целей | + | Первоначальное доказательство, устанавливающее сходимость 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. |
+ | == Варианты == | ||
+ | Существуют, также, многочисленные варианты и усовершенствования алгоритма. | ||
+ | |||
+ | Популярность Adam вдохновила исследователей на создание множества его усовершенствованных вариантов. | ||
+ | |||
+ | Вот некоторые примеры: | ||
+ | |||
+ | * Градиенты, улучшенные по Нестерову: NAdam<ref>{{Cite journal|last=Dozat|first=T.|date=2016|title=Incorporating Nesterov Momentum into Adam|s2cid=70293087|language=en}}</ref>, FASFA<ref>{{Cite journal|last=Naveen|first=Philip|date=2022-08-09|title=FASFA: A Novel Next-Generation Backpropagation Optimizer|url=http://dx.doi.org/10.36227/techrxiv.20427852.v1|access-date=2022-11-19|doi=10.36227/techrxiv.20427852.v1|doi-access=free}}</ref>; | ||
+ | |||
+ | * Различные интерпретации информации второго порядка: Powerpropagation<ref>{{Cite book|last=Whye|first=Schwarz, Jonathan Jayakumar, Siddhant M. Pascanu, Razvan Latham, Peter E. Teh, Yee|title=Powerpropagation: A sparsity inducing weight reparameterisation|url=http://worldcat.org/oclc/1333722169|date=2021-10-01|oclc=1333722169}}</ref> и AdaSqrt<ref>{{Cite journal|last1=Hu|first1=Yuzheng|last2=Lin|first2=Licong|last3=Tang|first3=Shange|date=2019-12-20|title=Second-order Information in First-order Optimization Methods|arxiv=1912.09926}}</ref>; | ||
+ | |||
+ | * Использование [[Норма Чебышева|нормы Чебышева]]: AdaMax<ref name="Adam2014">{{cite arXiv|first1=Diederik|last1=Kingma|first2=Jimmy|last2=Ba|eprint=1412.6980|title=Adam: A Method for Stochastic Optimization|year=2014|class=cs.LG}}</ref>; | ||
+ | * AMSGrad<ref>{{Cite journal|last1=Reddi|first1=Sashank J.|last2=Kale|first2=Satyen|last3=Kumar|first3=Sanjiv|date=2018|title=On the Convergence of Adam and Beyond|arxiv=1904.09237}}</ref>, который улучшает сходимость по сравнению с Adam, используя максимум квадратов прошлых градиентов вместо экспоненциального среднего. AdamX<ref>{{Cite journal|last1=Tran|first1=Phuong Thi|last2=Phong|first2=Le Trieu|date=2019|title=On the Convergence Proof of AMSGrad and a New Version|url=https://ieeexplore.ieee.org/document/8713445|journal=IEEE Access|volume=7|pages=61706–61716|doi=10.1109/ACCESS.2019.2916341|issn=2169-3536|arxiv=1904.03590|bibcode=2019IEEEA...761706T}}</ref> дополнительно улучшает сходимость по сравнению с AMSGrad. | ||
+ | * AdamW<ref>{{Cite journal|last1=Tran|first1=Phuong Thi|last2=Phong|first2=Le Trieu|date=2019|title=On the Convergence Proof of AMSGrad and a New Version|url=https://ieeexplore.ieee.org/document/8713445|journal=IEEE Access|volume=7|pages=61706–61716|doi=10.1109/ACCESS.2019.2916341|issn=2169-3536|arxiv=1904.03590|bibcode=2019IEEEA...761706T}}</ref> который использует [[Метод регуляризации Тихонова|регуляризацию Тихонова]]. | ||
+ | * Стохастический градиентный спуск на основе знака. Несмотря на то, что оптимизация на основе знака восходит к методу [[Rprop]], в 2018 году исследователи попытались упростить Adam, исключив из рассмотрения величину стохастического градиента и рассматривая только его знак<ref>{{cite web|url=https://openreview.net/forum?id=S1EwLkW0W|title=Dissecting Adam: The Sign, Magnitude and Variance of Stochastic Gradients|date=15 February 2018|last1=Balles|first1=Lukas|last2=Hennig|first2=Philipp}}</ref><ref>{{cite web|url=https://proceedings.mlr.press/v80/bernstein18a.html|title=SignSGD: Compressed Optimisation for Non-Convex Problems|date=3 July 2018|pages=560–569}}</ref>. | ||
== Примечания == | == Примечания == | ||
Строка 29: | Строка 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).