BSc: ReinforcementLearning

From IU
Jump to navigation Jump to search

Название дисциплины

Квалификация выпускника: бакалавр
Направление подготовки: 09.03.01 - “Информатика и вычислительная техника”
Направленность (профиль) образовательной программы: Математические основы ИИ
Программу разработал(а): Тяпкин Д.Н.

1. Краткая характеристика дисциплины

Изучение дисциплины обеспечивает формирование и развитие компетенций обучающихся в области машинного обучения и обучения с подкреплением, их применение для решения различных прикладных задач в рамках профессиональной деятельности. В ходе освоения дисциплины обучающиеся рассматривают основы обучения с подкреплением, включая моделирование среды, оценку стратегий, и методы оптимизации стратегий поведения агентов в неопределенных условиях. Особое внимание уделяется алгоритмам временной разницы (TD), Q-обучения, SARSA, методам градиента политики, а также исследованию компромисса между исследованием и использованием имеющихся данных.

2. Перечень планируемых результатов обучения

Целью освоения дисциплины является изучение методов обучения с подкреплением и получение студентами навыков теоретического анализа и имплементации различных алгоритмов обучения с подкреплением.
Задачами дисциплины являются:
- Знание основных методов и алгоритмов обучения с подкреплением.
- Умение формулировать задачи обучения с подкреплением и применять алгоритмы для их решения.
- Навыки реализации моделей и алгоритмов обучения с подкреплением в различных средах.

Общая характеристика результата обучения по дисциплине

Знания: сформированы систематические знания о фундаментальных принципах и методах обучения с подкреплением, включая модели принятия решений Маркова (MDP), алгоритмы, основанные на временных различиях (TD Learning), Q-обучение, методы градиента политики, а также современные подходы, использующие глубокое обучение. Обучающиеся изучат ключевые концепции, такие как стратегии оптимизации поведения агентов, баланс между исследованием и использованием имеющихся данных, а также применение обучения с подкреплением в различных областях, от игровых приложений до робототехники и автоматизации процессов.


Умения: сформированы умения по формулированию задач обучения с подкреплением, разработке и реализации соответствующих алгоритмов. Обучающиеся научатся анализировать задачи, определять подходящие методы обучения с подкреплением для их решения, проводить эксперименты и интерпретировать результаты. Развиваются умения в применении математических и программных инструментов для моделирования и оптимизации поведения агентов в различных средах.


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

3. Структура и содержание дисциплины


п/п
Наименование раздела
дисциплины
Содержание дисциплины по темам
1. Введение в обучение с подкреплением      - примеры задач обучения с подкреплением и возможных приложений

     - разница между обучением с подкреплением и обучением с учителем     

2. Марковские процессы принятия решений (MDP)      - определение и примеры Марковских процессов принятия решений
     - определение и примеры политики, функции ценности и функции ценности действия
     - гипотеза “Reward is enough”     
3. Уравнения динамического программирования      - уравнения Беллмана

     - теорема об улучшении политики, policy iteration алгоритм
     - оптимальные уравнения Беллмана, value iteration алгоритм     

4. Методы оценки политики      - постановка задачи оценки политики в неизвестной среде
     - введение в метод Монте-Карло
     - постановка задачи стохастической аппроксимации     
5. Приближенное решение уравнений динамического программирования      - постановка задачи оптимизации политики в неизвестной среде
     - SARSA как аппроксимация Policy Iteration
     - Q-learning как аппроксимация Value Iteration
     - задача исследования среды
6. Введение в глубинное обучение с подкреплением      - примеры задач обучения с подкреплением с использованием аппроксимации
нейронными сетями

     - алгоритм глубинного Q-обучения (DQN)
     - применение алгоритма DQN     

7. Методы градиента политики      - введение в методы оптимизации в пространстве политик

     - теорема о градиенте политики
     - алгоритм REINFORCE и его применения     

8. Методы Actor-Critic      - использование оценок функции ценности для методов градиента политики

     - алгоритмы A2C, TRPO, PPO     

9. * Обучение с подкреплением из человеческих предпочтений      - постановка задачи обучения с подкреплением из человеческих предпочтений
     - постановка задачи обучения с подкреплением из человеческих предпочтений
     - применение в больших языковых моделях: Instruct-GPT     

4. Методические и оценочные материалы

Задания для практических занятий:


п/п
Наименование раздела
дисциплины (модуля)
Перечень рассматриваемых тем (вопросов)
1. Марковские процессы принятия решений (MDP)      - используйте алгоритмы обучения с подкреплением,
реализованные в библиотеке Stable Baselines 3     
2. Уравнения динамического программирования      - Сформулируйте уравнения Беллмана и оптимальные уравнения Беллмана
     - Найдите оптимальную политику в заданном Марковском процессе принятия решений
     - Найдите оптимальную политику для линейно-квадратичного регулятора     
3. Методы оценки политики      - Реализуйте алгоритм TD(0) для оценки функции ценности фиксированной политики     
4. Приближенное решение уравнений динамического программирования      - Реализуйте алгоритм Q-learning для решения задачи Frozen Lake
     - Реализуйте алгоритм SARSA для решения задачи Grid World     
