Обучение с подкреплением (курс лекций) / 2023
Материал из MachineLearning.
(Новая: 250px В отличие от классического машинного обучения, в обучении с подкреплени...) |
|||
(10 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
[[Изображение:RL_robot.png|right|250px]] | [[Изображение:RL_robot.png|right|250px]] | ||
- | В отличие от классического машинного обучения, в обучении с подкреплением алгоритму на вход не поступает обучающая выборка. Вместо этого, обучение проводится | + | В отличие от классического машинного обучения, в обучении с подкреплением алгоритму на вход не поступает обучающая выборка. Вместо этого, обучение проводится "методом проб и ошибок": агент должен сам собрать данные в ходе взаимодействия с окружающим миром (средой) и на основе собранного опыта научиться максимизировать получаемый отклик - подкрепление, или награду. Курс направлен на изучение алгоритмов последних лет, показывающих 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 ссылка] | ||
- | '''Видеозаписи занятий:''' | + | '''Видеозаписи занятий:''' [https://www.youtube.com/playlist?list=PLVF5PzSHILHQefZ-fAbapNqi7AMQoqL-D ссылка] |
==Критерии оценки== | ==Критерии оценки== | ||
Строка 43: | Строка 43: | ||
!Лабораторная !! Ориентировочная дата выдачи<br>(может быть изменена!) !! Срок !! Баллы !! Штраф<br> за день опоздания | !Лабораторная !! Ориентировочная дата выдачи<br>(может быть изменена!) !! Срок !! Баллы !! Штраф<br> за день опоздания | ||
|- | |- | ||
- | | | + | | Deep Crossentropy Method || 8 сентября || 1 неделя || 10 || -0.3 |
|- | |- | ||
- | | | + | | Policy Iteration + Theory || 15 сентября || 1 неделя || 10 || -0.3 |
|- | |- | ||
- | | DQN || | + | | DQN || 29 сентября || 2 недели || 20 || -0.6 |
|- | |- | ||
- | | A2C || | + | | A2C || 20 октября || 2 недели || 20 || -0.6 |
|- | |- | ||
- | | PPO || | + | | PPO || 10 ноября || 2 недели || 20 || -0.6 |
+ | |- | ||
+ | | MCTS || 1 декабря || 2 недели || 20 || -0.6 | ||
|- | |- | ||
|} | |} | ||
- | |||
- | |||
- | |||
- | |||
- | |||
== Расписание занятий == | == Расписание занятий == | ||
{| class = "standard" | {| class = "standard" | ||
- | ! !! Занятие !! Материалы !! Дополнительные материалы | + | ! Дата !! Формат !! Занятие !! Материалы !! Дополнительные материалы |
|- | |- | ||
| Лекция<br> | | Лекция<br> | ||
- | '' | + | ''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> | ||
- | '' | + | ''8 сентября'' |
+ | | Онлайн | ||
| Библиотека OpenAI gym. Реализация табличного кросс-энтропийного метода. | | Библиотека OpenAI gym. Реализация табличного кросс-энтропийного метода. | ||
- | |||
| | | | ||
| | | | ||
|- | |- | ||
- | |||
| Лекция<br> | | Лекция<br> | ||
- | '' | + | ''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> | ||
- | '' | + | ''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> | ||
- | '' | + | ''22 сентября'' |
+ | | Онлайн | ||
| Табличное Q-обучение. | | Табличное Q-обучение. | ||
- | |||
- | |||
| | | | ||
|- | |- | ||
| Лекция<br> | | Лекция<br> | ||
- | '' | + | ''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> | | Лекция<br> | ||
- | '' | + | ''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> | | Лекция<br> | ||
- | '' | + | ''13 октября'' |
- | | Многорукие бандиты. | + | | Очно |
+ | | Многорукие бандиты, внутренняя мотивация для исследования среды. | ||
| | | | ||
* [https://banditalgs.com полезный ресурс по бандитам] | * [https://banditalgs.com полезный ресурс по бандитам] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
* [[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> | ||
- | '' | + | ''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> | ||
- | '' | + | ''20 октября'' |
- | | | + | | Онлайн |
- | | | + | | Реализация policy gradient |
| | | | ||
| | | | ||
|- | |- | ||
| Лекция<br> | | Лекция<br> | ||
- | '' | + | ''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> | ||
- | '' | + | ''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] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
* [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> | ||
- | '' | + | ''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)] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
* [https://arxiv.org/pdf/1805.00909.pdf RL as probabilistic inference] | * [https://arxiv.org/pdf/1805.00909.pdf RL as probabilistic inference] | ||
- | |||
- | |||
|- | |- | ||
| Лекция<br> | | Лекция<br> | ||
- | '' | + | ''17 ноября'' |
- | | Имитационное обучение. | + | | Очно |
- | + | | Имитационное обучение. Обратное обучение с подкреплением. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
| | | | ||
* [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> | ||
- | '' | + | ''24 ноября'' |
- | | Monte Carlo Tree Search. | + | | Очно |
- | + | | Monte Carlo Tree Search. 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> | ||
- | '' | + | ''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://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|2020-й год]]<br> |
- | [[Обучение с подкреплением (курс лекций) / 2021| | + | [[Обучение с подкреплением (курс лекций) / 2021|2021-й год]]<br> |
- | [[Обучение с подкреплением (курс лекций) / 2022| | + | [[Обучение с подкреплением (курс лекций) / 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-й год