No history yet

Оптимизация в машинном обучении

Стохастическая оптимизация

В машинном обучении с большими данными вычисление точного градиента функции потерь по всему набору данных на каждой итерации непомерно дорого. Стохастический градиентный спуск (SGD) решает эту проблему, аппроксимируя градиент на основе одного примера или небольшой подвыборки (мини-батча).

Этот подход вносит шум в процесс обновления весов. Однако этот шум не всегда вреден. Он может помочь модели избежать острых локальных минимумов и найти более широкие, которые часто лучше обобщают данные. Основная проблема SGD — это настройка скорости обучения и преодоление высокой дисперсии градиента, что может замедлить сходимость.

θt+1=θtηθL(x(i),y(i);θt)\theta_{t+1} = \theta_t - \eta \nabla_{\theta} L(x^{(i)}, y^{(i)}; \theta_t)

Для стабилизации сходимости и ускорения процесса часто используют SGD с моментом. Этот метод добавляет долю предыдущего обновления к текущему, что помогает сгладить колебания и двигаться более уверенно в релевантных направлениях. Это особенно полезно при навигации по "долинам" в пространстве потерь, где градиент часто меняет направление.

Адаптивные алгоритмы

Адаптивные методы оптимизации динамически настраивают скорость обучения для каждого параметра индивидуально. Это особенно эффективно в задачах с разреженными данными, где разные признаки обновляются с разной частотой.

RMSprop (Root Mean Square Propagation) нормализует обновление градиента для каждого параметра, деля его на скользящее среднее квадратов градиентов. Это позволяет уменьшить скорость обучения для параметров с большими градиентами и увеличить для параметров с маленькими, эффективно сглаживая "колебания" в одних измерениях и ускоряя движение в других.

E[g2]t=γE[g2]t1+(1γ)gt2θt+1=θtηE[g2]t+ϵgt\begin{aligned} E[g^2]_t &= \gamma E[g^2]_{t-1} + (1-\gamma) g_t^2 \\ \theta_{t+1} &= \theta_t - \frac{\eta}{\sqrt{E[g^2]_t + \epsilon}} g_t \end{aligned}

Adam (Adaptive Moment Estimation) объединяет идеи RMSprop и моментума. Он хранит не только скользящее среднее квадратов градиентов (как RMSprop), но и скользящее среднее самих градиентов (как моментум). Adam также включает коррекцию смещения для этих средних, что делает его особенно эффективным на начальных этапах обучения, когда оценки моментов неточны.

mt=β1mt1+(1β1)gtvt=β2vt1+(1β2)gt2m^t=mt1β1t,v^t=vt1β2tθt+1=θtηm^tv^t+ϵ\begin{aligned} m_t &= \beta_1 m_{t-1} + (1-\beta_1) g_t \\ v_t &= \beta_2 v_{t-1} + (1-\beta_2) g_t^2 \\ \hat{m}_t &= \frac{m_t}{1-\beta_1^t}, \quad \hat{v}_t = \frac{v_t}{1-\beta_2^t} \\ \theta_{t+1} &= \theta_t - \eta \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \epsilon} \end{aligned}

Благодаря своей эффективности и относительной простоте настройки, Adam часто является алгоритмом выбора по умолчанию для многих задач глубокого обучения.

Методы второго порядка

В то время как методы первого порядка, такие как градиентный спуск, используют только информацию о градиенте, методы второго порядка также учитывают кривизну функции потерь, используя гессиан (матрицу вторых производных).

Классический метод Ньютона обновляет параметры, двигаясь непосредственно к минимуму квадратичной аппроксимации функции потерь. Это обеспечивает очень быструю сходимость вблизи оптимума.

θt+1=θtηHt1gt\theta_{t+1} = \theta_t - \eta H_t^{-1} g_t

Однако вычисление, хранение и обращение матрицы Гессиана — это операция сложностью O(d3)O(d^3) для dd параметров, что делает метод Ньютона неприменимым для современных моделей с миллионами параметров.

Квази-ньютоновские методы, такие как L-BFGS (Limited-memory Broyden–Fletcher–Goldfarb–Shanno), решают эту проблему, аппроксимируя обратный гессиан, вместо того чтобы вычислять его явно. L-BFGS хранит только несколько последних векторов градиентов и обновлений параметров для построения этой аппроксимации, что значительно снижает требования к памяти.

L-BFGS часто используется в задачах, где вычисление функции потерь и градиента происходит на всем наборе данных (full-batch), и не подходит для стохастической оптимизации из-за нестабильности аппроксимации гессиана при шумных градиентах.

Quiz Questions 1/6

Какова основная причина использования стохастического градиентного спуска (SGD) вместо пакетного градиентного спуска при обучении больших моделей?

Quiz Questions 2/6

Какой метод оптимизации объединяет идеи моментума (скользящее среднее градиентов) и RMSprop (скользящее среднее квадратов градиентов)?

Эти методы формируют основу современных подходов к обучению нейронных сетей и других сложных моделей, каждый из которых предлагает свой компромисс между скоростью, памятью и точностью.