Обучение с подкреплением (курс лекций) / 2023

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: 250px В отличие от классического машинного обучения, в обучении с подкреплени...)
Текущая версия (13:32, 22 сентября 2023) (править) (отменить)
 
(10 промежуточных версий не показаны.)
Строка 1: Строка 1:
[[Изображение:RL_robot.png|right|250px]]
[[Изображение:RL_robot.png|right|250px]]
-
В отличие от классического машинного обучения, в обучении с подкреплением алгоритму на вход не поступает обучающая выборка. Вместо этого, обучение проводится <<методом проб и ошибок>>: агент должен сам собрать данные в ходе взаимодействия с окружающим миром (средой) и на основе собранного опыта научиться максимизировать получаемый отклик - подкрепление, или награду. Курс направлен на изучение алгоритмов последних лет, показывающих state-of-the-art результаты во многих задачах дискретного и непрерывного управления за счёт совмещения классической теории с парадигмой глубинного обучения.
+
В отличие от классического машинного обучения, в обучении с подкреплением алгоритму на вход не поступает обучающая выборка. Вместо этого, обучение проводится "методом проб и ошибок": агент должен сам собрать данные в ходе взаимодействия с окружающим миром (средой) и на основе собранного опыта научиться максимизировать получаемый отклик - подкрепление, или награду. Курс направлен на изучение алгоритмов последних лет, показывающих state-of-the-art результаты во многих задачах дискретного и непрерывного управления за счёт совмещения классической теории с парадигмой глубинного обучения.
-
Читается для магистров 617-й, 522-й и 622-й групп.
+
Читается для магистров 617-й, 621-й, 522-й и 622-й групп.
'''Преподаватели:''' Кропотов Дмитрий, Темирчев Павел, Илья Синильщиков, Алексей Медведев, Дмитрий Медведев, Владимир Ипполитов, Миньчуань Сюй.
'''Преподаватели:''' Кропотов Дмитрий, Темирчев Павел, Илья Синильщиков, Алексей Медведев, Дмитрий Медведев, Владимир Ипполитов, Миньчуань Сюй.
Строка 9: Строка 9:
'''Расписание:'''
'''Расписание:'''
Занятия проводятся в смешанном онлайн/офлайн формате. Распределение см. в расписании занятий ниже.
Занятия проводятся в смешанном онлайн/офлайн формате. Распределение см. в расписании занятий ниже.
-
* лекции: по пятницам в 14-35, ауд. ??
+
* лекции: по пятницам в 14-35, ауд. 526б
-
* семинары: по пятницам в 16:20, ауд. ??
+
* семинары: по пятницам в 16:20, ауд. 526б
'''Канал в Telegram:''' [https://t.me/+vZ-2d2ov5Pc5YTcy ссылка]
'''Канал в Telegram:''' [https://t.me/+vZ-2d2ov5Pc5YTcy ссылка]
-
'''Видеозаписи занятий:''' TBA
+
'''Видеозаписи занятий:''' [https://www.youtube.com/playlist?list=PLVF5PzSHILHQefZ-fAbapNqi7AMQoqL-D ссылка]
==Критерии оценки==
==Критерии оценки==
Строка 43: Строка 43:
!Лабораторная !! Ориентировочная дата выдачи<br>(может быть изменена!) !! Срок !! Баллы !! Штраф<br> за день опоздания
!Лабораторная !! Ориентировочная дата выдачи<br>(может быть изменена!) !! Срок !! Баллы !! Штраф<br> за день опоздания
|-
|-
-
| [https://github.com/eugenbobrov/practical-rl/blob/master/hw-1-deep-crossentropy-method/hw-1-deep-crossentropy-method.ipynb CEM] || 16 сентября || 2 недели || 10 || -0.3
+
| Deep Crossentropy Method || 8 сентября || 1 неделя || 10 || -0.3
|-
|-
-
| [https://github.com/eugenbobrov/practical-rl/tree/master/hw-2-value-policy-iteration Dyn. prog.] || 30 сентября || 1 неделя || 10 || -0.3
+
| Policy Iteration + Theory || 15 сентября || 1 неделя || 10 || -0.3
|-
|-
-
| DQN || 7 октября || 2 недели || 20 || -0.6
+
| DQN || 29 сентября || 2 недели || 20 || -0.6
|-
|-
-
| A2C || 28 октября || 2 недели || 20 || -0.6
+
| A2C || 20 октября || 2 недели || 20 || -0.6
|-
|-
-
| PPO || 18 ноября || 2 недели || 20 || -0.6
+
| PPO || 10 ноября || 2 недели || 20 || -0.6
 +
|-
 +
| MCTS || 1 декабря || 2 недели || 20 || -0.6
|-
|-
|}
|}
-
 
-
== Экзамен ==
 
-
Экзамен состоится очно, дата проведения будет объявлена позже. На экзамене все студенты берут случайный билет. В течение часа студент самостоятельно пишет ответ на экзаменационный вопрос, при этом можно пользоваться любыми материалами. Далее студент устно отвечает билет экзаменатору и обсуждаются различные вопросы по курсу уже без использования материалов. Для положительной оценки за экзамен необходимо также справиться с вопросами из теоретического минимума.
 
-
 
-
''Здесь будет список вопросов к экзамену''
 
== Расписание занятий ==
== Расписание занятий ==
{| class = "standard"
{| class = "standard"
-
! !! Занятие !! Материалы !! Дополнительные материалы !! Видеозапись
+
! Дата !! Формат !! Занятие !! Материалы !! Дополнительные материалы
|-
|-
| Лекция<br>
| Лекция<br>
-
''16 сентября''
+
''8 сентября''
 +
| Онлайн
| Введение в курс. Кросс-энтропийный метод (CEM).
| Введение в курс. Кросс-энтропийный метод (CEM).
|
|
Строка 75: Строка 73:
* [https://lilianweng.github.io/lil-log/2019/09/05/evolution-strategies.html Обзор эволюционных стратегий]
* [https://lilianweng.github.io/lil-log/2019/09/05/evolution-strategies.html Обзор эволюционных стратегий]
* [https://arxiv.org/pdf/1906.04358.pdf WANN]
* [https://arxiv.org/pdf/1906.04358.pdf WANN]
-
|
 
|-
|-
| Семинар<br>
| Семинар<br>
-
''16 сентября''
+
''8 сентября''
 +
| Онлайн
| Библиотека OpenAI gym. Реализация табличного кросс-энтропийного метода.
| Библиотека OpenAI gym. Реализация табличного кросс-энтропийного метода.
-
|
 
|
|
|
|
|-
|-
-
 
| Лекция<br>
| Лекция<br>
-
''23 сентября''
+
''15 сентября''
 +
| Онлайн
| Динамическое программирование. Value Iteration, Policy Iteration.
| Динамическое программирование. Value Iteration, Policy Iteration.
|
|
Строка 92: Строка 89:
|
|
* [https://lilianweng.github.io/lil-log/2018/02/19/a-long-peek-into-reinforcement-learning.html A (Long) Peek into Reinforcement Learning]
* [https://lilianweng.github.io/lil-log/2018/02/19/a-long-peek-into-reinforcement-learning.html A (Long) Peek into Reinforcement Learning]
 +
|-
 +
| Семинар<br>
 +
''15 сентября''
 +
| Онлайн
 +
| Реализация Value Iteration.
|
|
|-
|-
-
 
| Лекция<br>
| Лекция<br>
-
''30 сентября''
+
''22 сентября''
-
| Табличные методы. TD-обучение.
+
| Очно
 +
| Табличные методы. TD-обучение, Q-обучение.
|
|
* [[Media:TD_learning_2021.pdf|Слайды занятия]]
* [[Media:TD_learning_2021.pdf|Слайды занятия]]
Строка 103: Строка 105:
|
|
* [https://distill.pub/2019/paths-perspective-on-value-learning/ Визуализация TD-обучения (distill)]
* [https://distill.pub/2019/paths-perspective-on-value-learning/ Визуализация TD-обучения (distill)]
-
|
 
|-
|-
| Семинар<br>
| Семинар<br>
-
''30 сентября''
+
''22 сентября''
 +
| Онлайн
| Табличное Q-обучение.
| Табличное Q-обучение.
-
|
 
-
|
 
|
|
|-
|-
| Лекция<br>
| Лекция<br>
-
''7 октября''
+
''29 сентября''
 +
| Очно
| Deep Q-Network (DQN) и его модификации.
| Deep Q-Network (DQN) и его модификации.
|
|
Строка 125: Строка 126:
* [https://openreview.net/pdf?id=r1lyTjAqYX R2D2]
* [https://openreview.net/pdf?id=r1lyTjAqYX R2D2]
* [https://arxiv.org/abs/2003.13350 Agent57]
* [https://arxiv.org/abs/2003.13350 Agent57]
-
|
 
-
|-
 
-
| Семирнар<br>
 
-
''7 октября''
 
-
| Модификации DQN.
 
-
|
 
-
|
 
-
|
 
|-
|-
| Лекция<br>
| Лекция<br>
-
''14 октября''
+
''6 октября''
 +
| Очно
| Distributional RL. Quantile Regression DQN (QR-DQN).
| Distributional RL. Quantile Regression DQN (QR-DQN).
|
|
Строка 143: Строка 137:
* [https://arxiv.org/pdf/1806.06923.pdf Implicit Quantile Networks (IQN)]
* [https://arxiv.org/pdf/1806.06923.pdf Implicit Quantile Networks (IQN)]
* [https://arxiv.org/pdf/1710.02298.pdf Rainbow DQN]
* [https://arxiv.org/pdf/1710.02298.pdf Rainbow DQN]
-
|
 
-
|-
 
-
| Семинар<br>
 
-
''14 октября''
 
-
| Distributional RL - продолжение.
 
-
|
 
-
|
 
-
|
 
|-
|-
| Лекция<br>
| Лекция<br>
-
''21 октября''
+
''13 октября''
-
| Многорукие бандиты.
+
| Очно
 +
| Многорукие бандиты, внутренняя мотивация для исследования среды.
|
|
* [https://banditalgs.com полезный ресурс по бандитам]
* [https://banditalgs.com полезный ресурс по бандитам]
-
|
 
-
|
 
-
|-
 
-
| Семинар<br>
 
-
''21 октября''
 
-
| Внутренняя мотивация для исследования среды.
 
-
|
 
* [[Media:Exploration-vs-exploitation.pdf|Слайды занятия]]
* [[Media:Exploration-vs-exploitation.pdf|Слайды занятия]]
* [https://drive.google.com/file/d/1Z4W_-0IaMNpZnhnMkqcDVM_EA79GFJo-/view Sutton, Barto], ch.2
* [https://drive.google.com/file/d/1Z4W_-0IaMNpZnhnMkqcDVM_EA79GFJo-/view Sutton, Barto], ch.2
Строка 172: Строка 152:
* [https://arxiv.org/abs/1605.09674 Variational Information Maximizing Exploration (VIME)]
* [https://arxiv.org/abs/1605.09674 Variational Information Maximizing Exploration (VIME)]
* [https://arxiv.org/abs/2002.06038 Never Give Up (NGU)]
* [https://arxiv.org/abs/2002.06038 Never Give Up (NGU)]
-
|
 
|-
|-
| Лекция<br>
| Лекция<br>
-
''28 октября''
+
''20 октября''
 +
| Очно
| Policy gradient подход. Advantage Actor-Critic (A2C).
| Policy gradient подход. Advantage Actor-Critic (A2C).
|
|
Строка 183: Строка 163:
* [https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html#what-is-policy-gradient Обзор Policy Gradient алгоритмов]
* [https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html#what-is-policy-gradient Обзор Policy Gradient алгоритмов]
* [https://hackernoon.com/intuitive-rl-intro-to-advantage-actor-critic-a2c-4ff545978752 Комикс про A2C]
* [https://hackernoon.com/intuitive-rl-intro-to-advantage-actor-critic-a2c-4ff545978752 Комикс про A2C]
-
|
 
|-
|-
| Семинар<br>
| Семинар<br>
-
''28 октября''
+
''20 октября''
-
| REINFORCE.
+
| Онлайн
-
|
+
| Реализация policy gradient
|
|
|
|
|-
|-
| Лекция<br>
| Лекция<br>
-
''11 ноября''
+
''27 октября''
 +
| Онлайн
| Trust-Region Policy Optimization (TRPO).
| Trust-Region Policy Optimization (TRPO).
|
|
* [https://arxiv.org/pdf/1502.05477.pdf TRPO]
* [https://arxiv.org/pdf/1502.05477.pdf TRPO]
-
|
 
|
|
|-
|-
| Лекция<br>
| Лекция<br>
-
''18 ноября''
+
''3 ноября''
-
| Proximal Policy Optimization (PPO).
+
| Очно
 +
| Proximal Policy Optimization (PPO) и Generalized Advantage Estimation (GAE).
|
|
* [[Media:MSU_2021_PPO.pdf|Слайды занятия]]
* [[Media:MSU_2021_PPO.pdf|Слайды занятия]]
* [https://arxiv.org/pdf/1707.06347.pdf PPO]
* [https://arxiv.org/pdf/1707.06347.pdf PPO]
 +
* [https://arxiv.org/pdf/1506.02438.pdf GAE]
|
|
* [https://arxiv.org/pdf/2005.12729.pdf Implementation matters in RL]
* [https://arxiv.org/pdf/2005.12729.pdf Implementation matters in RL]
-
|
 
-
|-
 
-
| Семинар<br>
 
-
''18 ноября''
 
-
| Generalized Advantage Estimation (GAE).
 
-
|
 
-
* [https://arxiv.org/pdf/1506.02438.pdf GAE]
 
-
|
 
* [https://drive.google.com/file/d/1Z4W_-0IaMNpZnhnMkqcDVM_EA79GFJo-/view Sutton, Barto], ch.12
* [https://drive.google.com/file/d/1Z4W_-0IaMNpZnhnMkqcDVM_EA79GFJo-/view Sutton, Barto], ch.12
-
|
 
|-
|-
| Лекция<br>
| Лекция<br>
-
''25 ноября''
+
''10 ноября''
-
| Непрерывное управление.
+
| Очно
 +
| DDPG, Soft Actor Critic.
|
|
* [https://arxiv.org/pdf/1509.02971.pdf Deep Deterministic Policy Gradient (DDPG)]
* [https://arxiv.org/pdf/1509.02971.pdf Deep Deterministic Policy Gradient (DDPG)]
Строка 228: Строка 201:
|
|
* [https://arxiv.org/abs/2005.04269 Truncated Quantile Critics (TQC)]
* [https://arxiv.org/abs/2005.04269 Truncated Quantile Critics (TQC)]
-
|
 
-
|-
 
-
| Семинар<br>
 
-
''25 ноября''
 
-
| Soft Actor Critic. Управление, как вероятностный вывод.
 
-
|
 
* [https://arxiv.org/pdf/1805.00909.pdf RL as probabilistic inference]
* [https://arxiv.org/pdf/1805.00909.pdf RL as probabilistic inference]
-
|
 
-
|
 
|-
|-
| Лекция<br>
| Лекция<br>
-
''2 декабря''
+
''17 ноября''
-
| Имитационное обучение.
+
| Очно
-
|
+
| Имитационное обучение. Обратное обучение с подкреплением.
-
|
+
-
|
+
-
|-
+
-
| Семинар<br>
+
-
''2 декабря''
+
-
| Обратное обучение с подкреплением.
+
|
|
* [https://arxiv.org/pdf/1603.00448.pdf Guided Cost Learning]
* [https://arxiv.org/pdf/1603.00448.pdf Guided Cost Learning]
* [https://arxiv.org/pdf/1606.03476.pdf Generative Adversarial Imitation Learning (GAIL)]
* [https://arxiv.org/pdf/1606.03476.pdf Generative Adversarial Imitation Learning (GAIL)]
-
|
 
|
|
|-
|-
| Лекция<br>
| Лекция<br>
-
''9 декабря''
+
''24 ноября''
-
| Monte Carlo Tree Search.
+
| Очно
-
|
+
| Monte Carlo Tree Search. AlphaZero, MuZero.
-
|
+
-
|
+
-
|-
+
-
| Семинар<br>
+
-
''9 декабря''
+
-
| AlphaZero, MuZero.
+
|
|
* [https://discovery.ucl.ac.uk/id/eprint/10045895/1/agz_unformatted_nature.pdf AlphaZero]
* [https://discovery.ucl.ac.uk/id/eprint/10045895/1/agz_unformatted_nature.pdf AlphaZero]
Строка 269: Строка 221:
|
|
* [https://miro.medium.com/max/2000/1*0pn33bETjYOimWjlqDLLNw.png AlphaZero in one picture]
* [https://miro.medium.com/max/2000/1*0pn33bETjYOimWjlqDLLNw.png AlphaZero in one picture]
-
|
 
|-
|-
| Лекция<br>
| Лекция<br>
-
''16 декабря''
+
''1 декабря''
-
| Linear Quadratic Regulator (LQR). Model-based RL.
+
| Онлайн
 +
| Linear Quadratic Regulator (LQR). Model-based RL. Dreamer.
|
|
* [http://rail.eecs.berkeley.edu/deeprlcourse/static/slides/lec-10.pdf Презентация по MCTS и LQR]
* [http://rail.eecs.berkeley.edu/deeprlcourse/static/slides/lec-10.pdf Презентация по MCTS и LQR]
* [http://rail.eecs.berkeley.edu/deeprlcourse/static/slides/lec-11.pdf Презентация по Model-based RL]
* [http://rail.eecs.berkeley.edu/deeprlcourse/static/slides/lec-11.pdf Презентация по Model-based RL]
-
|
 
-
* [https://worldmodels.github.io/ World Models]
 
-
|
 
-
|-
 
-
| Семинар<br>
 
-
''16 декабря''
 
-
| Dreamer
 
-
|
 
* [https://arxiv.org/abs/1912.01603 Dreamer v1]
* [https://arxiv.org/abs/1912.01603 Dreamer v1]
* [https://arxiv.org/abs/2010.02193 Dreamer v2]
* [https://arxiv.org/abs/2010.02193 Dreamer v2]
|
|
-
|
+
* [https://worldmodels.github.io/ World Models]
|-
|-
|}
|}
== Страницы курса прошлых лет ==
== Страницы курса прошлых лет ==
-
[[Обучение с подкреплением (курс лекций) / 2020|2020й год]]<br>
+
[[Обучение с подкреплением (курс лекций) / 2020|2020-й год]]<br>
-
[[Обучение с подкреплением (курс лекций) / 2021|2021й год]]<br>
+
[[Обучение с подкреплением (курс лекций) / 2021|2021-й год]]<br>
-
[[Обучение с подкреплением (курс лекций) / 2022|2022й год]]<br>
+
[[Обучение с подкреплением (курс лекций) / 2022|2022-й год]]<br>
== Материалы ==
== Материалы ==

Текущая версия

В отличие от классического машинного обучения, в обучении с подкреплением алгоритму на вход не поступает обучающая выборка. Вместо этого, обучение проводится "методом проб и ошибок": агент должен сам собрать данные в ходе взаимодействия с окружающим миром (средой) и на основе собранного опыта научиться максимизировать получаемый отклик - подкрепление, или награду. Курс направлен на изучение алгоритмов последних лет, показывающих state-of-the-art результаты во многих задачах дискретного и непрерывного управления за счёт совмещения классической теории с парадигмой глубинного обучения.

Читается для магистров 617-й, 621-й, 522-й и 622-й групп.

Преподаватели: Кропотов Дмитрий, Темирчев Павел, Илья Синильщиков, Алексей Медведев, Дмитрий Медведев, Владимир Ипполитов, Миньчуань Сюй.

Расписание: Занятия проводятся в смешанном онлайн/офлайн формате. Распределение см. в расписании занятий ниже.

  • лекции: по пятницам в 14-35, ауд. 526б
  • семинары: по пятницам в 16:20, ауд. 526б

Канал в Telegram: ссылка

Видеозаписи занятий: ссылка

Содержание

Критерии оценки

В курсе предусмотрено шесть лабораторных работ в формате ноутбуков и письменный экзамен. Итоговая оценка по курсу в 10-балльной шкале рассчитывается по формуле:

Итоговая оценка = Округл.вверх (0.3 * Экз + 0.7 * Лаб)

Оценке 5 в пятибалльной шкале соответствует оценка 8 и выше, оценке 4 - оценка [6, 8), оценке 3 - промежуток [4, 6). Помимо баллов необходимо также выполнить следующие условия:

Итог Необходимые условия
5 сдано не менее 5 заданий, оценка за экзамен >= 6
4 сдано не менее 4 заданий, оценка за экзамен >= 4
3 сдано не менее 3 заданий, оценка за экзамен >= 4

Домашние задания

Максимальный балл за лабораторные - 100 баллов; итоговая оценка за лабораторные получается делением на десять. За некоторые задания можно будет получить бонусные баллы, о чем будет объявляться при выдаче задания.

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

Лабораторная Ориентировочная дата выдачи
(может быть изменена!)
Срок Баллы Штраф
за день опоздания
Deep Crossentropy Method 8 сентября 1 неделя 10 -0.3
Policy Iteration + Theory 15 сентября 1 неделя 10 -0.3
DQN 29 сентября 2 недели 20 -0.6
A2C 20 октября 2 недели 20 -0.6
PPO 10 ноября 2 недели 20 -0.6
MCTS 1 декабря 2 недели 20 -0.6

Расписание занятий

Дата Формат Занятие Материалы Дополнительные материалы
Лекция

8 сентября

Онлайн Введение в курс. Кросс-энтропийный метод (CEM).
Семинар

8 сентября

Онлайн Библиотека OpenAI gym. Реализация табличного кросс-энтропийного метода.
Лекция

15 сентября

Онлайн Динамическое программирование. Value Iteration, Policy Iteration.
Семинар

15 сентября

Онлайн Реализация Value Iteration.
Лекция

22 сентября

Очно Табличные методы. TD-обучение, Q-обучение.
Семинар

22 сентября

Онлайн Табличное Q-обучение.
Лекция

29 сентября

Очно Deep Q-Network (DQN) и его модификации.
Лекция

6 октября

Очно Distributional RL. Quantile Regression DQN (QR-DQN).
Лекция

13 октября

Очно Многорукие бандиты, внутренняя мотивация для исследования среды.
Лекция

20 октября

Очно Policy gradient подход. Advantage Actor-Critic (A2C).
Семинар

20 октября

Онлайн Реализация policy gradient
Лекция

27 октября

Онлайн Trust-Region Policy Optimization (TRPO).
Лекция

3 ноября

Очно Proximal Policy Optimization (PPO) и Generalized Advantage Estimation (GAE).
Лекция

10 ноября

Очно DDPG, Soft Actor Critic.
Лекция

17 ноября

Очно Имитационное обучение. Обратное обучение с подкреплением.
Лекция

24 ноября

Очно Monte Carlo Tree Search. AlphaZero, MuZero.
Лекция

1 декабря

Онлайн Linear Quadratic Regulator (LQR). Model-based RL. Dreamer.

Страницы курса прошлых лет

2020-й год
2021-й год
2022-й год

Материалы

Личные инструменты