reinforcement learning что это

Введение в обучение с подкреплением: от многорукого бандита до полноценного RL агента

Привет, Хабр! Обучение с подкреплением является одним из самых перспективных направлений машинного обучения. С его помощью искусственный интеллект сегодня способен решать широчайший спектр задач: от робототехники и видеоигр до моделирования поведения покупателей и здравоохранения. В этой вводной статье мы изучим главную идею reinforcement learning и с нуля построим собственного самообучающегося бота.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Введение

Основное отличие обучения с подкреплением (reinforcement learning) от классического машинного обучения заключается в том, что искусственный интеллект обучается в процессе взаимодействия с окружающей средой, а не на исторических данных. Соединив в себе способность нейронных сетей восстанавливать сложные взаимосвязи и самообучаемость агента (системы) в reinforcement learning, машины достигли огромных успехов, победив сначала в нескольких видеоиграх Atari, а потом и чемпиона мира по игре в го.

Если вы привыкли работать с задачами обучения с учителем, то в случае reinforcement learning действует немного иная логика. Вместо того, чтобы создавать алгоритм, который обучается на наборе пар «факторы — правильный ответ», в обучении с подкреплением необходимо научить агента взаимодействовать с окружающей средой, самостоятельно генерируя эти пары. Затем на них же он будет обучаться через систему наблюдений (observations), выигрышей (reward) и действий (actions).

Очевидно, что теперь в каждый момент времени у нас нет постоянного правильного ответа, поэтому задача становится немного хитрее. В этой серии статей мы будем создавать и обучать агентов обучения с подкреплением. Начнем с самого простого варианта агента, чтобы основная идея reinforcement learning была предельно понятна, а затем перейдем к более сложным задачам.

Многорукий бандит

Самый простой пример задачи обучения с подкреплением — задача о многоруком бандите (она достаточно широко освещена на Хабре, в частности, тут и тут). В нашей постановке задачи есть n игровых автоматов, в каждом из которых фиксирована вероятность выигрыша. Тогда цель агента — найти слот-машину с наибольшим ожидаемым выигрышем и всегда выбирать именно ее. Для простоты у нас будет всего четыре игровых автомата, из которых нужно будет выбирать.

По правде говоря, эту задачу можно с натяжкой отнести к reinforcement learning, поскольку задачам из этого класса характерны следующие свойства:

В области обучения с подкреплением есть и другой подход, при котором агенты обучают value functions. Вместо того, чтобы находить оптимальное действие в текущем состоянии, агент учиться предсказывать, насколько выгодно находиться в данном состоянии и совершать данное действие. Оба подхода дают хорошие результаты, однако логика policy gradient более очевидна.

Policy Gradient

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

Для обновления весов модели мы будем использовать e-жадную линию поведения. Это значит, что в большинстве случаев агент будет выбирать действие, максимизирующее ожидаемый выигрыш, однако иногда (с вероятностью равной e) действие будет случайным. Так будет обеспечен выбор всех возможных вариантов, что позволит нейросети «узнать» больше о каждом из них.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

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

Реализация алгоритма

Бандиты. Сначала мы создадим наших бандитов (в быту игровой автомат называют бандитом). В нашем примере их будет 4. Функция pullBandit генерирует случайное число из стандартного нормального распределения, а затем сравнивает его со значением бандита и возвращает результат игры. Чем дальше по списку находится бандит, тем больше вероятность, что агент выиграет, выбрав именно его. Таким образом, мы хотим, чтобы наш агент научился всегда выбирать последнего бандита.

Агент. Кусок кода ниже создает нашего простого агента, который состоит из набора значений для бандитов. Каждое значение соответствует выигрышу/проигрышу в зависимости от выбора того или иного бандита. Чтобы обновлять веса агента мы используем policy gradient, то есть выбираем действия, минимизирующие функцию потерь:

Обучение агента. Мы будем обучать агента, путем выбора определенных действий и получения выигрышей/проигрышей. Используя полученные значения, мы будем знать, как именно обновить веса модели, чтобы чаще выбирать бандитов с большим ожидаемым выигрышем:

Полный Jupyter Notebook можно скачать тут.

Решение полноценной задачи обучения с подкреплением

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

