Numerical optimization methods of PMF FPMI, spring 2024

Wednesdays at 10:45 a.m.
1.17 GK

Course description

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

Instructors

Александр Гасников

Роланд Хильдебранд

Course materials

Все материалы за 2025 год

Лекция 1Классификация задач, Сложность алгоритма и класса задач, Метод градиентного спуска

Лекция 2: Градиентный спуск и его окрестности, по пособию «Современные численные методы оптимизации»

1. Градиентный спуск — дифференциальная уравнение Коши и функция Ляпунова, геометрический смысл градиентного спуска (принцип разделя и властвуй — замена на каждом шаге минимизации исходной функции более простой задачей — минимизацией касающегося целевой функции в данной точке параболоида вращения), как минимум мажорирующего параболлоида вращения (параграф 1, замечание 1.2 по части геометрической интерпретации).
2. Сходимость градиентного спуска в условиях Липишицевости целевой функции (~ 1 / \sqrt{k} — оптимальная скорость, параграф 2, в том числе упражнения в конце параграфа, упр. 2.6), в условиях Липшицевости градиента (~ 1 / k — неоптимальная скорость, ускоренные методы сходятся быстрее; параграф 3 (тут излишняя общность и может быть сложно читать, поэтому повезло тем, кто был на лекции, там все было без всякой модельной общности и все просто), но можно ограничиться упражнениями в конце параграфа 2, где показано за счет чего получается оценка лучше — упр. 2.6).
3. Сходимость градиентного спуска в условиях градиентного доминирования Поляка-Лоясиевича (как частный случай, сильной выпуклости). Линейная скорость сходимости. Приложение результата к решению системы нелинейных уравнений g(x) = 0 (параграф 1).

Лекция 3: Оптимальные градиентные методы и операции над алгоритмами и задачами, по пособию «Современные численные методы оптимизации»

1. Сходимость градиентного спуска к экстремальной точке по критерию нормы градиента для задач гладкой (Липшицев градиент), но, вообще говоря, не выпуклой оптимизации (в начале параграфа 1).

2. Оптимальность градиентного метода в негладком выпуклом случае и в гладком в условиях градиентного доминирования (Поляка-Лоясиевича). Без доказательств. Неоптимальность градиентного спуска в выпуклом гладком случае. Квадратичная оптимизация и метод сопряженных градиентов, конспективно (замечание 1.6, для общего развития очень рекомендуется и замечание 1.5 посмотреть заодно — это уже не для квадратичной оптимизации). Метод тяжелого шарика Б.Т. Поляка и ускоренный метод Ю.Е. Нестерова для гладких задач выпуклой и сильно выпуклой оптимизации (все без доказательств и для задач безусловной оптимизации), формулы (1.38) — (1.40).

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

4. Рестарты/регуляризация. Переход по таблице (в негладком случае рестарты см. упражнение 2.3, п. 2). Но главный источник — п. 2.1 приложенной далее книги (Хильдебранд и др.). Она и далее нам будет полезна. В частности, к первым трем лекциям нужно еще прочитать пп. 2.3, 2.4 этой книги, чтобы картина была полной (как раз тут можно найти и соображения из теории размерностей по выбору шага субградиентного метода, было на лекции 2 и спектральный аппарат анализа квадратичных задач с лекции 1 и современные ускоренные методы и их связь с методом тяжелого шарика из лекции 3).

Дополнительная литература: «Выпуклая оптимизация»

Лекция 4: Метод зеркального спуска. Композитная оптимизация. (\delta,L)-оракул и связь между негладкой и гладкой оптимизацией, по пособию Гасникова «Современные численные методы оптимизации» и Хильдебранда и  др. «Выпуклая оптимизация»
1. Метод зеркального спуска (Гасников, параграф 2 в конце -- после замечания 2.1)
2. Композитная оптимизация (Гасников, параграф 3, пример 3.1 и Хильдебранд 2.13.8 Регуляризация и рестарты, см. также раздел 3.9)
3. \delta,L)-оракул и связь между негладкой и гладкой оптимизацией (Гасников, параграф 2 и упражнение 2.1)

Лекция 5: Стохастическая оптимизация. Первая глава книги Algorithmic Stochastic Convex Optimization
1. Принцип максимума правдоподобия. Пример схемы испытаний Бернулли.
2. Сходимость стохастического градиентного спуска для задач негладкой выпуклой стох. оптимизации.
3. Два подхода к решению задачи стохастической оптимизации: Монте-Карло (оффлайн), Стохастический градиентный спуск (онлайн).
4. Переобучение. Раняя остановка. Регулризация

Лекция 6. Стохастическая оптимизация. Гладкий случай
1. Гладкий случай. Батчирование, стр. 186
Для ускоренных процедур следует смотреть вот тут (но тут без доказательств)

Обзорно стохастическая оптимизация изложена тут

Лекция 7: Стоимость итерации

1. Покомпонентные методы

Бубек С. 6.4 Random Coordinate Descent и «Современные численные методы оптимизации», Замечание 2 в Приложении