5. Введение в глубинное обучение с подкреплением      - Реализуйте алгоритм DQN и применение его на среде с дискретным множеством действий
и непрерывным множеством состояний     
6. Методы градиента политики      - Реализуйте алгоритм REINFORCE и примените его на среде с непрерывным множеством
состояний и действий     
7. Методы Actor-Critic      - Используйте алгоритм TRPO, реализованный в библиотеке Stable Baselines 3 для оптимизации
награды в неизвестной среде, объясните значение всех гиперпараметров     

Текущий контроль успеваемости обучающихся по дисциплине:


п/п
Наименование раздела
дисциплины
Форма текущего контроля Материалы текущего контроля
1. Введение в обучение с подкреплением;

Марковский процесс принятия решений;

Защита проекта Использовать библиотеку Stable Baselines 3 для задачи максимизации награды в среде Lunar Lander и презентация лучших решений
2. Уравнения динамического программирования;

Методы оценки политики; Приближенное решение уравнений динамического программирования

Домашнее задание 1) Реализовать алгоритм TD(0) для оценки политики в окружении Garnet.

2) Реализовать алгоритм Q-обучения для нахождения оптимальной политики в среде GridWorld;

3. Введение в глубинное обучение с подкреплением Домашнее задание Реализовать алгоритм DQN и применить его для окружения Atari Breakout
4. Методы градиента политики

Методы Actor-Critic

Защита проекта Использовать алгоритм TRPO/PPO для задачи максимизации награды в неизвестной среде

Контрольные вопросы для подготовки к промежуточной аттестации:


п/п
Наименование
раздела дисциплины
Вопросы
1. Введение в обучение с подкреплением - Приведите примеры задач обучения с подкреплением

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

2. Марковские процессы принятия решений (MDP) - Дать определение Марковского процесса принятия решений

- В чем заключается гипотеза Reward is enough?

3. Уравнения динамического программирования - Приведите формулировку уравнений Беллмана

- Сформулируйте оптимальные уравнения Беллмана - Сформулируйте теорему об улучшении политики

4. Методы оценки политики - Сформулируйте алгоритм TD(0)

- Объясните, в чем разница между методами Монте-Карло и методами временной разницы. Приведите примеры, когда один из методов превосходит другой

5. Приближенное решение уравнений динамического программирования - Сформулируйте алгоритмы SARSA и Q-learning и объясните разницу между ними
6. Введение в глубинное обучение с подкреплением - Объясните алгоритм DQN, какая связь между алгоритмом DQN и Q-обучением
7. Методы градиента политики - Сформулируйте теорему о градиентах политики
8. Методы Actor-Critic - Сформулируйте алгоритм A2C

Вопросы/Задания к промежуточной аттестации в устной/письменной форме:

1. Задача обучения с подкреплением, примеры
2. Марковский процесс принятия решений, примеры
3. Функция ценности и функция ценности действия
4. Уравнения Беллмана
5. Теорема об улучшении политики
6. Оптимальные уравнения Беллмана
7. Policy iteration алгоритм
8. Value iteration алгоритм
9. Задача оценки политики, примеры
10. Задача стохастической аппроксимации
11. Метод Монте-Карло для оценки политики
12. Алгоритм временных разностей для оценки политики
13. Задача нахождения оптимальной политики, задача исследования среды
14. SARSA, связь с Policy Iteration
15. Q-обучение, связь с Value Iteration
16. Компромис между исследованием среду и использованием данных, eps-жадная политика
17. Алгоритм глубинного Q-обучения
18. Теорема о градиентах политики
19. Алгоритм REINFORCE, его ограничения
20. Алгоритмы, основанные на парадигме Actor-Critic


Перечень учебно-методического обеспечения дисциплины

Список основной литературы:
1) Sutton, Richard S., and Andrew G. Barto. Reinforcement learning: An introduction. MIT press, 2018.
2) Szepesvári, Csaba. Algorithms for reinforcement learning. Springer nature, 2022.


Список дополнительной литературы:
1) S. Zhao. Mathematical Foundations of Reinforcement Learning, Springer press, 2024. https://github.com/MathFoundationRL/Book-Mathematical-Foundation-of-Reinforcement-Learning
2) Agarwal, Alekh, et al. "Reinforcement learning: Theory and algorithms." CS Dept., UW Seattle, Seattle, WA, USA, Tech. Rep 32 (2019): 96.

Методические указания для обучающихся по освоению дисциплины