Системы, в которых может быть решена обучения с подкреплением называются Марковскими процессами принятия решений (Markov Decision Processes, MDP). Для таких систем характерны выигрыши и действия, обеспечивающие переход из одного состояния в другое, причем эти выигрыши зависят от текущего состояния системы и решения, которое принимает агент в этом состоянии. Выигрыш может быть получен с задержкой во времени.

Формально Марковский процесс принятия решений может быть определен следующим образом. MDP состоит из набора всех возможных состояний S и действий А, причем в каждый момент времени он находится в состоянии s и совершает действие a из этих наборов. Таким образом, дан кортеж (s, a) и для него определены T(s,a) — вероятность перехода в новое состояние s’ и R(s,a) — выигрыш. В итоге в любой момент времени в MDP агент находится в состоянии s, принимает решение a и в ответ получает новое состояние s’ и выигрыш r.

Для примера, даже процесс открывания двери можно представить в виде Марковского процесса принятия решений. Состоянием будет наш взгляд на дверь, а также расположение нашего тела и двери в мире. Все возможные движения тела, что мы можем сделать, и являются набором A, а выигрыш — это успешное открытие двери. Определенные действия (например, шаг в сторону двери) приближают нас к достижению цели, однако сами по себе не приносят выигрыша, так как его обеспечивает только непосредственно открывание двери. В итоге, агент должен совершать такие действия, которые рано или поздно приведут к решению задачи.

Задача стабилизации перевернутого маятника

Воспользуемся OpenAI Gym — платформой для разработки и тренировки AI ботов с помощью игр и алгоритмических испытаний и возьмем классическую задачу оттуда: задача стабилизации перевернутого маятника или Cart-Pole. В нашем случае суть задачи заключается в том, чтобы как можно дольше удерживать стержень в вертикальном положении, двигая тележку по горизонтали:
reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

В отличии от задачи о многоруком бандите, в данной системе есть:

Таким образом, каждое действие агента будет совершено с учетом не только мгновенного выигрыша, но и всех последующих. Также теперь мы будем использовать скорректированный выигрыш в качестве оценки элемента A (advantage) в функции потерь.

Реализация алгоритма

Импортируем библиотеки и загрузим среду задачи Cart-Pole:

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

Теперь создадим нашего агента:

Обучение агента. Теперь, наконец, перейдем к обучению агента:

Полный Jupyter Notebook вы можете посмотреть тут. Увидимся в следующих статьях, где мы продолжим изучать обучение с подкреплением!

Источник

Искусственный интеллект (AI): в чем разница между Deep Learning и Reinforcement Learning?

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Как Deep learning, так и Reinforcement learning представляют собой функции машинного обучения, которые, в свою очередь, являются частью более широкого набора инструментов искусственного интеллекта. Что самое интересное, и Deep learning, и Reinforcement learning позволяют компьютеру самостоятельно разрабатывать алгоритм решения задач. Способность компьютеров учиться не является новой, но до недавнего времени у нас не было настолько большого количества данных и такой вычислительной мощности, чтобы сделать это повседневным инструментом.

Что такое Deep learning?

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

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

Ярким примером Deep learning на практике является Apple’s Face ID. При настройке телефона вы обучаете алгоритм, сканируя свое лицо. Каждый раз, когда вы входите в систему с использованием Face ID, камера TrueDepth фиксирует тысячи точек данных, которые создают детализированную схему вашего лица, а встроенная нейронная сеть анализирует, вы ли это пытаетесь войти в систему.

Что такое Reinforcement learning?

Reinforcement learning – это автономная система самообучения, которая учится методом проб и ошибок. Она выполняет действия с целью максимизации выгоды или, другими словами, учится стремясь добиться лучшего результата. Это похоже на то, как мы учимся кататься на велосипеде. Сначала наши движения крайне неустойчивы и мы часто падаем. Но со временем мы используем фидбэк о том, как стоит делать, а как не стоит. Таким образом, мы совершенствуем наши навыки и, в конце концов, уже без труда можем управлять велосипедом. Почти то же самое происходит при использовании Reinforcement learning компьютерами. Они выполняют разные действия, узнают из обратной связи, улучшился ли результат, а затем закрепляют те действия, которые работают, т.е. модифицируют алгоритмы на протяжении множества повторов до тех пор, пока не будет достигнут наилучший результат.

