Проксимальный градиентный спуск
Материал из MachineLearning.
| | Статья написана с использованием LLM Gemini 3.1 Pro и проверена участником Renal Gazizullin 16:30, 23 июня 2026 (MSD) |
Проксимальный градиентный спуск — метод оптимизации первого порядка, предназначенный для решения задач композитной оптимизации, в которых целевая функция представима в виде суммы гладкой и негладкой выпуклых компонент.
Содержание |
Введение и формальная постановка задачи
Рассматривается задача безусловной минимизации:
где:
-
— выпуклая дифференцируемая функция, градиент которой
является липшиц-непрерывным с константой
:
-
— собственная замкнутая выпуклая функция, которая может быть недифференцируемой.
Классический Градиентный спуск неприменим к данной задаче ввиду отсутствия во всех точках области определения. Прямой переход к субградиентному спуску приводит к деградации скорости сходимости до
. Проксимальный градиентный спуск позволяет обойти это ограничение, обрабатывая гладкую часть явным шагом по градиенту, а негладкую — неявным шагом через проксимальный оператор, что позволяет сохранить асимптотику сходимости
.
Проксимальный оператор
Для выпуклой функции и параметра масштаба
проксимальным оператором
называется отображение[1]:
Геометрический смысл
Оператор ищет компромисс между минимизацией значения и близостью к аргументу
в смысле евклидовой метрики. При
оператор вырождается в тождественное преобразование
, а при
возвращает точку безусловного минимума функции
. В частном случае, когда
(индикаторная функция выпуклого множества
), проксимальный оператор тождественно равен оператору евклидовой проекции на множество
.
Связь с теоремой Моро
Фундаментальное свойство проксимального оператора задается через огибающую Моро (регуляризацию Иосиды функции ):
Согласно теореме Моро, функция является непрерывно дифференцируемой (даже если
разрывна), а её градиент вычисляется аналитически:
Следствием данного тождества является тот факт, что шаг проксимального градиентного спуска эквивалентен шагу стандартного градиентного спуска, применённому к гладкой аппроксимации Моро.
Вычисление проксимальных операторов
Практическая ценность метода определяется наличием замкнутой аналитической формы для . Классическим примером является
-регуляризатор задачи LASSO:
.
Аналитический вывод для L1-нормы
Поскольку целевая функция сепарабельна по координатам вектора , многомерная задача оптимизации распадается на
независимых скалярных задач:
Обозначим минимизируемую функцию одной переменной через . Необходимым и достаточным условием глобального минимума выпуклой недифференцируемой функции является принадлежность нуля её субдифференциалу:
-
↔
↔
-
Субдифференциал функции модуля имеет вид:
Рассмотрим три возможных локализации оптимальной точки :
- Случай
: Субдифференциал равен
. Условие оптимума:
→
. Данное допущение непротиворечиво тогда и только тогда, когда
.
- Случай
: Субдифференциал равен
. Условие оптимума:
→
. Непротиворечиво при
.
- Случай
: Субдифференциал представляет собой отрезок
. Условие оптимума:
↔
.
Синтез трех случаев дает оператор мягкого порогового отсечения[1]:
Оператор осуществляет непрерывное стягивание компонент вектора к нулю; координаты, по модулю не превосходящие порог , строго обнуляются, генерируя разреженное решение.
Базовый алгоритм ISTA
Алгоритм ISTA представляет собой каноническую реализацию метода. Итерационный процесс строится на принципе мажоризации-минимизации (MM).
В точке гладкая компонента
аппроксимируется сверху строго выпуклой квадратичной суррогатной функцией (согласно лемме о липшицевом градиенте):
Минимизация результирующей верхней оценки всей функции на шаге
записывается как:
Выделение полного квадрата по переменной сводит задачу к форме проксимального оператора:
Шаги алгоритма
Для начального вектора и величины шага
алгоритм повторяет:
- Явный шаг градиентного спуска:
- Неявный проксимальный шаг:
Условия сходимости
Для выпуклых функций при шаге
метод ISTA гарантирует сублинейную скорость сходимости по целевому функционалу:
Если является сильно выпуклой с константой
, метод сходится с линейной скоростью:
.
Ускоренные и стохастические методы
Ускорение Нестерова (FISTA)
Алгоритм FISTA[1] модифицирует ISTA путем внедрения импульса Нестерова. Проксимальный шаг осуществляется не из текущей точки , а из экстраполированной точки
:
- Инициализация:
.
- На каждой итерации
:
FISTA достигает асимптотики сходимости , что является нижней теоретической границей сложности для методов первого порядка на классе гладких выпуклых задач.
Проксимальные стохастические методы с редукцией дисперсии
В задачах обучения на больших данных функция имеет структуру эмпирического риска:
. Применение наивного проксимального стохастического градиентного спуска (Prox-SGD) приводит к потере линейной сходимости на сильно выпуклых задачах из-за ненулевой асимптотической дисперсии стохастического градиента. Преодоление проблемы требует техник Variance Reduction.
Prox-SVRG
Метод Prox-SVRG [1] оперирует вложенными циклами (эпохами). На внешнем цикле в точке вычисляется и фиксируется точный вектор градиента
. На внутреннем цикле для случайного индекса
строится модифицированная оценка градиента:
Шаг обновления: . По мере приближения точек
к оптимуму
, дисперсия вектора
автоматически асимптотически стремится к нулю.
Prox-SAGA
Метод Prox-SAGA[1] заменяет расчет полных градиентов хранением в памяти таблицы последних вычисленных градиентов для каждого из объектов:
. На шаге
случайно выбирается индекс
, вычисляется
, and вектор направления формируется как:
После шага пересчета запись в таблице обновляется:
.
Prox-SARAH
Метод Prox-SARAH [1] использует смещенную рекурсивную оценку. Вектор направления пересчитывается по формуле:
Отказ от требования несмещенности () позволяет получить более стабильную траекторию убывания нормы градиента. Это делает Prox-SARAH предпочтительным выбором для невыпуклых задач композитной оптимизации (например, обучение глубоких нейронных сетей с
- или
-регуляризацией).
На сильно выпуклых задачах (таких как LASSO) алгоритмы Prox-SVRG и Prox-SAGA достигают линейной скорости сходимости с общей оракульной сложностью , что позволяет свести итоговую вычислительную стоимость к одному проходу по датасету.

