Difference between revisions of "BSc: ReinforcementLearning"

From IU
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 40: Line 40:
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- теорема об улучшении политики, policy iteration алгоритм<br>&nbsp;&nbsp;&nbsp;&nbsp; - оптимальные уравнения Беллмана, value iteration алгоритм&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- теорема об улучшении политики, policy iteration алгоритм<br>&nbsp;&nbsp;&nbsp;&nbsp; - оптимальные уравнения Беллмана, value iteration алгоритм&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
|- style="background-color:#F8F9FA; color:#202122;"
 
|- style="background-color:#F8F9FA; color:#202122;"
| style="text-align:center;" | 4. || Методы оценки политики|| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи оценки политики в неизвестной среде<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- введение в метод Монте-Карло<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи стохастической аппроксимации&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
| style="text-align:center;" | 4. || Методы оценки политики|| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи оценки политики в неизвестной среде<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- введение в метод Монте-Карло<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи стохастической аппроксимации&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - метод временной разницы (TD-learning)
 
|- style="background-color:#F8F9FA; color:#202122;"
 
|- style="background-color:#F8F9FA; color:#202122;"
 
| style="text-align:center;" | 5. || Приближенное решение уравнений динамического программирования|| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи оптимизации политики в неизвестной среде<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- SARSA как аппроксимация Policy Iteration<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Q-learning как аппроксимация Value Iteration<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- задача исследования среды
 
| style="text-align:center;" | 5. || Приближенное решение уравнений динамического программирования|| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи оптимизации политики в неизвестной среде<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- SARSA как аппроксимация Policy Iteration<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Q-learning как аппроксимация Value Iteration<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- задача исследования среды
Line 55: Line 55:
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- алгоритмы A2C, TRPO, PPO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- алгоритмы A2C, TRPO, PPO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
|- style="background-color:#F8F9FA; color:#202122;"
 
|- style="background-color:#F8F9FA; color:#202122;"
| style="text-align:center;" | 9. || * Обучение с подкреплением из человеческих предпочтений|| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи обучения с подкреплением из человеческих предпочтений<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи обучения с подкреплением из человеческих предпочтений<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- применение в больших языковых моделях: Instruct-GPT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+
| style="text-align:center;" | 9. || * Обучение с подкреплением из человеческих предпочтений|| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- постановка задачи обучения с подкреплением из человеческих предпочтений<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- применение в больших языковых моделях: Instruct-GPT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
|}
 
|}
   
Line 194: Line 194:
   
 
{| class="wikitable" style="width:80%;"
 
{| class="wikitable" style="width:80%;"
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; color:#FF0000; font-weight:bold;"
+
|- style="vertical-align:middle; text-align:center; background-color:#EAECF0; font-weight:bold;"
 
| style="width:20%" | Вид учебных<br>занятий/деятельности
 
| style="width:20%" | Вид учебных<br>занятий/деятельности
 
| style="width:80%" | Деятельность обучающегося
 
| style="width:80%" | Деятельность обучающегося
 
|-
 
|-
| style="vertical-align:middle; text-align:center; color:red;" | Лекция
+
| style="vertical-align:middle; text-align:center;" | Лекция
| style="vertical-align:middle; text-align:left; color:red;" | Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.
+
| style="vertical-align:middle; text-align:left;" | Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.
 
|-
 
|-
| style="vertical-align:middle; text-align:center; color:red;" | Практическое (семинарское) занятие
+
| style="vertical-align:middle; text-align:center;" | Практическое (семинарское) занятие
| style="vertical-align:middle; text-align:left; color:red;" | При подготовке к семинарскому (практическому) занятию необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. На основании обработанной информации постараться сформировать собственное мнение по выносимой на обсуждение тематике. Обосновать его аргументами, сформировать список источников, подкрепляющих его.<br>Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы.
+
| style="vertical-align:middle; text-align:left;" | При подготовке к семинарскому (практическому) занятию необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. На основании обработанной информации постараться сформировать собственное мнение по выносимой на обсуждение тематике. Обосновать его аргументами, сформировать список источников, подкрепляющих его.<br>Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы.
 
|-
 
|-
| style="vertical-align:middle; text-align:center; color:red;" | Разработка отдельных частей кода
+
| style="vertical-align:middle; text-align:center;" | Разработка отдельных частей кода
| style="vertical-align:middle; text-align:left; color:red;" | Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
+
| style="vertical-align:middle; text-align:left;" | Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
 
|-
 
|-
| style="vertical-align:middle; text-align:center; color:red;" | Выполнение домашних заданий и групповых проектов
+
| style="vertical-align:middle; text-align:center;" | Выполнение домашних заданий и групповых проектов
| style="vertical-align:middle; text-align:left; color:red;" | Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.
+
| style="vertical-align:middle; text-align:left;" | Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.
 
|}
 
|}
   
