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

Материал из in.wiki
Перейти к навигации Перейти к поиску
Строка 8: Строка 8:
 
</ref> (сокращение от «метод адаптивной оценки моментов», {{lang-en|Adaptive Moment Estimation}}) — одна из модернизацией алгоритма [[Стохастический градиентный спуск|стохастического градиентного спуска]], наиболее популярный [[Оптимизаторы в машинном обучении.|оптимизатор в современном машинном обучении.]]  
 
</ref> (сокращение от «метод адаптивной оценки моментов», {{lang-en|Adaptive Moment Estimation}}) — одна из модернизацией алгоритма [[Стохастический градиентный спуск|стохастического градиентного спуска]], наиболее популярный [[Оптимизаторы в машинном обучении.|оптимизатор в современном машинном обучении.]]  
  
Является обновлением оптимизатора [[RMSProp]].
+
Предложен в 2014 году как обновление оптимизатора [[RMSProp]]<ref name="DeBa" />, основанное на комбинировании его с [[Оптимизатор импульса|оптимизатором импульса]]<ref>{{cite web|url=https://www.oreilly.com/library/view/fundamentals-of-deep/9781491925607/ch04.html|title=4. Beyond Gradient Descent - Fundamentals of Deep Learning &#91;Book&#93;}}</ref>.
  
 
В этом оптимизационном алгоритме используются скользящие средние как градиентов, так и вторых моментов градиентов. Если даны параметры <math> w^ {(t)} </math>, а функция потерь <math> L ^ {(t)} </math>, где <math> t </math> отражает индекс текущей итерации (отчёт начинается с <math> 0 </math>), пересчёт параметра алгоритмом Adam задаётся формулами
 
В этом оптимизационном алгоритме используются скользящие средние как градиентов, так и вторых моментов градиентов. Если даны параметры <math> w^ {(t)} </math>, а функция потерь <math> L ^ {(t)} </math>, где <math> t </math> отражает индекс текущей итерации (отчёт начинается с <math> 0 </math>), пересчёт параметра алгоритмом Adam задаётся формулами

Версия от 19:53, 23 августа 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 являются коэффициентами забывания для градиентов и вторых моментов градиентов соответственно. Возведение в квадрат и квадратный корень вычисляются поэлементно.

Примечания

  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].