Обучение с подкреплением: введение
Репликация Python для книги Саттона и Барто «Обучение с подкреплением: введение» (2-е издание)
Если у вас есть какие-либо путаницы в коде или вы хотите сообщить об ошибке, пожалуйста, откройте проблему вместо того, чтобы писать мне напрямую по электронной почте, и, к сожалению, у меня нет ответов на упражнения для книги.
Содержание
Глава 1
- Крестики-нолики
Глава 2
- Рисунок 2.1: Типичная задача о бандитах на испытательном стенде с 10 руками
- Рисунок 2.2: Средняя производительность эпсилон-жадных методов действия и значения на испытательном стенде с 10 группами
- Рисунок 2.3: Оптимистичные первоначальные оценки ценности действий
- Рисунок 2.4: Средняя производительность выбора действия UCB на испытательном стенде с 10 группами
- Рисунок 2.5: Средняя производительность алгоритма градиентного бандита
- Рисунок 2.6: Исследование параметров различных бандитских алгоритмов
Глава 3
- Рисунок 3.2: Пример сетки со случайной политикой
- Рисунок 3.5: Оптимальные решения для примера GridWorld
Глава 4
- Рисунок 4.1: Конвергенция итеративной оценки политики в маленьком грид-мире
- Рисунок 4.2: Проблема Джека с арендой автомобиля
- Рисунок 4.3: Решение проблемы игрока
Глава 5
- Рисунок 5.1: Приблизительные функции значения состояния для политики блэкджека
- Рисунок 5.2: Оптимальная политика и функция значения состояния для блэкджека, найденная Monte Carlo ES
- Рисунок 5.3: Взвешенная выборка по важности
- Рисунок 5.4: Выборка обычной важности с удивительно нестабильными оценками
Глава 6
- Пример 6.2: Случайное блуждание
- Рисунок 6.2: Пакетное обновление
- Рисунок 6.3: Сарса применительно к ветряному решетчатому миру
- Рисунок 6.4: Задача ходьбы по скалам
- Рисунок 6.6: Промежуточная и асимптотическая эффективность методов управления TD
- Рисунок 6.7: Сравнение Q-обучения и двойного Q-обучения
Глава 7
- Рисунок 7.2: Производительность n-шаговых методов TD при случайном блуждании с 19 состояниями
Глава 8
- Рисунок 8.2. Средние кривые обучения для агентов Dyna-Q, различающихся по количеству этапов планирования.
- Рисунок 8.4: Средняя производительность агентов Dyna при выполнении задачи блокировки
- Рисунок 8.5. Средняя производительность агентов Dyna при выполнении короткой задачи.
- Пример 8.4. Приоритизированное подметание значительно сокращает время обучения при выполнении задачи лабиринта Dyna.
- Рисунок 8.7: Сравнение эффективности ожидаемых и выборочных обновлений
- Рисунок 8.8: Относительная эффективность различных дистрибутивов обновлений
Глава 9
- Рисунок 9.1: Градиентный алгоритм Монте-Карло для задачи случайного блуждания с 1000 состояниями
- Рисунок 9.2: Полуградиентный n-шаговый TD-алгоритм в задаче случайного блуждания с 1000 состояниями.
- Рисунок 9.5: Базис Фурье и полиномы в задаче случайного блуждания с 1000 состояниями
- Рисунок 9.8: Пример влияния ширины объекта на первоначальное обобщение и асимптотическую точность
- Рисунок 9.10: Одиночная и множественная мозаика в задаче случайного блуждания с 1000 состояниями.
Глава 10
- Рисунок 10.1: Функция себестоимости для задачи Mountain Car за один прогон
- Рисунок 10.2: Кривые обучения для полуградиентной Сарсы в задаче Mountain Car
- Рисунок 10.3: Одношаговая и многоэтапная производительность полуградиентной Сарсы в задаче Mountain Car
- Рисунок 10.4: Влияние альфа и n на раннее выполнение n-шагового полуградиентного Сарса
- Рисунок 10.5: Дифференциальная полуградиентная Сарса в задаче управления очередью управления доступом
Глава 11
- Рисунок 11.2: Контрпример Бэрда
- Рисунок 11.6: Поведение алгоритма TDC на контрпримере Бэрда
- Рисунок 11.7: Поведение алгоритма ETD в ожидании контрпримера Бэрда
Глава 12
- Рисунок 12.3: Автономный алгоритм λ-возврата при случайном блуждании с 19 состояниями
- Рисунок 12.6: Алгоритм TD(λ) для случайного блуждания с 19 состояниями
- Рисунок 12.8: Истинный онлайн-алгоритм TD(λ) на случайном блуждании с 19 состояниями
- Рисунок 12.10: Сарса(λ) с заменой следов на Mountain Car
- Рисунок 12.11: Итоговое сравнение алгоритмов Sarsa(λ) на Mountain Car
Глава 13
- Пример 13.1: Короткий коридор с переключаемыми действиями
- Рисунок 13.1: REINFORCE в мире сетки коротких коридоров
- Рисунок 13.2: REINFORCE с базовой линией в сеточном мире короткого коридора
Среда
- питон 3.6
- бестолковый
- матплотлиб
- рожденный в море
- tqdm
Использование
Все файлы автономны.
python any_file_you_want.py
Вклад
Если вы хотите добавить недостающие примеры или исправить некоторые ошибки, не стесняйтесь открыть проблему или сделать запрос на включение.