Глубокое обучение с подкреплением: теория и практика на языке Python: 16+
معرفی کتاب «Глубокое обучение с подкреплением: теория и практика на языке Python: 16+» نوشتهٔ Лаура Грессер, Ван Лун Кенг; [перевел с английского К. Синица]، منتشرشده توسط نشر Питер; Прогресс книга در سال 2022. این کتاب در فرمت pdf، زبان ru ارائه شده است. «Глубокое обучение с подкреплением: теория и практика на языке Python: 16+» در دستهٔ بدون دستهبندی قرار دارد.
Глубокое обучение с подкреплением (глубокое RL) сочетает в себе два подхода к машинному обучению. В ходе такого обучения виртуальные агенты учатся решать последовательные задачи о принятии решений. За последнее десятилетие было много неординарных достижений в этой области — от однопользовательских и многопользовательских игр, таких как го и видеоигры Atari и Dota 2, до робототехники. Эта книга — введение в глубокое обучение с подкреплением, уникально комбинирующее теорию и практику. Авторы начинают повествование с базовых сведений, затем подробно объясняют теорию алгоритмов глубокого RL, демонстрируют их реализации на примере программной библиотеки SLM Lab и напоследок описывают практические аспекты использования глубокого RL. Руководство идеально подойдет как для студентов, изучающих компьютерные науки, так и для разработчиков программного обеспечения, которые знакомы с основными принципами машинного обучения и знают Python. Предисловие Введение Благодарности Об авторах От издательства Глава 1. Введение в обучение с подкреплением 1.1. Обучение с подкреплением 1.2. Обучение с подкреплением как МППР 1.3. Обучаемые функции в обучении с подкреплением 1.4. Алгоритмы глубокого обучения с подкреплением 1.4.1. Алгоритмы, основанные на стратегии 1.4.2. Алгоритмы, основанные на полезности 1.4.3. Алгоритмы, основанные на модели среды 1.4.4. Комбинированные методы 1.4.5. Алгоритмы, которые обсуждаются в этой книге 1.4.6. Алгоритмы по актуальному и отложенному опыту 1.4.7. Краткий обзор методов 1.5. Глубокое обучение для обучения с подкреплением 1.6. Обучение с подкреплением и обучение с учителем 1.6.1. Отсутствие оракула 1.6.2. Разреженность обратной связи 1.6.3. Генерация данных 1.7. Резюме Часть I. Алгоритмы, основанные на стратегиях и полезностях Глава 2. REINFORCE 2.1. Стратегия 2.2. Целевая функция 2.3. Градиент стратегии 2.3.1. Вывод формулы для градиента по стратегиям 2.4. Выборка методом Монте-Карло 2.5. Алгоритм REINFORCE 2.5.1. Усовершенствование метода REINFORCE 2.6. Реализация REINFORCE 2.6.1. Минимальная реализация REINFORCE 2.6.2. Построение стратегий с помощью PyTorch 2.6.3. Выборка действий 2.6.4. Расчет потерь, обусловленных стратегией 2.6.5. Цикл обучения в REINFORCE 2.6.6. Класс Memory для хранения примеров при обучении по актуальному опыту 2.7. Обучение агента в REINFORCE 2.8. Результаты экспериментов 2.8.1. Эксперимент по оценке влияния коэффициента дисконтирования γ 2.8.2. Эксперимент по оценке влияния базового значения 2.9. Резюме 2.10. Рекомендуемая литература 2.11. Историческая справка Глава 3. SARSA 3.1. Q-функция и V-функция 3.2. Метод временных различий 3.2.1. Принцип метода временных различий 3.3. Выбор действий в SARSA 3.3.1. Исследование и использование 3.4. Алгоритм SARSA 3.4.1. Алгоритмы обучения по актуальному опыту 3.5. Реализация SARSA 3.5.1. ε-жадная функция выбора действий 3.5.2. Расчет Q-функции потерь 3.5.3. Цикл обучения в SARSA 3.5.4. Память для хранения пакетов прецедентов при обучении по актуальному опыту 3.6. Обучение агента SARSA 3.7. Результаты экспериментов 3.7.1. Эксперимент по определению влияния скорости обучения 3.8. Резюме 3.9. Рекомендуемая литература 3.10. Историческая справка Глава 4. Глубокие Q-сети 4.1. Настройка Q-функции в DQN 4.2. Выбор действий в DQN 4.2.1. Стратегия Больцмана 4.3. Хранение прецедентов в памяти 4.4. Алгоритм DQN 4.5. Реализация DQN 4.5.1. Расчет Q-функции потерь 4.5.2. Цикл обучения DQN 4.5.3. Память прецедентов 4.6. Обучение агента DQN 4.7. Результаты экспериментов 4.7.1 Эксперимент по определению влияния архитектуры сети 4.8. Резюме 4.9. Рекомендуемая литература 4.10. Историческая справка Глава 5. Улучшение DQN 5.1. Прогнозные сети 5.2. Двойная DQN 5.3. Приоритизированная память прецедентов 5.3.1. Выборка по значимости 5.4. Реализация улучшенной DQN 5.4.1. Инициализация сети 5.4.2. Расчет Q-функции потерь 5.4.3. Обновление прогнозной сети 5.4.4. DQN с прогнозными сетями 5.4.5. Двойная DQN 5.4.6. Приоритизированная память прецедентов 5.5. Обучение агента DQN играм Atari 5.6. Результаты экспериментов 5.6.1. Эксперимент по оценке применения двойной DQN с PER 5.7. Резюме 5.8. Рекомендуемая литература Часть II. Комбинированные методы Глава 6. Метод актора-критика с преимуществом (А2С) 6.1. Актор 6.2. Критик 6.2.1. Функция преимущества 6.2.2. Настройка функции преимущества 6.3. Алгоритм А2С 6.4. Реализация А2С 6.4.1. Оценка преимущества 6.4.2. Расчет функции потерь для полезности и стратегии 6.4.3. Цикл обучения актора-критика 6.5. Архитектура сети 6.6. Обучение агента А2С 6.6.1. А2С с оценкой преимущества по отдаче за n шагов в Pong 6.6.2. А2С с GAE в Pong 6.6.3. A2C по отдаче за n шагов в BipedalWalker 6.7. Результаты экспериментов 6.7.1. Эксперимент по определению влияния отдачи за n шагов 6.7.2. Эксперимент по выявлению влияния λ в GAE 6.8. Резюме 6.9. Рекомендуемая литература 6.10. Историческая справка Глава 7. Оптимизация ближайшей стратегии 7.1. Суррогатная целевая функция 7.1.1. Падение производительности 7.1.2. Преобразование целевой функции 7.2. Оптимизация ближайшей стратегии 7.3. Алгоритм РРО 7.4. Реализация РРО 7.4.1. Расчет функции потерь для стратегии в РРО 7.4.2. Цикл обучения РРО 7.5. Обучение агента РРО 7.5.1. РРО в Pong 7.5.2. РРО в BipedalWalker 7.6. Результаты экспериментов 7.6.1. Эксперимент по определениювлияния λ в GAE 7.6.2. Эксперимент по определению влияния переменной ε для усеченной функции потерь 7.7. Резюме 7.8. Рекомендуемая литература Глава 8. Методы параллелизации 8.1. Синхронная параллелизация 8.2. Асинхронная параллелизация 8.2.1. Hogwild! 8.3. Обучение агента А3С 8.4. Резюме 8.5. Рекомендуемая литература Глава 9. Сравнительный анализ алгоритмов Часть III. Практика Глава 10. Начало работы с глубоким ОП 10.1. Приемы проектирования программ 10.1.1. Модульное тестирование 10.1.2. Качество кода 10.1.3. Рабочий процесс Git 10.2. Рекомендации по отладке 10.2.1. Признаки жизни 10.2.2. Диагностирование градиента стратегии 10.2.3. Диагностирование данных 10.2.4. Предварительная обработка 10.2.5. Память 10.2.6. Алгоритмические функции 10.2.7. Нейронные сети 10.2.8. Упрощение алгоритма 10.2.9. Упрощение задачи 10.2.10. Гиперпараметры 10.2.11. Рабочий процесс в SLM Lab 10.3. Практические приемы в играх Atari 10.4. Справочник по глубокому обучению с подкреплением 10.4.1. Таблицы гиперпараметров 10.4.2. Сравнение производительности алгоритмов 10.5. Резюме Глава 11. SLM Lab 11.1. Алгоритмы, реализованные в SLM Lab 11.2. Файл spec 11.2.1. Синтаксис поиска в spec 11.3. Запуск SLM Lab 11.3.1. Команды SLM Lab 11.4. Анализ результатов эксперимента 11.4.1. Обзор экспериментальных данных 11.5. Резюме Глава 12. Архитектура сетей 12.1. Виды нейронных сетей 12.1.1. Многослойные перцептроны 12.1.2. Сверточные нейронные сети 12.1.3. Рекуррентные нейронные сети 12.2. Рекомендации по выбору семейства сетей 12.2.1. Сравнение МППР и частично наблюдаемых МППР 12.2.2. Выбор сетей для сред 12.3. Net API 12.3.1. Выведение размерностей входного и выходного слоев 12.3.2. Автоматическое создание сети 12.3.3. Шаг обучения 12.3.4. Предоставление базовых методов 12.4. Резюме 12.5. Рекомендуемая литература Глава 13. Аппаратное обеспечение 13.1. Компьютер 13.2. Типы данных 13.3. Оптимизация типов данных в ОП 13.4. Выбор аппаратного обеспечения 13.5. Резюме Глава 14. Состояния 14.1. Примеры состояний 14.2. Полнота состояния 14.3. Сложность состояния 14.4. Потеря информации о состоянии 14.4.1. Преобразование изображений в градации серого 14.4.2. Дискретизация 14.4.3. Конфликты хеширования 14.4.4. Потери метаинформации 14.5. Предварительная обработка 14.5.1. Стандартизация 14.5.2. Предварительная обработка изображений 14.5.3. Предварительная обработка временных данных 14.6. Резюме Глава 15. Действия 15.1. Примеры действий 15.2. Полнота действий 15.3. Сложность действий 15.4. Резюме 15.5. Проектирование действий в повседневной жизни Глава 16. Вознаграждения 16.1. Роль вознаграждений 16.2. Рекомендации по проектированию вознаграждений 16.3. Резюме Глава 17. Функция переходов 17.1. Проверка осуществимости 17.2. Проверка реалистичности 17.3. Резюме Заключение Воспроизводимость Отрыв от реальности Метаобучение и многозадачное обучение Многоагентные задачи Эффективность выборки Обобщение Исследование и структурирование вознаграждений Приложения Приложение А. История глубокого обучения с подкреплением Приложение Б. Примеры сред Б.1. Дискретные среды Б.1.1. CartPole-v0 Б.1.2. MountainCar-v0 Б.1.3. LunarLander-v2 Б.1.4. PongNoFrameskip-v4 Б.1.5. BreakoutNoFrameskip-v4 Б.2. Непрерывные среды Б.2.1. Pendulum-v0 Б.2.2. BipedalWalker-v2 Список используемых источников The Contemporary Introduction to Deep Reinforcement Learning that Combines Theory and Practice Deep reinforcement learning (deep RL) combines deep learning and reinforcement learning, in which artificial agents learn to solve sequential decision-making problems. In the past decade deep RL has achieved remarkable results on a range of problems, from single and multiplayer games--such as Go, Atari games, and DotA 2--to robotics. Foundations of Deep Reinforcement Learning is an introduction to deep RL that uniquely combines both theory and implementation. It starts with intuition, then carefully explains the theory of deep RL algorithms, discusses implementations in its companion software library SLM Lab, and finishes with the practical details of getting deep RL to work. Understand each key aspect of a deep RL problem Explore policy- and value-based algorithms, including REINFORCE, SARSA, DQN, Double DQN, and Prioritized Experience Replay (PER) Delve into combined algorithms, including Actor-Critic and Proximal Policy Optimization (PPO) Understand how algorithms can be parallelized synchronously and asynchronously Run algorithms in SLM Lab and learn the practical implementation details for getting deep RL to work Explore algorithm benchmark results with tuned hyperparameters Understand how deep RL environments are designed This guide is ideal for both computer science students and software engineers who are familiar with basic machine learning concepts and have a working understanding of Python. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details The Contemporary Introduction to Deep Reinforcement Learning that Combines Theory and Practice Deep reinforcement learning (deep RL) combines deep learning and reinforcement learning, in which artificial agents learn to solve sequential decision-making problems. In the past decade deep RL has achieved remarkable results on a range of problems, from single and multiplayer games—such as Go, Atari games, and DotA 2—to robotics. Foundations of Deep Reinforcement Learning is an introduction to deep RL that uniquely combines both theory and implementation. It starts with intuition, then carefully explains the theory of deep RL algorithms, discusses implementations in its companion software library SLM Lab, and finishes with the practical details of getting deep RL to work. This guide is ideal for both computer science students and software engineers who are familiar with basic machine learning concepts and have a working understanding of Python. Understand each key aspect of a deep RL problem Explore policy- and value-based algorithms, including REINFORCE, SARSA, DQN, Double DQN, and Prioritized Experience Replay (PER) Delve into combined algorithms, including Actor-Critic and Proximal Policy Optimization (PPO) Understand how algorithms can be parallelized synchronously and asynchronously Run algorithms in SLM Lab and learn the practical implementation details for getting deep RL to work Explore algorithm benchmark results with tuned hyperparameters Understand how deep RL environments are designed Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
دانلود کتاب Глубокое обучение с подкреплением: теория и практика на языке Python: 16+