Вид учебных
занятий/деятельности
Деятельность обучающегося
Лекция Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.
Практическое (семинарское) занятие При подготовке к семинарскому (практическому) занятию необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. На основании обработанной информации постараться сформировать собственное мнение по выносимой на обсуждение тематике. Обосновать его аргументами, сформировать список источников, подкрепляющих его.
Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы.
Устный/письменный опрос Отвечать, максимально полно, логично и структурировано, на поставленный вопрос. Основная цель – показать всю глубину знаний по конкретной теме или ее части.
Реферат Поиск источников и литературы, составление библиографии. При написании реферата рекомендуется использовать разнообразные источники, монографии и статьи из научных журналов, позволяющие глубже разобраться в различных точках зрения на заданную тему. Изучение литературы следует начинать с наиболее общих трудов, затем следует переходить к освоению специализированных исследований по выбранной теме. Могут быть использованы ресурсы сети «Интернет» с соответствующими ссылками на использованные сайты.
Если тема содержит проблемный вопрос, следует сформулировать разные точки зрения на него. Рекомендуется в выводах указать свое собственное аргументированное мнение по данной проблеме. Подготовить презентацию для защиты реферата.
Эссе Написание прозаического сочинения небольшого объема и свободной композиции, выражающего индивидуальные впечатления и соображения по конкретному поводу или вопросу и заведомо не претендующего на определяющую или исчерпывающую трактовку предмета. При работе над эссе следует четко и грамотно формулировать мысли, структурировать информацию, использовать основные понятия, выделять причинно-следственные связи. Как правило эссе имеет следующую структуру: вступление, тезис и аргументация его, заключение. В качестве аргументов могут выступать исторические факты, явления общественной жизни, события, жизненные ситуации и жизненный опыт, научные доказательства, ссылки на мнение ученых и др.
Подготовка к промежуточной аттестации При подготовке к промежуточной аттестации необходимо проработать вопросы по темам, которые рекомендуются для самостоятельной подготовки. При возникновении затруднений с ответами следует ориентироваться на конспекты лекций, семинаров, рекомендуемую литературу, материалы электронных и информационных справочных ресурсов, статей.
Если тема вызывает затруднение, четко сформулировать проблемный вопрос и задать его преподавателю.
Практические (лабораторные) занятия Практические занятия предназначены прежде всего для разбора отдельных сложных положений, тренировки аналитических навыков, а также для развития коммуникационных навыков. Поэтому на практических занятиях необходимо участвовать в тех формах обсуждения материала, которые предлагает преподаватель: отвечать на вопросы преподавателя, дополнять ответы других студентов, приводить примеры, задавать вопросы другим выступающим, обсуждать вопросы и выполнять задания в группах. Работа на практических занятиях подразумевает домашнюю подготовку и активную умственную работу на самом занятии. Работа на практических занятиях в форме устного опроса заключается прежде всего в тренировке навыков применять теоретические положения к самому разнообразному материалу. В ходе практических занятий студенты работают в группах для обсуждения предлагаемых вопросов.
Самостоятельная работа Самостоятельная работа состоит из следующих частей: 1) чтение учебной, справочной, научной литературы; 2) повторение материала лекций; 3) составление планов устных выступлений; 4) подготовка видеопрезентации. При чтении учебной литературы нужно разграничивать для себя материал на отдельные проблемы, концепции, идеи. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Видеопрезентация Подготовка видеопрезентаций по курсу. Видеопрезентации могут быть сделаны на любую тему, затронутую в ходе курса. Темы должны быть заранее согласованы с преподавателем. Видеопрезентации продолжительностью около 5 минут (300 секунд) должны быть подготовлены в группах, определяемых преподавателем. Несмотря на то, что это групповая работа, должен явно присутствовать вклад каждого члена группы.
Доклад Публичное, развернутое сообщение по определенной теме или вопросу, основанное на документальных данных. При подготовке доклада рекомендуется использовать разнообразные источники, позволяющие глубже разобраться в теме. Учебную литературу можно найти в электронных библиотечных системах, на которые подписан АНО Университет Иннополис.
Дискуссия Публичное обсуждение спорного вопроса, проблемы. Каждая сторона должна оппонировать мнение собеседника, аргументируя свою позицию.
Контрольная работа При подготовке к контрольной работе необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме.
Тестирование (устное/письменное) При подготовке к тестированию необходимо проработать материалы лекций, семинаров, основной и дополнительной литературы по заданной теме. Основная цель тестирования – показать уровень сформированности знаний по конкретной теме или ее части.
Индивидуальная работа При выполнение индивидуальной работы необходимо взять задание у преподавателя, ознакомиться с требованиями к выполнению работы, изучить поставленную проблему, найти решение проблемы. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия. Оформить результаты работы.
Разработка отдельных частей кода Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
Выполнение домашних заданий и групповых проектов Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.

Методы и технологии обучения, способствующие формированию компетенции

Методы и технологии обучения, способствующие формированию компетенции
В курсе планируется использовать несколько технологий обучения. Таких как: интерактивные лекции , поощряющие участие студентов посредством сессий вопросов и ответов или групповых дискуссий.

Проблемно-ориентированное обучение – мероприятия по решению проблем, которые побуждают студентов применять концепции курса в практических ситуациях. Этот метод может улучшить навыки критического мышления и закрепления знаний.

Планируется предложить совместные проекты , которые требуют применения концепций курса в реальных сценариях. Такой подход может способствовать командной работе, навыкам общения и креативности, одновременно углубляя понимание студентами концепций курса. Важный элемент курса – смешанное обучение : сочетание традиционного очного обучения с онлайн-учебными ресурсами, такими как видео, симуляторы или интерактивные викторины. Такой подход может учитывать различные стили обучения и предпочтения, одновременно улучшая понимание учащимися концепций курса.