Scraper Обновлено: 15 November, 2019

Руководство для начинающих по Q-Learning

  Перевод   Ссылка на автора

Вы когда-нибудь обвиняли или избивали свою собаку карательно за противоправные действия, как только она это сделала? Или вы когда-нибудь дрессировали питомца и вознаграждали его за каждую правильную команду? Если вы владелец домашнего животного, возможно, ваш ответ будет «Да». Возможно, вы заметили, что, как только вы делаете это с более раннего возраста, его противоправные деяния уменьшаются день ото дня. И так же, как он будет учиться на ошибках и хорошо тренироваться.

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

Это именно то, что происходит вУкрепление обучения (RL),

Укрепление обучения является одним из самых красивых отраслей в искусственном интеллекте

Целью RL являетсямаксимизировать вознаграждение агента, предпринимая ряд действий в ответ на динамическую среду,

Есть 4 основных компонента в Укреплении Обучения; агент, среда, вознаграждение и действие.

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

  1. Наблюдение за окружающей средой
  2. Решить, как действовать, используя некоторую стратегию
  3. Действуя соответственно
  4. Получение награды или штрафа
  5. Учиться на опыте и совершенствовать нашу стратегию
  6. Итерируйте, пока не будет найдена оптимальная стратегия
Источник: ссылка

Существует 2 основных типа алгоритмов RL. Они естьна основе моделиа такжебезмодельный,

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

Переезд в Q-Learning

Q-учусьэтобезмодельныйалгоритм обучения подкрепления.

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

Q-обучение являетсяученик вне политики, Означает, что он узнает значение оптимальной политики независимо от действий агента. С другой стороны,ученик по политикеузнает значение политики, проводимой агентом, включая этапы исследования, и найдет оптимальную политику с учетом исследования, присущего политике.

Что это за вопрос?

«Q» в Q-learning означает качество. Качество здесь представляет, насколько полезно данное действие в получении некоторой будущей награды.

Определение Q-обучения

  • Q * (с, а)является ожидаемой стоимостью (совокупное дисконтированное вознаграждение) выполнения в состоянии s с последующим соблюдением оптимальной политики.
  • Q-learning используетВременные различия (TD)оценить значение Q * (с, а). Разница во времени - агент, обучающийся из окружающей среды посредством эпизодов без предварительного знания окружающей среды.
  • Агент ведет таблицуQ [S, A], гдеSэто наборсостоянияа такжеэто набордействия,
  • Q [s, a] представляет текущую оценку Q * (s, a).

Q-learning Простой пример

В этом разделе Q-learning было объяснено вместе с демонстрацией.

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

Агент и его окружение

Представляем Q-Table

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

Q-функция

Q-функция использует уравнение Беллмана и принимает два входа: состояние (я) и действие (а).

Уравнение Беллмана. Источник: ссылка

Процесс Алгоритма Q-обучения

Алгоритм Q-обучения

Шаг 1: Инициализировать Q-таблицу

Сначала должна быть построена Q-таблица. Есть n столбцов, где n = количество действий. Есть m строк, где m = количество состояний.

В нашем примере n = «Влево», «Вправо», «Вверх» и «Вниз» и m = «Пуск», «Режим ожидания», «Правильный путь», «Неправильный путь» и «Конец». Во-первых, давайте инициализируем значения в 0.

Начальная Q-таблица

Шаг 2: Выберите действие

Шаг 3: выполнить действие

Комбинация шагов 2 и 3 выполняется в течение неопределенного периода времени Эти шаги выполняются до тех пор, пока обучение не будет остановлено или когда цикл обучения не остановится, как определено в коде.

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

Затем обновите значения Q для того, чтобы быть в начале и двигаться вправо, используя уравнение Беллмана, которое указано выше.

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

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

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

Действие: агент следует "правильно"

Теперь мы можем обновить Q-значения, чтобы быть в начале и двигаться вправо, используя уравнение Беллмана.

Обновленная Q-таблица

Шаги 4: Измерьте вознаграждение

Теперь мы приняли меры и наблюдали результат и вознаграждение.

Шаги 5: Оценка

Нам нужно обновить функцию Q (s, a).

Этот процесс повторяется снова и снова, пока обучение не остановится. Таким образом обновляется Q-таблица, и функция значения Q максимизируется. Здесь Q (состояние, действие) возвращаетожидаемая будущая наградаэтого действия в этом состоянии.

Объяснение уравнения Беллмана для эпизодов

В этом примере я ввел схему вознаграждения следующим образом.

Награда за шаг ближе к цели = +1

Награда за столкновение с препятствием = -1

Вознаграждение при простое = 0

Рисунок (а) Положительное вознаграждение, (б) и (в) Отрицательное вознаграждение

Сначала мы исследуем среду агента и обновляем Q-Table. Когда Q-таблица готова, агент начинает эксплуатировать среду и начинает предпринимать лучшие действия. Финальная Q-таблица может быть похожа на следующую (например).

Пример финальной Q-таблицы

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

Навигация агента к цели
Построение результатов по количеству шагов (а) Эпизод по шагам, (б) Эпизод по затратам

Реализация

Код реализации Python для концепции, описанной выше, можно найти здесь.

ChathurangiShyalika / Agent_Path_Following

Вы не можете выполнить это действие в данный момент. Вы вошли в другую вкладку или окно. Вы вышли на другой вкладке или ...

github.com


Ссылки

[1] H. Nguyen и H. La, «Обзор обучения глубокому усилению для манипуляции роботами», в2019 третья международная конференция IEEE по робототехнике (IRC), Неаполь, Италия, 2019, стр. 590–595.

[2] https://www.freecodecamp.org/news/an-introduction-to-q-learning-reinforcement-learning-14ac0b4493cc/

[3] https://courses.cs.ut.ee/MTAT.03.292/2014_spring/uploads/Main/Q-learning.pdf

[4] https://towardsdatascience.com/introduction-to-various-reinforcement-learning-algorithms-i-q-learning-sarsa-dqn-ddpg-72a5e0cb6287

[5] https://blog.dominodatalab.com/deep-reinforcement-learning/


Надеюсь, вы получили четкое представление о Q-learning благодаря этому сообщению в блоге. Если у вас есть какие-либо проблемы или комментарии к этому сообщению в блоге, пожалуйста, оставьте комментарий ниже.

Ура и счастливого обучения!