Алгоритмы редукции дисперсии (SAGA, SVRG, SARAH)
Материал из MachineLearning.
Содержание |
Введение
Обучение большинства моделей машинного обучения формализуется как задача выпуклой оптимизации на конечной сумме (Finite-Sum Minimization):
где — функция потерь на
-м объекте выборки. Очевидно, что вычисление полного градиента
на каждом шаге требует
операций, что делает классический градиентный спуск практически бесполезным на больших данных. Наивный SGD решает вычислительную проблему, используя градиент по одному случайно выбранному объекту
. Будучи несмещенной оценкой матожидания (
), такой стохастический градиент обладает неустранимой дисперсией
. Шум градиента не исчезает даже в точке глобального оптимума
. Это вынуждает асимптотически уменьшать длину шага
, что фатально снижает скорость сходимости до сублинейной
. Алгоритмы редукции дисперсии устраняют этот недостаток, позволяя использовать постоянный шаг и достигать линейной сходимости.
Общая концепция редукции дисперсии
В основе семейства методов (SVRG, SAGA, SARAH) лежит статистический прием контрольных переменных (control variates). Конструируется новая оценка градиента , использующая сильно коррелированную вспомогательную переменную, матожидание которой известно:
где — точка «привязки» (снапшот), полный градиент в которой
вычисляется периодически. При сходимости
и
разность
стремится к нулю, а дисперсия
.
Алгоритм SVRG
SVRG (Stochastic Variance Reduced Gradient)[1] использует жесткую стратегию эпох. В начале каждой эпохи фиксируется точка , вычисляется ресурсоемкий полный градиент
, после чего выполняется внутренний цикл из
стохастических шагов.
Псевдокод SVRG:
- Инициализация:
- Для эпох
:
-
-
-
- Для
:
- Выбрать индекс
равномерно случайно.
- Вычислить скорректированный градиент:
- Шаг:
- Выбрать индекс
-
-
Для -гладкой и
-сильно выпуклой функции SVRG сходится с экспоненциальной скоростью, требуя
вычислений градиентов
для достижения
-точности. Главное преимущество — константные требования к памяти
.
Алгоритм SAGA
SAGA[1] избавляется от концепции эпох и двойных циклов, но требует хранения информации о градиентах каждого объекта.
Псевдокод SAGA:
- Инициализация
и таблицы градиентов
для
. Среднее
.
- Для
:
- Выбрать
случайно.
- Вычислить:
- Сделать шаг:
- Обновить среднее:
- Обновить элемент таблицы:
- Выбрать
Скорость сходимости идентична SVRG. Очевидный недостаток: метод требует памяти для хранения таблицы. Однако для широкого класса обобщенных линейных моделей, где
, достаточно хранить скаляры
, что тривиально редуцирует память до
.
Алгоритм SARAH
SARAH (StochAstic Recursive grAdient algoritHm)[1] предлагает принципиально иную, рекурсивную оценку:
В отличие от SAGA и SVRG, оценка SARAH смещена (). Несмотря на это, метод обеспечивает монотонное убывание нормы градиента
. SARAH стал стандартом де-факто для невыпуклых задач (например, обучения глубоких сетей без Batch Normalization), поскольку доставляет сложность
для нахождения стационарной точки первого порядка, опережая
у базового SVRG.
Практическое применение: Проксимальный вариант SAGA для LASSO
В задачах с негладкими регуляризаторами редукция дисперсии напрямую комбинируется с проксимальными методами. Рассмотрим задачу LASSO:
где гладкая часть , а регуляризатор
. Шаг проксимального SAGA формализуется так:
Для -нормы проксимальный оператор имеет замкнутую форму и известен как оператор мягкого порога (Soft Thresholding):
Строгий математический разбор шага SAGA-LASSO:
- Оценивается стохастический градиент только гладкой части:
.
- Выполняется смещение по направлению антиградиента:
.
- Отсекается шум и индуцируется разреженность (покомпонентно):
.
- Скалярное произведение
сохраняется, таблица градиентов
и вектор
обновляются.
Такой подход позволяет находить строгий оптимум с нулевыми компонентами на линейной скорости, недостижимой для субградиентных методов.
Сравнение алгоритмов
Сводка вычислительных компромиссов для сильно выпуклых гладких задач.
| Алгоритм | Пространственная сложность | Сложность (кол-во | Требует настройки эпох | Смещение |
|---|---|---|---|---|
| SGD | | | Нет | Нет |
| SVRG | | | Да | Нет |
| SAGA | | | Нет | Нет |
| SARAH | | | Да | Да |
.