Удачным примером использования Reinforcement learning является робот, который учится ходить. Сначала робот делает большой шаг вперед и падает. Результатом этого падения является точка данных, на которую реагирует система Reinforcement learning. Поскольку обратная связь была отрицательной – падение, система корректирует действие, чтобы попытаться выполнить меньший шаг. Теперь робот устойчиво может двигаться вперед.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Одним из самых удивительных примеров применения Reinforcement learning является компьютерная игра Atari Break Out. Цель игры заключалась в том, чтобы максимизировать счет, и компьютер должен был перемещать панель внизу монитора, от которой отскакивает мяч, чтобы разбить кирпичную стену в верхней части экрана. Вы можете посмотреть видео здесь и увидеть, как вначале алгоритм совершает много ошибок. Затем он быстро обучается и вскоре начинает играть даже лучше, чем человек.

Отличие Deep learning от Reinforcement learning

Обе системы обучаются самостоятельно. Разница заключается в том, что Deep learning – это система, которая обучается на основе имеющихся данных, а затем применяет эти знания для новых данных, в то время как Reinforcement learning работает путем корректировки действий, основанных на непрерывной обратной связи, чтобы улучшить результат.

Deep learning и Reinforcement learning не являются взаимоисключающими. Фактически, можно применять Deep learning в системе Reinforcement learning. И это будет уже Deep reinforcement learning. Но это уже тема следующей статьи.

Источник

Введение в обучение с подкреплением для начинающих

Обучение с подкреплением в – это способ машинного обучения, при котором система обучается, взаимодействуя с некоторой средой.

В последние годы мы наблюдаем прогресс в исследованиях в данной области. Например DeepMind, Deep Q learning в 2014, победа чемпиона мира в Go с помощью алгоритма AlphaGo в 2016, OpenAl и PPO в 2017

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

В этой статье мы сфокусируемся на изучении различных архитектур, которые активно используются вместе с обучением с подкреплением в наши дни для решения различного рода проблем, а именно Q-learning, Deep Q-learning, Policy Gradients, Actor Critic и PPO.

Из этой статьи, вы узнаете:

Очень важно освоить все эти элементы, прежде чем погружаться в реализацию системы глубинного обучения с подкреплением.

Идея обучения с подкреплением заключается в том, что система будет учиться в среде, взаимодействовать с ней и получать вознаграждение за выполнение действий.
reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Представьте, что вы ребенок в гостиной. Вы увидели камин и захотели подойти к нему.
reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Тут тепло, вы хорошо себя чувствуете. Вы понимаете, что огонь – это хорошо.
reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

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

Вот как люди учатся через взаимодействие. Обучение с подкреплением – это просто вычислительный подход к обучению на основе действий.

Как выглядит обучение с подкреплением

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это
Давайте в качестве примера представим, что система учится играть в Super Mario Bros. Процесс обучения с подкреплением может быть смоделирован как цикл, который работает следующим образом:

Этот цикл ОП выводит последовательность состояний, действий и вознаграждений.

Цель системы – максимизировать ожидаемое вознаграждение.

Главная идея гипотезы вознаграждения

Почему целью системы является максимизация ожидаемого вознаграждения?

Обучение с подкреплением основано на идее гипотезы вознаграждения. Все цели можно описать максимизацией ожидаемого вознаграждения.

Вознаграждение на каждом временном шаге (t) может быть записано как:

Что эквивалентно:
reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Однако на самом деле мы не можем просто добавить такие награды. Награды, которые приходят раньше (в начале игры), более вероятны, так как они более предсказуемы, чем будущие вознаграждения.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Допустим, ваш герой – это маленькая мышь, а противник – кошка. Цель игры состоит в том, чтобы съесть максимальное количество сыра, прежде чем быть съеденным кошкой.

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

Как следствие, ценность награды рядом с кошкой, даже если она больше обычного (больше сыра), будет снижена. Мы не уверены, что сможем его съесть.

Перерасчет награды, мы делаем таким способом:

Мы определяем ставку дисконтирования gamma. Она должна быть в пределах от 0 до 1.

Ожидаемые вознаграждения можно рассчитать по формуле:
reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Другими словами, каждая награда будет уценена с помощью gamma к показателю времени (t). По мере того, как шаг времени увеличивается, кошка становится ближе к нам, поэтому будущее вознаграждение все менее и менее вероятно.