2. Методы маломерной оптимизации. Метод центров тяжести и эллипсоидов в «Современные численные методы оптимизации» упр. 1.4 ( более подробно можно посмотреть в книге Бубека С.).
Пример метода золотого сечения (одномерный поиск) и покоординатного метода с одномерным поиском см. тут
3. Метод условного градиента Франк-Вульфа (см. книгу Бубека С. и пример там). С доказательством

Литература

[1] Воронцова Е.А., Хильдебранд Р., Гасников А.В., Стонякин Ф.С. Современные численные методы оптимизации. Выпуклый анализ. М.: МФТИ, 2021

[2] Гасников А.В. Универсальный градиентный спуск. М.: МЦНМО, 2020

Книга по стохастической оптимизации. Также видеолекция по стохастической оптимизации от Александра Гасникова.

Материал, который по-простому поясняет суть методов одномерной оптимизации: Поиск наивкуснейшей шоколадки.

Exam program

1. Понятие о численных методах оптимизации. Классы задач оптимизации ([2] п. 1.13). Сложность алгоритмов на классах задач. Сопротивляющийся оракул. (лекция 1)

2. Метод зеркального спуска ([1] параграф 2 в конце -- после замечания 2.1). Композитная оптимизация ([1] параграф 3, пример 3.1 и [2] п. 2.13.8, лекция 4)

3. (\delta,L)-оракул и связь между негладкой и гладкой оптимизацией ([1] параграф 2 и упражнение 2.1 , лекция 4

4. Метод градиентного спуска. Способ выбора шага. Случай квадратичной функции ([2] пп. 2.3, 2.4, лекция 1). Сходимость в выпуклом и сильно выпуклом случае. Наискорейший спуск. ([1] параграф 1, лекция 2

5. Невыпуклая оптимизация. Примеры трудных задач невыпуклой оптимизации. Условие Поляка-Лоясиевича (ПЛ), глобальная сходимость градиентного спуска дляневыпуклых задач. ([1] параграф 1, лекция 2)

6. Переход к двойственной задаче. Уменьшение размерности задачи в случае выпуклости и сепарабельности функционала. ([1] параграф 4; [2] п. 1.9; лекция 12)

7. Сглаживание двойственного функционала цены регуляризацией. ([1] параграф 4; [2] п. 1.9; лекция 3, лекция 12)

8. Метод тяжёлого шарика. Физическая интерпретация. Скорость сходимости. ([2], п. 2.4; лекция 3)

9. Ускоренный метод Нестерова. Скорость сходимости. ([1], п. 2.4; [2] п. 2.5, лекция 3)

10. Унимодальные функции одной переменной. Методы одномерной минимизации (метод дихотомии, метод золотого сечения). Скорость сходимости. ([2] п. 2.2.1; [1] упражнение 4.7; лекции 1, 7)

11. Метод эллипсоидов. Отделяющий оракул. Скорость сходимости. ([2] п. 2.2.3; [1] упражнение 1.4; лекция 7)

12. Метод центров тяжести, скорость сходимости. ([2] п. 2.2.2; [1] упражнение 1.4; лекция 7)

13. Метод сопряжённых градиентов ([1] замечания 1.5, 1.6, лекция 3) 

14. Способы выбора шага в методах. Наискорейший спуск. Адаптивный способ выбора шага. ([1] замечание 1.4, стр. 58-60, упражнение 2.6, лекции 2,3)

15. Метод проекции (суб-)градиента. Скорость сходимости. Нижняя граница в методе градиента с проекцией. (лекция 12)

16. Метод условного градиента (Франк-Вульфа). Примеры множеств, на которых легко минимизировать линейный функционал. Скорость сходимости. Разреженность представления генерируемых точек. ([2], п. 2.6, лекция 7)

17. Покомпонентные методы ([1] Замечанипе 2 в Приложении 2, лекция 7)

18. Метод Ньютона. Аффинная инвариантность. Самосогласованные функции ([2] п. 2.9.1). Ньютоновский декремент. Квадратичная скорость локальной сходимости. ([1] Приложение; лекция 8)

19. Метод Ньютона с кубической регуляризацией. Избегание методом седловых точек. ([1] Приложение; лекция 9)

20. Метод множителей Лагранжа, условия ККТ, условие Слейтера. ([2], пп. 1.9.1., 1.9.5, лекция 11)

21. Штрафные функции. Барьеры. Примеры. Теоремы сходимости. (лекция 10)

22. Стохастическая оптимизация. Минибатчинг и распараллеливание. ([1] Приложение; статья, лекция 6)

23. Решение обратных задач методом градиентного спуска. Учёт ограничений с помощью ввода множителей Лагранжа. ([2], п. 2.11.2, лекция 14)

24. Принцип автоматического дифференцирования. Два разных способа расчёта производной. ([2] п. 3.9.1, лекция 14)

[1] А.В. Гасников. Современные численные методы оптимизации. 2-е издание, 2021.
[2] Е.В. Воронцова и соавторы. Выпуклая оптимизация, 2021.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.