Line 220: Line 220:
   
 
Планируется предложить совместные проекты , которые требуют применения концепций курса в реальных сценариях. Такой подход может способствовать командной работе, навыкам общения и креативности, одновременно углубляя понимание студентами концепций курса.
 
Планируется предложить совместные проекты , которые требуют применения концепций курса в реальных сценариях. Такой подход может способствовать командной работе, навыкам общения и креативности, одновременно углубляя понимание студентами концепций курса.
  +
 
Важный элемент курса – смешанное обучение : сочетание традиционного очного обучения с онлайн-учебными ресурсами, такими как видео, симуляторы или интерактивные викторины. Такой подход может учитывать различные стили обучения и предпочтения, одновременно улучшая понимание учащимися концепций курса.
 
Важный элемент курса – смешанное обучение : сочетание традиционного очного обучения с онлайн-учебными ресурсами, такими как видео, симуляторы или интерактивные викторины. Такой подход может учитывать различные стили обучения и предпочтения, одновременно улучшая понимание учащимися концепций курса.
   

Latest revision as of 13:13, 23 April 2024

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

Квалификация выпускника: бакалавр
Направление подготовки: 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. Методы оценки политики      - постановка задачи оценки политики в неизвестной среде
     - введение в метод Монте-Карло
     - постановка задачи стохастической аппроксимации      - метод временной разницы (TD-learning)
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.

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

Вид учебных
занятий/деятельности
Деятельность обучающегося
Лекция Написание конспекта лекций: кратко, схематично, последовательно фиксировать основные положения лекции, выводы, формулировки, обобщения; помечать важные мысли, выделять ключевые слова, термины. Обозначить вопросы, термины или другой материал, который вызывает трудности, пометить и попытаться найти ответ в рекомендуемой литературе. Если самостоятельно не удается разобраться в материале, необходимо сформулировать вопрос и задать преподавателю на консультации, во время семинарского (практического) занятия.
Практическое (семинарское) занятие При подготовке к семинарскому (практическому) занятию необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме. На основании обработанной информации постараться сформировать собственное мнение по выносимой на обсуждение тематике. Обосновать его аргументами, сформировать список источников, подкрепляющих его.
Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы.
Разработка отдельных частей кода Разработать часть кода, исходя из поставленной задачи и рекомендаций преподавателя. При выполнении работы рекомендуется обращаться к материалам лекций и семинарских (практических) занятий. Если возникают затруднения, необходимо проконсультироваться с преподавателем.
Выполнение домашних заданий и групповых проектов Для выполнения домашних заданий и групповых проектов необходимо получить формулировку задания от преподавателя и убедиться в понимании задания. При выполнение домашних заданий и групповых проектов необходимо проработать материалы лекций, основной и дополнительной литературы по заданной теме.

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

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

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

Планируется предложить совместные проекты , которые требуют применения концепций курса в реальных сценариях. Такой подход может способствовать командной работе, навыкам общения и креативности, одновременно углубляя понимание студентами концепций курса.

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