Курс глубокого обучения с подкреплением
Изучите сочетание нейронной сети и обучения с подкреплением. Алгоритмы и примеры в Python и PyTorch
Слышали ли вы об удивительных результатах, достигнутых Deepmind с AlphaGo Zero и OpenAI в Dota 2? Все дело в глубоких нейронных сетях и обучении с подкреплением. Хотите узнать об этом больше?
Это прекрасная возможность для вас наконец изучить Deep RL и использовать его в новых интересных проектах и приложениях.
Здесь вы найдете подробное введение в эти алгоритмы. Среди них вы изучите q-обучение, глубокое q-обучение, PPO, критику актеров и реализуете их с помощью Python и PyTorch.
Конечная цель — использовать эти технологии общего назначения и применять их для решения всевозможных важных проблем реального мира. Демис Хассабис
Этот репозиторий содержит:
Лекции (и другой контент) в основном с канала DeepMind и Berkley на Youtube.
Алгоритмы (такие как DQN, A2C и PPO), реализованные в PyTorch и протестированные в OpenAI Gym: RoboSchool и Atari.
Оставайтесь с нами и подписывайтесь на #60DaysRLChallenge.
Теперь у нас есть еще и канал Slack . Чтобы получить приглашение, напишите мне на [email protected]. Кроме того, напишите мне, если у вас есть какие-либо идеи, предложения или улучшения.
Чтобы изучить глубокое обучение, компьютерное зрение или обработку естественного языка, ознакомьтесь с моим годовым путешествием по машинному обучению.
Прежде чем начать.. Предварительные условия
- Базовый уровень Python и PyTorch.
- Машинное обучение
- Базовые знания в области глубокого обучения (MLP, CNN и RNN)
Примечание: вышла моя НОВАЯ КНИГА!
Чтобы более подробно изучить обучение с подкреплением и глубокое RL, прочтите мою книгу «Алгоритмы обучения с подкреплением с помощью Python» !!
Оглавление
- Ландшафт обучения с подкреплением
- Внедрение RL Cycle и OpenAI Gym
- Решение проблем с динамическим программированием
- Q-обучение и приложения SARSA
- Глубокая Q-сеть
- Изучение стохастики и оптимизации DDPG
- Реализация TRPO и PPO
- Приложения DDPG и TD3
- RL на основе модели
- Имитация обучения с помощью алгоритма DAgger
- Понимание алгоритмов оптимизации черного ящика
- Разработка алгоритма ESBAS
- Практическая реализация для решения проблем RL
Индекс – обучение с подкреплением
- Неделя 1 – Введение
- Неделя 2. Основы RL
- Неделя 3 – Алгоритмы, основанные на ценности – DQN
- Неделя 4. Алгоритмы градиента политики — REINFORCE и A2C
- Неделя 5 – Расширенные градиенты политики — PPO
- Неделя 6 – Стратегии эволюции и генетические алгоритмы – ES
- Неделя 7. Обучение с подкреплением на основе моделей — MB-MF
- Неделя 8. Продвинутые концепции и проект на ваш выбор
- Последние 4 дня – обзор и обмен информацией
- Лучшие ресурсы
- Дополнительные ресурсы
Неделя 1 – Введение
- Почему обучение с подкреплением является таким важным методом обучения – простое объяснение
- Введение и обзор курса — CS294 от Levine, Беркли
- Глубокое обучение с подкреплением: понг из пикселей от Karpathy
Другие ресурсы
- «Библия» обучения с подкреплением: Глава 1 — Саттон и Барто
- Отличный вводный документ: Глубокое обучение с подкреплением: обзор
- Начать кодирование: С нуля: Закон о балансировке искусственного интеллекта в 50 строках Python
Неделя 2. Основы RL: MDP, динамическое программирование и безмодельное управление
Те, кто не помнит прошлого, обречены его повторять - Джордж Сантаяна
На этой неделе мы узнаем об основных блоках обучения с подкреплением, начиная с определения проблемы и заканчивая оценкой и оптимизацией функций, которые используются для выражения качества политики или государства.
Лекции - Теория
- Марковский процесс принятия решений - Дэвид Сильвер (DeepMind)
- Марковские процессы
- Марковские процессы принятия решений
- Планирование с помощью динамического программирования – Дэвид Сильвер (DeepMind)
- Итерация политики
- Итерация значения
- Прогнозирование без использования моделей — Дэвид Сильвер (DeepMind)
- Обучение в Монте-Карло
- Обучение временной разнице
- ТД(λ)
- Управление без модели — Дэвид Сильвер (DeepMind)
- Ɛ-жадная итерация политики
- GLIE Монте-Карло Поиск
- САРСА
- Выборка по важности
Проект недели - Q-learning
Q-обучение, примененное к FrozenLake . Для тренировки вы можете решить игру, используя SARSA, или внедрить Q-обучение самостоятельно. В первом случае потребуются лишь некоторые изменения.
Другие ресурсы
- «Библия» обучения с подкреплением: главы 3 и 4 — Саттон и Барто
- Введение в функции стоимости — DRL UC Berkley, Сергей Левайн
Неделя 3. Алгоритмы, основанные на ценности — DQN
На этой неделе мы изучим более сложные концепции и применим глубокую нейронную сеть к алгоритмам Q-обучения.
Лекции - Теория
- Аппроксимация функций стоимости - Дэвид Сильвер (DeepMind)
- Аппроксиматоры дифференцируемых функций
- Инкрементные методы
- Пакетные методы (DQN)
- Продвинутые алгоритмы Q-обучения – Сергей Левин (Калифорнийский университет в Беркли)
- Буфер воспроизведения
- Двойное Q-обучение
- Непрерывные действия (NAF,DDPG)
- Практические советы
Проект недели — DQN и варианты
DQN и некоторые варианты, применимые к Pong . Цель этой недели — разработать алгоритм DQN для игры Atari. Чтобы было интереснее, я разработал три расширения DQN: Double Q-learning , Multi-step Learning , Dueling network и Noisy Nets . Поиграйте с ними, и если вы чувствуете себя уверенно, вы можете реализовать приоритетное воспроизведение, дуэльные сети или распределительный RL. Чтобы узнать больше об этих улучшениях, прочтите статьи!
Статьи
Обязательно прочтите
- Игра в Atari с глубоким обучением с подкреплением – 2013 г.
- Контроль на уровне человека посредством глубокого обучения с подкреплением – 2015 г.
- Rainbow: объединение улучшений в глубоком обучении с подкреплением – 2017 г.
Расширения DQN
- Глубокое обучение с подкреплением с помощью Double Q-learning – 2015 г.
- Повтор приоритетного опыта - 2015 г.
- Дуэль сетевых архитектур для глубокого обучения с подкреплением – 2016 г.
- Шумные сети для разведки - 2017
- Обучение с распределенным подкреплением с помощью квантильной регрессии – 2017 г.
Другие ресурсы
- «Библия» обучения с подкреплением: главы 5 и 6 — Саттон и Барто
- Глубокое обучение с подкреплением на предприятии: преодоление разрыва от игр к индустрии
Неделя 4. Алгоритмы градиента политики — REINFORCE и A2C
На четвертой неделе мы знакомимся с методами Policy Gradient — классом алгоритмов, которые непосредственно оптимизируют политику. Также вы узнаете об алгоритмах Актер-Критик. Эти алгоритмы сочетают в себе как политический градиент (актёр), так и функцию ценности (критик).
Лекции - Теория
- Методы политического градиента - Дэвид Сильвер (DeepMind)
- Градиент политики конечных разностей
- Политический градиент Монте-Карло
- Градиент политики актор-критик
- Введение в градиент политики – Сергей Левин (RECAP, опционально)
- Градиент политики (REINFORCE и Vanilla PG)
- Уменьшение дисперсии
- Актер-критик - Сергей Левин (Подробнее)
- Актер-критик
- Дискаут-фактор
- Разработка алгоритма актер-критик (пакетный режим или онлайн)
- базовый уровень, зависящий от состояния
Проект недели — Vanilla PG и A2C
Ванильный PG и A2C применительно к CartPole . Упражнение на этой неделе заключается в реализации метода политического градиента или более сложного актера-критика. В репозитории можно найти реализованную версию PG и A2C. Оповещение об ошибке! Обратите внимание, что A2C дает мне странный результат. Если реализация PG и A2C кажется вам простой, вы можете попробовать асинхронную версию A2C (A3C).
Статьи
- Политические градиентные методы для обучения с подкреплением с аппроксимацией функций
- Асинхронные методы для глубокого обучения с подкреплением
Другие ресурсы
- «Библия» обучения с подкреплением: главы 9 и 10 — Саттон и Барто
- Интуитивное RL: введение в систему «Преимущество-актер-критик» (A2C)
- Асинхронные агенты-актеры-критики (A3C)
Неделя 5 – Расширенные градиенты политики — PPO
На этой неделе речь пойдет о передовых методах градиентной политики, которые улучшают стабильность и сходимость «ванильных» методов градиентной политики. Вы изучите и внедрите PPO — алгоритм RL, разработанный OpenAI и принятый в OpenAI Five.
Лекции - Теория
- Продвинутые градиенты политики – Сергей Левин (Калифорнийский университет в Беркли)
- Проблемы с «ванильными» градиентными методами политики
- Границы эффективности политики
- Теория монотонного улучшения
- Алгоритмы: НПО, ТРПО, ППО.
- Градиенты естественной политики, TRPO, PPO – Джон Шульман (учебный курс Berkey DRL) – (RECAP, необязательно)
- Ограничения «ванильных» градиентных методов политики
- Градиент естественной политики
- Оптимизация политики доверительного региона, TRPO
- Оптимизация ближайшей политики, PPO
Проект недели - ППО
PPO применяется к BipedalWalker . На этой неделе вам нужно реализовать PPO или TRPO. Я предлагаю PPO, учитывая его простоту (по сравнению с TRPO). В папке проекта Week5 вы найдете реализацию PPO, позволяющую научиться играть в BipedalWalker . Кроме того, в папке вы сможете найти и другие ресурсы, которые помогут вам в развитии проекта. Веселиться!
Чтобы узнать больше о PPO, прочитайте статью и посмотрите видео Arxiv Insights.
Статьи
- Оптимизация политики Доверительного региона – 2015 г.
- Алгоритмы оптимизации проксимальной политики – 2017 г.
Другие ресурсы
- Чтобы лучше понять PPO и TRPO: стремление к (роботизированному) счастью
- Гайки и болты Deep RL
- Лучшая практика PPO: обучение с оптимизацией проксимальной политики
- Объяснение алгоритма PPO от Arxiv Insights
Неделя 6 – Стратегии эволюции и генетические алгоритмы – ES
В прошлом году было показано, что стратегии эволюции (ES) и генетические алгоритмы (GA) достигают результатов, сопоставимых с методами RL. Это алгоритмы черного ящика без производных, которым для обучения требуется больше данных, чем RL, но которые можно масштабировать на тысячи процессоров. На этой неделе мы рассмотрим алгоритмы «черного ящика».
Лекции и статьи - Теория
- Стратегии эволюции
- Введение в ES: визуальное руководство по стратегиям эволюции
- ES для RL: развитие стабильных стратегий
- Методы без производных - Лекция
- Стратегии эволюции (дискуссионное обсуждение)
- Генетические алгоритмы
- Введение в генетические алгоритмы — включая пример кода
Проект недели - ES
Стратегии эволюции применяются к LunarLander . На этой неделе проект должен внедрить ES или GA. В папке Week6 вы можете найти базовую реализацию документа «Стратегии эволюции как масштабируемая альтернатива обучению с подкреплением» для решения LunarLanderContinious. Вы можете изменить его, чтобы играть в более сложных условиях, или добавить свои идеи.
Статьи
- Глубокая нейроэволюция: генетические алгоритмы — конкурентная альтернатива обучению глубоких нейронных сетей для обучения с подкреплением
- Стратегии эволюции как масштабируемая альтернатива обучению с подкреплением
Другие ресурсы
- Алгоритмы эволюционной оптимизации - Дэн Саймон
Неделя 7. Обучение с подкреплением на основе моделей — MB-MF
Алгоритмы, изученные до сих пор, не требуют моделей, а это означает, что они выбирают только лучшее действие в данном состоянии. Эти алгоритмы достигают очень хорошей производительности, но требуют большого количества обучающих данных. Вместо этого алгоритмы, основанные на моделях, изучают окружающую среду и планируют следующие действия в соответствии с изученной моделью. Эти методы более эффективны на выборке, чем методы без моделей, но в целом обеспечивают худшую производительность. На этой неделе вы изучите теорию этих методов и реализуете один из последних алгоритмов.
Лекции - Теория
- RL на основе моделей, Дэвид Сильвер (DeepMind) (краткая версия)
- Интеграция обучения и планирования
- Обзор модельного RL
- Интегрированные архитектуры
- Поиск на основе моделирования
- Model-Based RL, Сергей Левин (Калифорнийский университет в Беркли) (подробная версия)
- Изучение динамических систем на основе данных
- Обзор RL на основе модели
- Глобальные и локальные модели
- Обучение с использованием местных моделей и доверительных регионов
- Изучение политики путем имитации оптимальных контроллеров
- Обратное распространение в политику с изученными моделями
- Алгоритм управляемого поиска политик
- Имитация оптимального управления с помощью DAgger
- Расширенное обучение моделей и изображений
- Модели в скрытом пространстве
- Модели непосредственно в пространстве изображения
- Инверсные модели
Проект недели - МБ-МФ
MB-MF применен к RoboschoolAnt . На этой неделе я решил реализовать алгоритм на основе модели, описанный в этой статье. Вы можете найти мою реализацию здесь. Примечание. Вместо реализации на Mujoco, как описано в статье, я использовал RoboSchool, симулятор роботов с открытым исходным кодом, интегрированный с OpenAI Gym.
Статьи
- Агенты с расширенным воображением для глубокого обучения с подкреплением - 2017 г.
- Обучение с подкреплением с неконтролируемыми вспомогательными задачами - 2016 г.
- Динамика нейронных сетей для глубокого обучения на основе моделей с точной настройкой без модели - 2018
Другие ресурсы
- «Библия» обучения с подкреплением: Глава 8 — Саттон и Барто
- Модели мира. Могут ли агенты учиться в своих мечтах?
Неделя 8. Продвинутые концепции и проект на ваш выбор
Последняя неделя посвящена передовым концепциям RL и проекту на ваш выбор.
Лекции - Теория
- Сергей Левин (Беркли)
- Связь между выводом и контролем
- Обучение с обратным подкреплением
- Разведка (часть 1)
- Исследование (часть 2) и трансферное обучение
- Многозадачное обучение и передача
- Метаобучение и параллелизм
- Продвинутое имитационное обучение и открытые задачи
- Дэвид Сильвер (DeepMind)
Финальный проект
Здесь вы можете найти идеи для проектов.
- Поммерман (Мультиплеер)
- Испытание ИИ для протезирования (Испытание)
- Word-модели (бумажная реализация)
- Запрос на исследование OpenAI (Исследования)
- Ретро-конкурс (Трансферное обучение)
Другие ресурсы
- АльфаГоу Ноль
- Бумага
- Сообщение в блоге DeepMind: AlphaGo Zero: обучение с нуля
- Видео Arxiv Insights: Как работает AlphaGo Zero - Google DeepMind
- OpenAI пять
- Сообщение в блоге OpenAI: OpenAI Five
- Видео Arxiv Insights: OpenAI Five: встреча с профессионалами в Dota II
Последние 4 дня – обзор и обмен информацией
Поздравляем с завершением 60-дневного конкурса RL!! Дайте мне знать, если вам это понравилось, и поделитесь этим!
Увидимся!
Лучшие ресурсы
Обучение с подкреплением: введение - Саттон и Барто. «Библия» обучения с подкреплением. Здесь вы можете найти PDF-черновик второй версии.
Практикум по глубокому обучению с подкреплением - Максим Лапан
Глубокое обучение - Ян Гудфеллоу
Глубокое обучение с подкреплением — курс Левина в Калифорнийском университете в Беркли, посетите их сайт здесь.
Курс обучения с подкреплением — Дэвид Сильвер, DeepMind. Отличные вводные лекции Сильвера, ведущего исследователя AlphaGo. Они следуют книге Саттона и Барто «Обучение с подкреплением».
Дополнительные ресурсы
Потрясающее обучение с подкреплением. Кураторский список ресурсов, посвященных обучению с подкреплением.
GroundAI на RL. Статьи по обучению с подкреплением
Чашка кофе ☕
Любой вклад высоко ценится! Ваше здоровье!