Эпизодические или непрерывные задачи

У нас может быть два типа задач: эпизодические и непрерывные.

Эпизодические задачи

В этом случае у нас есть начальная и конечная точка. Это создает эпизод: список состояний, действий, наград и будущих состояний.

Например в Super Mario Bros, эпизод начинается с запуска нового Марио и заканчивается, когда вы убиты или достигли конца уровня.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Непрерывные задачи

Это задачи, которые продолжаются вечно. В этом случае система должна научиться выбирать оптимальные действия и одновременно взаимодействовать со средой.

Как пример можно привести систему, которая автоматически торгует акциями. Для этой задачи нет начальной точки и состояния терминала. Что касается нашей задачи, то герой будет бежать, пока мы не решим остановить его.
reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Борьба методов: Монте-Карло против Временной разницы

Существует два основных метода обучения:

Монте-Карло

Когда эпизод заканчивается, система смотрит на накопленное вознаграждение, чтобы понять насколько хорошо он выполнил свою задачу. В методе Монте-Карло награды получают только в конце игры.

Затем, мы начинаем новую игру с новыми знаниями. С каждым разом система проходит этот уровень все лучше и лучше.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Возьмем эту картинку как пример:

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Временная разница: обучение на каждом временном шаге

Этот метод не будет ждать конца эпизода, чтобы обновить максимально возможное вознаграждение. Он будет обновлять V в зависимости от полученного опыта.

Метод вызывает TD (0) или One step TD (обновление функции value после любого отдельного шага).
reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Он будет только ждать следующего временного шага, чтобы обновить значения. В момент времени t+1 обновляются все значения, а именно вознаграждение меняется на Rt+1, а текущую оценка на V(St+1).

Разведка или эксплуатация?

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

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

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

В этой игре, наша мышь может иметь бесконечное количество маленьких кусков сыра (+1). Однако на вершине лабиринта есть гигантский кусок сыра (+1000).

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

Но если наша система проведет небольшое исследование, она найдет большую награду.

Это то, что мы называем компромиссом между разведкой и эксплуатацией. Мы должны определить правило, которое поможет справиться с этим компромиссом.

Три подхода к обучению с подкреплением

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

На основе значений

В обучении с подкреплением на основе значений целью является оптимизация функции V(s).

Функция value – это функция, которая сообщает нам максимальное ожидаемое вознаграждение, которое получит система.

Значение каждой позиции – это общая сумма вознаграждения, которую система может накопить в будущем, начиная с этой позиции.

Система будет использовать эту функцию значений для выбора состояния на каждом шаге. Она принимает состояние с наибольшим значением.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

На основе политики

В обучении с подкреплением на основе политики мы хотим напрямую оптимизировать функцию политики π (s) без использования функции значения.

Политика – это то, что определяет поведение системы в данный момент времени.

Это позволяет нам сопоставить каждую позицию с наилучшим действием.

Существует два типа политики:

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это
Как можно заметить, политика прямо указывает на лучшие действия для каждого шага.

На основе модели

В подходе на основании модели мы моделируем среду. Это означает, что мы создаем модель поведения среды.

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

В этой статье было довольно много информации. Убедитесь, что действительно поняли весь материал, прежде чем продолжить изучение. Важно освоить эти элементы перед тем как начать самую интересную часть: создание ИИ, который играет в видеоигры.

Источник

Введение в различные алгоритмы обучения с подкреплением (Q-Learning, SARSA, DQN, DDPG)

(Q-learning, SARSA, DQN, DDPG)

Обучение с подкреплением (RL далее ОП) относится к разновидности метода машинного обучения, при котором агент получает отложенное вознаграждение на следующем временном шаге, чтобы оценить свое предыдущее действие. Он в основном использовался в играх (например, Atari, Mario), с производительностью на уровне или даже превосходящей людей. В последнее время, когда алгоритм развивается в комбинации с нейронными сетями, он способен решать более сложные задачи.

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

1. Обучение с подкреплением

