Adam
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).