BSc: B1.V.DV.07.03 MFAI Reinforcement learning

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) Bспользуйте алгоритмы обучения с подкреплением,

реализованные в библиотеке Stable Baselines 3

2. Уравнения динамического программирования Cформулируйте уравнения Беллмана и оптимальные уравнения Беллмана.

Найдите оптимальную политику в заданном Марковском процессе принятия решений.

Найдите оптимальную политику для линейно-квадратичного регулятора.

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 и презентация лучших решений.

Объясните, как принципы построения архитектуры программного обеспечения применяются в обучении с подкреплением. Какие типовые решения и шаблоны используются при разработке программного обеспечения для обучения с подкреплением? Какие методы и средства проектирования программного обеспечения могут быть применены для оптимизации работы системы обучения с подкреплением? (ПК-1)

Какие методы и средства проектирования баз данных могут быть использованы при работе с данными в обучении с подкреплением? Каким образом проектирование программных интерфейсов влияет на эффективность и безопасность системы обучения с подкреплением? Какие библиотеки программных модулей могут быть полезны при разработке программного обеспечения для обучения с подкреплением? (ПК-1)

Какие типовые решения и шаблоны проектирования программного обеспечения могут быть использованы при разработке системы обучения с подкреплением? Какие принципы архитектуры ПО следует учитывать при проектировании таких систем? (ПК-1)

Каким образом методы и средства проектирования баз данных могут быть применены в контексте обучения с подкреплением? Как влияет проектирование программных интерфейсов на эффективность и безопасность системы обучения с подкреплением? (ПК-1)

Каковы основные принципы обучения с подкреплением, и как они отличаются от классических методов машинного обучения? Какие инструменты из перечисленных вы бы использовали для реализации алгоритмов обучения с подкреплением? (ПК-1)

Каким образом Python, Pandas, Numpy и SciPy могут быть применены при разработке систем обучения с подкреплением? Какие преимущества предоставляет использование Git для управления версиями кода в проектах, связанных с обучением с подкреплением? (ПК-1)

Какие основные принципы обучения с подкреплением вы можете применить для решения задачи классификации, и как они отличаются от подходов обучения с учителем? Объясните, как алгоритмы обучения с подкреплением могут быть применены к задачам классификации, учитывая различные архитектуры нейронных сетей. (ПК-2)

Какие методы обучения с подкреплением можно использовать для решения задач временных рядов, и как они отличаются от классических моделей временных рядов, таких как ARIMA и экспоненциальное сглаживание? Объясните, как диффузионные модели могут быть применены к анализу временных рядов, и какие преимущества они могут предоставить в сравнении с классическими методами. (ПК-2)

2. Уравнения динамического программирования.

Методы оценки политики

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

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

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

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

Методы Actor-Critic

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

Какие основные компоненты включает в себя алгоритм Actor-Critic, и как они взаимодействуют для обучения нейросетевой модели? Объясните, какие гиперпараметры необходимо настраивать при использовании метода Actor-Critic, и какой эффект они могут оказать на производительность модели. (ПК-2)

Как можно применить метод Actor-Critic для оптимизации производительности нейронной сети при решении конкретной задачи в области искусственного интеллекта? Объясните, как провести кросс-валидацию и тюнинг моделей с использованием Actor-Critic, чтобы достичь наилучшей эффективности и производительности. (ПК-2)

Как метод Actor-Critic способствует формированию компетенции владения навыками применения современных знаний в области машинного обучения и методологии исследования и разработки в области искусственного интеллекта? Объясните, какие основные принципы и компоненты этого метода помогают улучшить процесс обучения моделей и повысить их эффективность. (ПК-2)

Как можно использовать метод Actor-Critic для разработки безопасных и справедливых моделей искусственного интеллекта, а также для оптимизации работы систем искусственного интеллекта? Объясните, какие технологии и инструменты можно применить при использовании Actor-Critic для решения конкретных задач в области машинного обучения и искусственного интеллекта. (ПК-2)

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

п/п

Наименование раздела дисциплины (модуля) Вопросы
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. Теория и практика машинного обучения: учебное пособие / В. В. Воронина, А. В. Михеев, Н. Г. Ярушкина, К. В. Святов. — Ульяновск: Ульяновский государственный технический университет, 2017. — 291 c. — Режим доступа: https://www.iprbookshop.ru/106120.html — ЭБС «IPRbooks».

2. Воронова, Л. И. Big Data. Методы и средства анализа: учебное пособие / Л. И. Воронова, В. И. Воронов. — Москва: Московский технический университет связи и информатики, 2016. — 33 c. — Режим доступа: https://www.iprbookshop.ru/61463.html — ЭБС «IPRbooks».

Дополнительная литература:

1. Гусарова Н. Ф. Введение в теорию искусственного интеллекта / Н. Ф. Гусарова. — СПб.: Университет ИТМО, 2018. — 62 с. — Режим доступа: https://reader.lanbook.com/book/136515#2 — ЭБСна платформе «Лань».

2. Горожанина, Е. И. Нейронные сети: учебное пособие / Е. И. Горожанина. — Самара: Поволжский государственный университет телекоммуникаций и информатики, 2017. — 84 c. — Режим доступа: http://www.iprbookshop.ru/75391.html — ЭБС «IPRbooks».

3. Сопов, Е. А. Многокритериальные нейроэволюционные системы в задачах машинного обучения и человеко-машинного взаимодействия: монография / Е. А. Сопов, И. А. Иванов. — Красноярск: Сибирский федеральный университет, 2019. — 160 c. — Режим доступа: http://www.iprbookshop.ru/100054.html — ЭБС «IPRbooks».

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

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

Во время семинарского (практического) занятия активно участвовать в обсуждении вопросов, высказывать аргументированную точку зрения на проблемные вопросы. Приводить примеры из источниковой базы и научной и/или исследовательской литературы.

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