Типичное ОП состоит из двух компонентов, Агента и Окружения.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Окружение – это среда или объект, на который воздействует Агент (например игра), в то время как Агент представляет собой алгоритм ОП. Процесс начинается с того, что Окружение отправляет свое начальное состояние (state = s) Агенту, который затем, на основании своих значений, предпринимает действие (action = a ) в ответ на это состояние. После чего Окружение отправляет Агенту новое состояние (state’ = s’) и награду (reward = r) Агент обновит свои знания наградой, возвращенной окружением, за последнее действие и цикл повторится. Цикл повторяется до тех пор, пока Окружение не отправит признак конца эпизода.

Большинство алгоритмов ОП следуют этому шаблону. В следящем параграфе я кратко расскажу о некоторых терминах, используемых в ОП, чтобы облегчить наше обсуждение в следующем разделе.

Определения:

1. Action (A, a): все возможные команды, которые агент может передать в Окружение (среду)

2. State (S,s): текущее состояние возвращаемое Окружением

3. Rewrd (R,r): мгновенная награда возвращаемое Окружением, как оценка последнего действия

5. Value (V) или Estimate (E) : ожидаемая итоговая (награда) со скидкой, в отличии от мгновенной награды R, является функцией политики Eπ(s) и определяется, как ожидаемая итоговая награда Политики в текущем состоянии s. (Встречается в литературе два варианта Value – значение, Estimate – оценка, что в контексте предпочтительней использовать E – оценка. Прим. переводчика)

