Ускоренный градиент Нестерова
Материал из MachineLearning.
| Строка 1: | Строка 1: | ||
{{well|Статья написана с использованием LLM '''GLM-5-Turbo''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 14:54, 25 июня 2026 (MSD)}} | {{well|Статья написана с использованием LLM '''GLM-5-Turbo''' и проверена участником [[Участник:Arina Pakalova|Arina Pakalova]] 14:54, 25 июня 2026 (MSD)}} | ||
| - | '''Ускоренный градиент Нестерова''' (англ. ''Nesterov accelerated gradient'', NAG) — семейство оптимальных по порядку итеративных методов первого порядка для решения задач [[Выпуклая оптимизация|выпуклой оптимизации]]. Метод обеспечивает достижение нижней оценки сложности для класса гладких выпуклых задач, равной <tex>O(1/k^2)</tex>, где <tex>k</tex> — номер итерации<ref name="Nesterov1983">Нестеров Ю. Е. Метод решения задачи выпуклого программирования со скоростью сходимости <tex>O(1/k^2)</tex> // Доклады Академии Наук. — 1983. — Т. 269, № 3 | + | '''Ускоренный градиент Нестерова''' (англ. ''Nesterov accelerated gradient'', NAG) — семейство оптимальных по порядку итеративных методов первого порядка для решения задач [[Выпуклая оптимизация|выпуклой оптимизации]]. Метод обеспечивает достижение нижней оценки сложности для класса гладких выпуклых задач, равной <tex>O(1/k^2)</tex>, где <tex>k</tex> — номер итерации<ref name="Nesterov1983">Нестеров Ю. Е. Метод решения задачи выпуклого программирования со скоростью сходимости <tex>O(1/k^2)</tex> // Доклады Академии Наук. — 1983. — Т. 269, № 3.</ref>. |
== Определение и актуальность в теории оптимизации == | == Определение и актуальность в теории оптимизации == | ||
В середине 1980-х годов Ю. Е. Нестеровым была доказана нижняя оценка скорости сходимости для класса гладких выпуклых задач минимизации, показывающая, что ни один метод первого порядка не может гарантировать скорость сходимости быстрее, чем <tex>O(1/k^2)</tex>. До этой работы стандартный [[Градиентный спуск|градиентный спуск]] обеспечивал лишь скорость <tex>O(1/k)</tex>. | В середине 1980-х годов Ю. Е. Нестеровым была доказана нижняя оценка скорости сходимости для класса гладких выпуклых задач минимизации, показывающая, что ни один метод первого порядка не может гарантировать скорость сходимости быстрее, чем <tex>O(1/k^2)</tex>. До этой работы стандартный [[Градиентный спуск|градиентный спуск]] обеспечивал лишь скорость <tex>O(1/k)</tex>. | ||
| - | Ускоренный градиент Нестерова является первым алгоритмом, достигающим этой теоретической нижней границы, что делает его '''оптимальным''' в смысле теории вычислительной сложности черного ящика (first-order black-box optimization)<ref name="Bubeck2015">Bubeck S. Convex Optimization: Algorithms and Complexity. // Foundations and Trends in Machine Learning. — 2015. — Vol. 8, No. 3-4 | + | Ускоренный градиент Нестерова является первым алгоритмом, достигающим этой теоретической нижней границы, что делает его '''оптимальным''' в смысле теории вычислительной сложности черного ящика (first-order black-box optimization)<ref name="Bubeck2015">Bubeck S. Convex Optimization: Algorithms and Complexity. // Foundations and Trends in Machine Learning. — 2015. — Vol. 8, No. 3-4.</ref>. В дальнейшем концепция «ускорения» была обобщена на широкий класс невыпуклых, вариационных и стохастических задач, став фундаментальным строительным блоком современных алгоритмов машинного обучения (например, алгоритма FISTA)<ref name="FISTA">Beck A., Teboulle M. A fast iterative shrinkage-thresholding algorithm for linear inverse problems // SIAM Journal on Imaging Sciences. — 2009. — Vol. 2, no. 1.</ref>. |
== Постановка задачи == | == Постановка задачи == | ||
| Строка 42: | Строка 42: | ||
== Теоретические свойства и скорость сходимости == | == Теоретические свойства и скорость сходимости == | ||
| - | Основной теоретический результат для метода формулируется с помощью техники '''оценивающих последовательностей''' (estimate sequences)<ref name="Nesterov2004">Nesterov Y. Introductory | + | Основной теоретический результат для метода формулируется с помощью техники '''оценивающих последовательностей''' (estimate sequences)<ref name="Nesterov2004">Nesterov Y. Introductory lectures on convex optimization: A basic course. – Springer Science & Business Media, 2013. – Т. 87.</ref>. |
'''Определение.''' Последовательность функций <tex>\phi_k: \mathbb{R}^n \to \mathbb{R}</tex> называется оценивающей последовательностью для функции <tex>f</tex>, если выполняются два условия: | '''Определение.''' Последовательность функций <tex>\phi_k: \mathbb{R}^n \to \mathbb{R}</tex> называется оценивающей последовательностью для функции <tex>f</tex>, если выполняются два условия: | ||
| Строка 84: | Строка 84: | ||
A_{k+1} (f(y_{k+1}) - f^*) \le \phi_0(x^*) - f^* \le \frac{L}{2}\|x_0 - x^*\|^2. | A_{k+1} (f(y_{k+1}) - f^*) \le \phi_0(x^*) - f^* \le \frac{L}{2}\|x_0 - x^*\|^2. | ||
</tex> | </tex> | ||
| - | Подставляя явный вид <tex>A_{k+1}</tex>, получаем искомую оценку <tex>f(y_k) - f^* \le \frac{2L \|x_0 - x^*\|^2}{(k+1)^2}</tex>. | + | Подставляя явный вид <tex>A_{k+1}</tex>, получаем искомую оценку <tex>f(y_k) - f^* \le \frac{2L \|x_0 - x^*\|^2}{(k+1)^2}</tex>. Ч. т. д. |
| - | + | ||
=== Теорема (О скорости сходимости для сильно выпуклых функций) === | === Теорема (О скорости сходимости для сильно выпуклых функций) === | ||
Если функция <tex>f</tex> является [[Сильно выпуклая функция|сильно выпуклой]] с параметром <tex>\mu > 0</tex>, то метод модифицируется путем замены коэффициента экстраполяции на константу: | Если функция <tex>f</tex> является [[Сильно выпуклая функция|сильно выпуклой]] с параметром <tex>\mu > 0</tex>, то метод модифицируется путем замены коэффициента экстраполяции на константу: | ||
| Строка 101: | Строка 100: | ||
# '''Чувствительность к шуму''': Метод критически зависит от точности вычисления градиента. При добавлении стохастического шума (в SGD) ускорение может быть утрачено без применения специальных техник стабилизации (например, variance reduction). | # '''Чувствительность к шуму''': Метод критически зависит от точности вычисления градиента. При добавлении стохастического шума (в SGD) ускорение может быть утрачено без применения специальных техник стабилизации (например, variance reduction). | ||
# '''Зависимость от константы Липшица''': Практическое применение метода требует знания или оценки константы <tex>L</tex>. Слишком завышенная оценка приводит к замедлению сходимости, заниженная — к расходимости алгоритма. | # '''Зависимость от константы Липшица''': Практическое применение метода требует знания или оценки константы <tex>L</tex>. Слишком завышенная оценка приводит к замедлению сходимости, заниженная — к расходимости алгоритма. | ||
| - | |||
| - | |||
| - | |||
== См. также == | == См. также == | ||
| Строка 112: | Строка 108: | ||
* [http://www.machinelearning.ru/wiki/images/0/03/Rodomanov_FGM.pdf Анализ быстрого градиентного метода нестерова для задач машинного обучения с L1-регуляризацией] | * [http://www.machinelearning.ru/wiki/images/0/03/Rodomanov_FGM.pdf Анализ быстрого градиентного метода нестерова для задач машинного обучения с L1-регуляризацией] | ||
* [[Метод сопряжённых градиентов]] | * [[Метод сопряжённых градиентов]] | ||
| + | |||
| + | == Примечания == | ||
| + | {{примечания}} | ||
| + | |||
| + | == Литература == | ||
| + | * {{статья | автор = Нестеров Ю. Е. | заглавие = Метод решения задачи выпуклого программирования со скоростью сходимости <tex>O(1/k^2)</tex> | издание = Доклады Академии Наук | год = 1983 | том = 269 | номер = 3 }} | ||
| + | * {{статья | автор = Bubeck S. | заглавие = Convex Optimization: Algorithms and Complexity | издание = Foundations and Trends in Machine Learning | год = 2015 | том = 8 | номер = 3-4 }} | ||
| + | * {{статья | автор = Beck A., Teboulle M. | заглавие = A fast iterative shrinkage-thresholding algorithm for linear inverse problems | издание = SIAM Journal on Imaging Sciences | год = 2009 | том = 2 | номер = 1 }} | ||
| + | * {{статья | автор = Nesterov Y. | заглавие = Introductory lectures on convex optimization: A basic course | издательство = Springer Science & Business Media | год = 2013 | том = 87 }} | ||
Текущая версия
| | Статья написана с использованием LLM GLM-5-Turbo и проверена участником Arina Pakalova 14:54, 25 июня 2026 (MSD) |
Ускоренный градиент Нестерова (англ. Nesterov accelerated gradient, NAG) — семейство оптимальных по порядку итеративных методов первого порядка для решения задач выпуклой оптимизации. Метод обеспечивает достижение нижней оценки сложности для класса гладких выпуклых задач, равной , где
— номер итерации[1].
Содержание |
Определение и актуальность в теории оптимизации
В середине 1980-х годов Ю. Е. Нестеровым была доказана нижняя оценка скорости сходимости для класса гладких выпуклых задач минимизации, показывающая, что ни один метод первого порядка не может гарантировать скорость сходимости быстрее, чем . До этой работы стандартный градиентный спуск обеспечивал лишь скорость
.
Ускоренный градиент Нестерова является первым алгоритмом, достигающим этой теоретической нижней границы, что делает его оптимальным в смысле теории вычислительной сложности черного ящика (first-order black-box optimization)[1]. В дальнейшем концепция «ускорения» была обобщена на широкий класс невыпуклых, вариационных и стохастических задач, став фундаментальным строительным блоком современных алгоритмов машинного обучения (например, алгоритма FISTA)[1].
Постановка задачи
Рассмотрим задачу безусловной минимизации:
где целевая функция
удовлетворяет следующим условиям:
- Выпуклость: для любых
выполняется
.
- Гладкость: градиент функции является липшицевым с константой
, то есть для любых
:
Эквивалентное условие гладкости:
Пусть — точка минимума функции
, а
— глобальное минимальное значение.
Описание метода
Классический вариант метода (1983 г.) генерирует две последовательности: основную точку и вспомогательную (экстраполированную) точку
.
Алгоритм:
- Инициализация:
.
- Итерация
:
В данном выражении коэффициент
является частным случаем последовательности
. Существуют эквивалентные формы записи через трехточечный рекуррентный процесс, однако приведенная форма наиболее наглядно демонстрирует механизм «заглядывания вперед» (look-ahead), когда градиент вычисляется не в текущей аппроксимации
, а в экстраполированной точке
.
Теоретические свойства и скорость сходимости
Основной теоретический результат для метода формулируется с помощью техники оценивающих последовательностей (estimate sequences)[1].
Определение. Последовательность функций называется оценивающей последовательностью для функции
, если выполняются два условия:
-
для всех
и всех
.
- Существует такая последовательность
, что
для всех
.
Теорема (О скорости сходимости для гладких выпуклых функций)
Пусть функция выпукла и имеет липшицев градиент с константой
. Тогда для последовательности
, генерируемой ускоренным градиентом Нестерова, выполняется:
Доказательство.
Рассмотрим оценивающую последовательность вида:
где
и
.
В качестве начальной функции выберем
.
Утверждение 1: для всех
. Докажем по индукции.
- База:
является глобальной верхней оценкой для
в силу условия гладкости.
- Шаг индукции: Пусть
. По условию гладкости, выражение в квадратных скобках также является верхней оценкой
. Так как
и
, их выпуклая комбинация
также не превышает
.
Утверждение 2: Выполнение условия .
Найдем минимум правой части выражения для
. Точка минимума квадратичной функции в скобках есть
. Значение в этой точке равно
. Следовательно, минимальное значение
достигается в точке:
Подставляя
и выражение для
, после алгебраических преобразований получаем рекуррентное соотношение
, что в точности совпадает с алгоритмом.
Оценим значение:
Используя предположение индукции
и неравенство Коши-Буняковского-Шварца для градиента, можно показать, что
. Отсюда
.
Утверждение 3: Оценка скорости.
Введем вспомогательную последовательность . Можно показать, что
.
Из разложения оценивающей последовательности в точке
следует:
Подставляя явный вид
, получаем искомую оценку
. Ч. т. д.
Теорема (О скорости сходимости для сильно выпуклых функций)
Если функция является сильно выпуклой с параметром
, то метод модифицируется путем замены коэффициента экстраполяции на константу:
Тогда скорость сходимости становится линейной:
Свойства метода
- Оптимальность: Метод достигает теоретической нижней границы
для класса гладких выпуклых задач. Изменение константы шага или коэффициента экстраполяции не может улучшить асимптотику по порядку.
- Немонотонность: В отличие от классического градиентного спуска, последовательность значений целевой функции
не является монотонно убывающей. Допускаются локальные возрастания функции на отдельных итерациях.
- Чувствительность к шуму: Метод критически зависит от точности вычисления градиента. При добавлении стохастического шума (в SGD) ускорение может быть утрачено без применения специальных техник стабилизации (например, variance reduction).
- Зависимость от константы Липшица: Практическое применение метода требует знания или оценки константы
. Слишком завышенная оценка приводит к замедлению сходимости, заниженная — к расходимости алгоритма.
См. также
- Метод инерции Поляка
- Диагональный метод Левенберга-Марквардта
- Метод наискорейшего спуска -
- Быстрый градиентный метод
- Анализ быстрого градиентного метода нестерова для задач машинного обучения с L1-регуляризацией
- Метод сопряжённых градиентов
Примечания
Литература
- Нестеров Ю. Е. Метод решения задачи выпуклого программирования со скоростью сходимости
// Доклады Академии Наук. — 1983. — Т. 269. — № 3.
- Bubeck S. Convex Optimization: Algorithms and Complexity // Foundations and Trends in Machine Learning. — 2015. — Т. 8. — № 3-4.
- Beck A., Teboulle M. A fast iterative shrinkage-thresholding algorithm for linear inverse problems // SIAM Journal on Imaging Sciences. — 2009. — Т. 2. — № 1.
- Nesterov Y. Introductory lectures on convex optimization: A basic course. — Springer Science & Business Media, 2013. — Т. 87.

