Adam: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
Строка 26: Строка 26:
 
== Варианты ==
 
== Варианты ==
 
Существуют, также, многочисленные варианты и усовершенствования алгоритма.
 
Существуют, также, многочисленные варианты и усовершенствования алгоритма.
 +
 +
Популярность 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>.
  
 
== Примечания ==
 
== Примечания ==

Версия от 00:16, 24 августа 2025

Adam[1] (сокращение от «метод адаптивной оценки моментов», англ. Adaptive Moment Estimation) — одна из модернизацией алгоритма стохастического градиентного спуска, наиболее популярный оптимизатор в современном машинном обучении.

Предложен в 2014 году как обновление оптимизатора RMSProp[1], основанное на комбинировании его с оптимизатором импульса[2].

В этом оптимизационном алгоритме используются скользящие средние как градиентов, так и вторых моментов градиентов. Если даны параметры w ( t ) w^ {(t)} , а функция потерь L ( t ) L ^ {(t)} , где t t отражает индекс текущей итерации (отчёт начинается с 0 0 ), пересчёт параметра алгоритмом Adam задаётся формулами m w ( t + 1 ) β 1 m w ( t ) + ( 1 β 1 ) w L ( t ) m_w ^ {(t+1)} \leftarrow \beta_1 m_w ^ {(t)} + (1 - \beta_1) \nabla _w L ^ {(t)} v w ( t + 1 ) β 2 v w ( t ) + ( 1 β 2 ) ( w L ( t ) ) 2 v_w ^ {(t+1)} \leftarrow \beta_2 v_w ^ {(t)} + (1 - \beta_2) (\nabla _w L ^ {(t)} )^2 m ^ w = m w ( t + 1 ) 1 β 1 t + 1 \hat{m}_w=\frac{m_w ^ {(t+1)}}{1 - \beta_1 ^{t+1}} v ^ w = v w ( t + 1 ) 1 β 2 t + 1 \hat{v}_w=\frac{ v_w ^ {(t+1)}}{1 - \beta_2 ^{t+1}} w ( t + 1 ) w ( t ) η m ^ w v ^ w + ϵ w ^ {(t+1)} \leftarrow w ^ {(t)} - \eta \frac{\hat{m}_w}{\sqrt{\hat{v}_w} + \epsilon}

где ϵ \epsilon является малой добавкой, используемой для предотвращения деления на 0, а β 1 \beta_1 и β 2 \beta_2 являются коэффициентами забывания для градиентов и вторых моментов градиентов соответственно. Возведение в квадрат и квадратный корень вычисляются поэлементно.

Поскольку экспоненциальные скользящие средние градиента m w ( t ) m_w ^ {(t)} и квадрата градиента v w ( t ) v_w ^ {(t)} инициализируются вектором из нулей, на первых итерациях обучения возникнет смещение в сторону нуля. Для компенсации этого смещения и получения более точных оценок m ^ w ( t ) \hat{m}_w ^ {(t)} и v ^ w ( t ) \hat{v}_w ^ {(t)} вводится коэффициент 1 1 β 1 / 2 t \tfrac{1}{1 - \beta_{1/2}^t} .

Первоначальное доказательство, устанавливающее сходимость Adam, было неполным, и последующий анализ показал, что Adam сходится не для всех выпуклых целей[3][4]. Несмотря на это, Adam продолжает использоваться из-за его высокой эффективности на практике[5] и, возможно, общей ригидности сообщества ML-разработчиков, оптимизировавшего используемый технологический стек под наилучшую работу с ADAM[6]. В качестве примера подобных действий приводится тот факт, что, хотя в исходных статьях[7] по сетям Колмогорова-Арнольда (KAN) в качестве оптимизатора использовался приближённый алгоритм оптимизации второго порядка LBFGS, в очень большом числе работ других исследователей, рассматривавших KAN, он был заменён на Adam.

Варианты

Существуют, также, многочисленные варианты и усовершенствования алгоритма.

Популярность Adam вдохновила исследователей на создание множества его усовершенствованных вариантов.

Вот некоторые примеры:

  • Градиенты, улучшенные по Нестерову: NAdam[8], FASFA[9];
  • Различные интерпретации информации второго порядка: Powerpropagation[10] и AdaSqrt[11];
  • Использование нормы Чебышева: AdaMax[12];
  • AMSGrad[13], который улучшает сходимость по сравнению с Adam, используя максимум квадратов прошлых градиентов вместо экспоненциального среднего. AdamX[14] дополнительно улучшает сходимость по сравнению с AMSGrad.
  • AdamW[15] который использует регуляризацию Тихонова.
  • Стохастический градиентный спуск на основе знака. Несмотря на то, что оптимизация на основе знака восходит к методу Rprop, в 2018 году исследователи попытались упростить Adam, исключив из рассмотрения величину стохастического градиента и рассматривая только его знак[16][17].

Примечания

  1. 1,0 1,1 Kingma Diederik, Jimmy Ba (2014). "Adam: A method for stochastic optimization". arXiv:1412.6980 [cs.LG].
  2. 4. Beyond Gradient Descent - Fundamentals of Deep Learning [Book].
  3. 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.
  4. 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= (справка)
  5. 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.
  6. Neural Networks (Maybe) Evolved to Make Adam The Best Optimizer. Bremen79. 6.12.2020.
  7. Awesome KAN(Kolmogorov-Arnold Network)
  8. Dozat, T. (2016). "Incorporating Nesterov Momentum into Adam" (англ.). S2CID 70293087. {{cite journal}}: Cite journal требует |journal= (справка)
  9. 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= (справка)
  10. Whye, Schwarz, Jonathan Jayakumar, Siddhant M. Pascanu, Razvan Latham, Peter E. Teh, Yee. Powerpropagation: A sparsity inducing weight reparameterisation. — 2021-10-01.
  11. 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= (справка)
  12. Kingma, Diederik; Ba, Jimmy (2014). "Adam: A Method for Stochastic Optimization". arXiv:1412.6980 [cs.LG].
  13. Reddi, Sashank J.; Kale, Satyen; Kumar, Sanjiv (2018). "On the Convergence of Adam and Beyond". arXiv:1904.09237. {{cite journal}}: Cite journal требует |journal= (справка)
  14. 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.
  15. 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.
  16. Hennig, Philipp; Balles, Lukas. Dissecting Adam: The Sign, Magnitude and Variance of Stochastic Gradients (15 февраля 2018).
  17. SignSGD: Compressed Optimisation for Non-Convex Problems 560–569 (3 июля 2018).