Вы когда-нибудь обвиняли или избивали свою собаку карательно за противоправные действия, как только она это сделала? Или вы когда-нибудь дрессировали питомца и вознаграждали его за каждую правильную команду? Если вы владелец домашнего животного, возможно, ваш ответ будет «Да». Возможно, вы заметили, что, как только вы делаете это с более раннего возраста, его противоправные деяния уменьшаются день ото дня. И так же, как он будет учиться на ошибках и хорошо тренироваться.
Как люди, мы также испытали то же самое. Помните ли вы, что в нашей начальной школе наши школьные учителя наградили нас звездами, как только мы выполнили школьные работы должным образом. : D
Это именно то, что происходит вУкрепление обучения (RL),
Укрепление обучения является одним из самых красивых отраслей в искусственном интеллекте
Целью RL являетсямаксимизировать вознаграждение агента, предпринимая ряд действий в ответ на динамическую среду,
Укрепление обучения - это наука принятия оптимальных решений с использованием опыта. Разбивая его, процесс обучения подкреплению включает в себя следующие простые шаги:
Существует 2 основных типа алгоритмов RL. Они естьна основе моделиа такжебезмодельный,
безмодельныйАлгоритм - это алгоритм, который оценивает оптимальную политику, не используя и не оценивая динамику (функции перехода и вознаграждения) среды. Принимая во внимание, чтона основе моделиАлгоритм - это алгоритм, который использует функцию перехода (и функцию вознаграждения) для оценки оптимальной политики.
Q-учусьэтобезмодельныйалгоритм обучения подкрепления.
Q-обучение являетсязначения на основеалгоритм обучения. Алгоритмы на основе значений обновляют функцию значений на основе уравнения (в частности, уравнения Беллмана). В то время как другой тип,на основе политикоценивает функцию стоимости с помощью жадной политики, полученной из последнего улучшения политики.
Q-обучение являетсяученик вне политики, Означает, что он узнает значение оптимальной политики независимо от действий агента. С другой стороны,ученик по политикеузнает значение политики, проводимой агентом, включая этапы исследования, и найдет оптимальную политику с учетом исследования, присущего политике.
«Q» в Q-learning означает качество. Качество здесь представляет, насколько полезно данное действие в получении некоторой будущей награды.
В этом разделе Q-learning было объяснено вместе с демонстрацией.
Допустим, агент должен двигаться от начальной точки к конечной точке по пути, который имеет препятствия. Агент должен достичь цели по кратчайшему пути, не сталкиваясь с препятствиями, и он должен следовать по границе, покрытой препятствиями. Для нашего удобства я представил это в пользовательской среде сетки следующим образом.
Q-таблица - это структура данных, используемая для расчета максимального ожидаемого будущего вознаграждения за действия в каждом штате. По сути, эта таблица поможет нам наилучшим образом действовать в каждом штате. Для изучения каждого значения Q-таблицы используется алгоритм Q-Learning.
Q-функция использует уравнение Беллмана и принимает два входа: состояние (я) и действие (а).
Сначала должна быть построена Q-таблица. Есть n столбцов, где n = количество действий. Есть m строк, где m = количество состояний.
В нашем примере n = «Влево», «Вправо», «Вверх» и «Вниз» и m = «Пуск», «Режим ожидания», «Правильный путь», «Неправильный путь» и «Конец». Во-первых, давайте инициализируем значения в 0.
Комбинация шагов 2 и 3 выполняется в течение неопределенного периода времени Эти шаги выполняются до тех пор, пока обучение не будет остановлено или когда цикл обучения не остановится, как определено в коде.
Во-первых, действие (а) в состоянии (ях) выбирается на основе Q-таблицы. Обратите внимание, что, как упоминалось ранее, когда начинается эпизод, каждое значение Q должно быть 0.
Затем обновите значения Q для того, чтобы быть в начале и двигаться вправо, используя уравнение Беллмана, которое указано выше.
Эпсилон жадная стратегияконцепция приходит, чтобы играть здесь. В начале, эпсилон ставки будут выше. Агент будет исследовать окружающую среду и случайным образом выбирать действия. Это происходит логически, так как агент ничего не знает об окружающей среде. По мере того как агент исследует окружающую среду, скорость эпсилона уменьшается, и агент начинает эксплуатировать среду.
В процессе исследования агент постепенно становится более уверенным в оценке Q-значений.
В нашем примере с агентом, когда начинается обучение агента, агент совершенно не знает об окружающей среде. Итак, допустим, что он предпринимает случайные действия в своем «правильном» направлении.
Теперь мы можем обновить Q-значения, чтобы быть в начале и двигаться вправо, используя уравнение Беллмана.
Шаги 4: Измерьте вознаграждение
Теперь мы приняли меры и наблюдали результат и вознаграждение.
Шаги 5: Оценка
Нам нужно обновить функцию Q (s, a).
Этот процесс повторяется снова и снова, пока обучение не остановится. Таким образом обновляется Q-таблица, и функция значения Q максимизируется. Здесь Q (состояние, действие) возвращаетожидаемая будущая наградаэтого действия в этом состоянии.
В этом примере я ввел схему вознаграждения следующим образом.
Награда за шаг ближе к цели = +1
Награда за столкновение с препятствием = -1
Вознаграждение при простое = 0
Сначала мы исследуем среду агента и обновляем Q-Table. Когда Q-таблица готова, агент начинает эксплуатировать среду и начинает предпринимать лучшие действия. Финальная Q-таблица может быть похожа на следующую (например).
Ниже приведены результаты, которые приводят кратчайший путь агента к цели после тренировки.
Код реализации Python для концепции, описанной выше, можно найти здесь.
[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 благодаря этому сообщению в блоге. Если у вас есть какие-либо проблемы или комментарии к этому сообщению в блоге, пожалуйста, оставьте комментарий ниже.
Ура и счастливого обучения!