Магистратура
2025/2026




Методы оптимизации
Статус:
Курс обязательный (Машинное обучение в цифровом продукте)
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 1, 2 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Матвеева Анна Владимировна
Язык:
русский
Кредиты:
6
Контактные часы:
56
Программа дисциплины
Аннотация
Дисциплина преподается с целью формирования у студентов фундаментальных знаний и практических навыков в области методов оптимизации, применяемых в машинном обучении и глубинном обучении. В курсе рассматриваются скорости сходимости итерационных методов, матрично-векторное дифференцирование, методы градиентного типа, методы Ньютона и их модификации, задачи условной и негладкой оптимизации, выпуклый анализ и двойственные задачи. Отдельное внимание уделяется современным стохастическим методам (SGD, SAG, SVRG), проксимальным алгоритмам и автоматическому дифференцированию. В завершении курса студенты изучают практические аспекты оптимизации при обучении нейронных сетей в библиотеке PyTorch.
Цель освоения дисциплины
- Формирование знаний, умений и навыков в области методов оптимизации для решения задач машинного обучения, включая как классические алгоритмы выпуклой оптимизации, так и современные стохастические и проксимальные методы, применяемые в глубинном обучении.
Планируемые результаты обучения
- Знать классы функций и множества, используемые в оптимизации (выпуклые множества, выпуклые функции)
- Знать основные методы безусловной и условной оптимизации (градиентный спуск, Ньютона, сопряжённые градиенты, квазиньютоновские методы, проксимальные методы)
- Знать современные стохастические методы (SGD, SAG, SVRG) и их роль в машинном обучении
- Знать основы автоматического дифференцирования и алгоритм обратного распространения ошибки
- Применять различные алгоритмы оптимизации для решения практических задач
- Анализировать скорость сходимости и корректность работы методов
- Реализовывать базовые методы оптимизации на Python и в PyTorch
- Использовать регуляризацию и методы борьбы с переобучением
- Владеть инструментами математического анализа для вывода методов оптимизации
- Владеть навыками постановки и решения задач условной оптимизации с использованием KKT
- Владеть практическими приёмами обучения моделей машинного обучения и нейросетей с использованием стохастических методов оптимизации
Содержание учебной дисциплины
- Введение в курс. Скорости сходимости итерационных процессов. Матрично-векторное дифференцирование
- Классы функций для оптимизации. Точная и неточная одномерная оптимизация
- Метод градиентного спуска. Разностное дифференцирование
- Стандартные матричные разложения. Метод Ньютона
- Метод сопряжённых градиентов
- Безгессианный метод Ньютона. Выпуклые множества
- Квазиньютоновские методы. Выпуклые функции
- Задачи условной оптимизации. Теорема Каруша–Куна–Таккера
- Линейное программирование. Симплекс-метод. Двойственные задачи
- Метод Ньютона и метод логарифмических барьеров для условной оптимизации
- Прямо-двойственные методы. Применение метода логарифмических барьеров в SVM
- Негладкая выпуклая оптимизация. Субградиентный метод. Субдифференциальное исчисление
- Проксимальные методы оптимизации. Сопряжённые функции и нормы
- Стохастическая оптимизация: методы SGD, SAG, SVRG. Проекции и проксимальные операторы
- Автоматическое дифференцирование по графу вычислений
- Обучение нейронных сетей
- Дифференцирование через процесс оптимизации. Дифференцирование по комплексным переменным
Элементы контроля
- Домашние работыРегулярные индивидуальные задания, направленные на закрепление теоретического материала и практическое освоение методов оптимизации. Включают как аналитические задачи (вывод формул, доказательства свойств), которые будут идти в формате бонуса, так и вычислительные эксперименты с реализацией алгоритмов в Python/PyTorch.
- ЭкзаменФинальное испытание по дисциплине. Студент получает билет, включающий один теоретический вопрос и одну практическую задачу. Ответ предполагает устное изложение теоретического материала, вывод основных формул и решение практической задачи (аналитической или вычислительной).
Список литературы
Рекомендуемая основная литература
- Nocedal, J., & Wright, S. J. (1999). Numerical Optimization. New York: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=104566
Рекомендуемая дополнительная литература
- Optimization for Machine Learning Lecture 1: Introduction to Convexity. (2011). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.9CAA7B97