6. Q-value (Q): оценка Q аналогична оценки V, за исключением того, что она принимает дополнительный параметр a (текущее действие). Qπ(s, a) является итоговой оценкой политики π от состояния s и действия a

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это* MCTS (Монте-Карло тайм степ модель), on-policy (алгоритм, где Агент включен в политику, т.е. обучается на основе действий, производных от текущей политики), off-policy (Агент обучается на основе действий, полученных от другой политики

Безмодельные алгоритмы против алгоритмов базирующихся на моделях

С другой стороны, безмодельные алгоритмы опираются на метод проб и ошибок для обновления своих знаний. В результате им не требуется место для хранения комбинаций состояние / действие и их оценок.

2. Разбор Алгоритмов

2.1. Q-learning

Q-learning это не связанный с политикой без модельный алгоритм ОП, основанный на хорошо известном уравнении Беллмана:

Мы можем переписать это уравнение в форме Q-value:

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Оптимальное значение Q, обозначенное как Q*, может быть выражено как:

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Цель состоит в том, чтобы максимизировать Q-значение. Прежде чем углубиться в метод оптимизации Q-value, я хотел бы обсудить два метода обновления значений, которые тесно связаны с Q-learning.

Итерация политики

Итерация политики представляет собой цикл между оценкой политики и ее улучшением.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Оценка политики оценивает значения функции V с помощью «жадной политики» полученной в результате последнего улучшения политики. С другой стороны, улучшение политики обновляет политику, генерирующую действия (action – a), что максимизирует значения V для каждого состояния (окружения). Уравнения обновления основаны на уравнении Беллмана. Итерации продолжаются до схождения.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Итерация Оценок (V)

Итерация оценок содержит только один компонент, который обновляет функцию оценки значений V, на основе Оптимального уравнения Беллмана.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

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

Обратите внимание, что эти два метода требуют знания вероятности перехода p, что указывает на то, что это алгоритм на основе модели. Однако, как я упоминал ранее, алгоритм, основанный на модели, страдает проблемой масштабируемости. Так как же Q-Learning решает эту проблему?

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Здесь a (альфа) скорость обучения (т.е. как быстро мы приближаемся к цели) Идея Q-learning во многом основана на итерациях оценок (v). Однако уравнение обновления заменяется приведенной выше формулой. В результате нам больше не нужно думать о вероятности перехода (p).

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Обратите внимание, что следующее действие a’ выбирается для максимизации Q-значения следующих состояний вместо того, чтобы следовать текущей политике. В результате Q-learning относится к категории вне политики (off-Policy).

2.2. State-Action-Reward-State-Action (SARSA)

SARSA очень напоминает Q-learning. Ключевое отличие SARSA от Q-learning заключается в том, что это алгоритм с политикой (on-policy). Это означает, что SARSA оценивает значения Q на основе действий, выполняемых текущей политикой, а не жадной политикой.

Уравнения ниже показывают разницу между рассчетом значений Q

Где действие at+1 это действие выполняемое в следующем состоянии st+1 в соответствии с текущей политикой.

Они выглядят в основном одинаково, за исключением того, что в Q- learning мы обновляем нашу Q-функцию, предполагая, что мы предпринимаем действие a, которое максимизирует нашу Q-функцию в следующем состоянии Q (st + 1, a).

В SARSA мы используем ту же политику (например, epsilon-greedy), которая сгенерировала предыдущее действие a, чтобы сгенерировать следующее действие, a + 1, которое мы запускаем через нашу Q-функцию для обновлений, Q (st + 1, at+1). (Вот почему алгоритм получил название SARSA, State-Action-Reward-State-Action).

В Q-learning у нас нет ограничений на то, как выбирается следующее действие a, у нас есть только оптимистичный взгляд на то, что все последующие выборы действий a в каждом состоянии s будут оптимальными, поэтому мы выбираем действие a, чтобы максимизировать оценку Q (st+1, a). Это означает, что с помощью Q-learning мы можем генерировать данные политикой с любым поведением (обученной, необученной, случайной и даже плохой), при наличии достаточной выборки мы получим оптимальные значения Q

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

2.3. Deep Q Network (DQN)

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

аваВ 2013 году DeepMind применил DQN к игре Atari, как показано на рисунке выше. Входными данными является необработанное изображение текущей игровой ситуации. Оно проходит через несколько сверхточных слоев, а затем через полно связный слой. Результатом является Q-значение для каждого действия, которое может предпринять агент.

Вопрос сводится к следующему: как мы обучаем сеть?

Ответ заключается в том, что мы обучаем сеть на основе уравнения обновления Q-learning. Напомним, что целевое значение Q для Q-learning:

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

φ эквивалентно состоянию s, в то время как θ обозначает параметры в нейронной сети, что не входит в область нашего обсуждения. Таким образом, функция потерь для сети определяется как квадрат ошибки между целевым значением Q и выходным значением Q из сети.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Еще два метода также важны для обучения DQN:

1. Воспроизведение опыта: поскольку обучающие батчи в типичной настройке ОП(RL) сильно коррелированы и менее эффективны для обработки данных, это приведет к более сложной конвергенции для сети. Одним из способов решения проблемы выборки батчей является воспроизведение опыта. По сути, батчи переходов сохраняются, а затем случайным образом выбираются из «пула переходов» для обновления знаний.

2. Отдельная целевая сеть: целевая сеть Q имеет ту же структуру, что и сеть, которая оценивает значение. Каждый шаг C, в соответствии с приведенным выше псевдокодом, целевая сеть принимает значения основной сети. Таким образом, колебания становятся менее сильными, что приводит к более стабильным тренировкам.

2.4. Deep Deterministic Policy Gradient (DDPG)

Хотя DQN добилась огромных успехов в задачах более высокой размерности, таких как игра Atari, пространство действий по-прежнему остается дискретным. Однако для многих задач, представляющих интерес, особенно для задач физического контроля, пространство действий непрерывно. Если вы слишком дискретизируете пространство действия, вы получите слишком большой объем. Например, предположим, что степень свободной случайной системы равна 10. Для каждой степени вы делите пространство на 4 части. У вас будет 4¹⁰ = 1048576 действий. Чрезвычайно сложно получить схождение для такого большого пространства действий, а это еще не предел.

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Критик используется для оценки функции политики Актора в соответствии с ошибкой временной разницы (TD)

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

Здесь u обозначает политику Актора. Знакомо? Да! Это похоже на уравнение обновления Q-learning. TD-learning – это способ научиться предсказывать значение в зависимости от будущих значений данного состояния. Q-learning это особый тип TD-learning для получения Q значений

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что это

DDPG также заимствует идеи воспроизведения опыта и отдельной целевой сети от DQN. Другой проблемой для DDPG является то, что он редко выполняет поиск действий. Решением для этого является добавление шума в пространство параметров или пространство действий (action).

reinforcement learning что это. Смотреть фото reinforcement learning что это. Смотреть картинку reinforcement learning что это. Картинка про reinforcement learning что это. Фото reinforcement learning что этоСлева шум добавлен к действиям, справа к параметрам

Утверждается, что добавление шума в пространство параметров лучше, чем в пространство действий, согласно статье написанной на OpenAI.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *