8 просмотров

Введение в Q-Learning: обучение с подкреплением

Введение в Q-Learning: обучение с подкреплением

Введение в Q-Learning: обучение с подкреплением

Эта статья является второй частью моей серии «Глубокое обучение с подкреплением». Полная серия будет доступна как на Medium, так и в видео на моем канале YouTube.

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

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

  • Что такое Q-обучение?
  • Математика, стоящая за Q-Learning
  • Реализация с использованием Python

Q-Learning — упрощенный обзор

Скажем, что робот должен пересечь лабиринт и дойти до конечной точки. Есть шахты, и робот может перемещать только одну плитку за раз. Если робот наступает на мину, робот мертв.Робот должен добраться до конечной точки как можно быстрее.

Система подсчета очков/вознаграждений выглядит следующим образом:

  1. Робот теряет 1 очко на каждом шаге. Это делается для того, чтобы робот выбрал кратчайший путь и как можно быстрее достиг цели.
  2. Если робот наступит на мину, потеря очков составит 100 и игра окончена.
  3. Если робот получает силу ⚡️, он получает 1 очко.
  4. Если робот достигает конечной цели, робот получает 100 очков.

Теперь очевидный вопрос: Как научить робота достигать конечной цели по кратчайшему пути, не наступая на мину?

3JXI06jyHegMS1Yx8rhIq64gkYwSTM7ЖД25

Итак, как нам это решить?

Знакомство с Q-таблицей

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

Статья в тему:  Как искусственный интеллект помогает нам узнавать о животных

CcNuUwGnpHhRKkERqJJ6xl7N2W8jcl1yVdE8

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

Итак, давайте смоделируем эту среду в нашей Q-таблице.

В Q-таблице столбцы — это действия, а строки — состояния.

AjVvggEquHgsnMN8i4N35AMfx53vZtELEL-l

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

Но вопросы такие:

  • Как мы рассчитываем значения Q-таблицы?
  • Доступны или предопределены значения?

Чтобы узнать каждое значение Q-таблицы, мы используем Алгоритм Q-обучения.

Математика: алгоритм Q-Learning

Q-функция

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

s39aVodqNAKMTcwuMFlyPSy76kzAmU5idMzk

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

Когда мы начинаем, все значения в Q-таблице равны нулю.

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

Теперь давайте разберемся, как происходит обновление.

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

oQPHTmuB6tz7CVy3L05K1NlBmS6L8MUkgOud

Каждая из цветных коробок — это один шаг. Давайте подробно разберем каждый из этих шагов.

Шаг 1: инициализируйте Q-таблицу

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

Статья в тему:  Почему искусственный интеллект стал очень популярен в 2015 году

TQ9Wy3guJHUecTf0YA5AuQgB9yVIohgLXKIngWnhK5oLqjcQkSzuuT8WgMVOGdCEp68Xvt6F

В нашем примере с роботом у нас есть четыре действия (a=4) и пять состояний (s=5). Итак, мы построим таблицу с четырьмя столбцами и пятью строками.

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

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

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

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

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

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

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

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

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

Статья в тему:  Какие ближайшие проблемы у искусственного интеллекта

k0IARc6DzE3NBl2ugpWkzwLkR9N4HRkpSpjw

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

Шаги 4 и 5: оценка

Теперь мы предприняли действие и наблюдали результат и вознаграждение. Нам нужно обновить функцию Q (s, a).

TnN7ys7VGKoDszzv3WDnr5H8txOj3KKQ0G8o

В случае игры с роботами повторим структуру подсчета очков/вознаграждений:

  • сила = +1
  • мой = -100
  • конец = +100

EpQDzt7lCbmFyMVUzNGaPam3WCYNuD1-hVxuxQtpQAhBocPC46-f0GRHDOK3ybrz4ZasaDo4

Мы будем повторять это снова и снова, пока обучение не остановится. Таким образом Q-таблица будет обновлена.

Реализация Q-Learning на Python

Концепция и реализация кода объясняются в моем видео.

Подпишитесь на мой канал YouTube, чтобы увидеть больше видео об искусственном интеллекте: АДЛ .

Наконец… давайте резюмируем

  • Q-Learning — это основанный на ценности алгоритм обучения с подкреплением, который используется для поиска оптимальной политики выбора действий с использованием Q-функции.
  • Наша цель — максимизировать функцию ценности Q.
  • Таблица Q помогает нам найти наилучшее действие для каждого состояния.
  • Он помогает максимизировать ожидаемую награду, выбирая лучшее из всех возможных действий.
  • Q(состояние, действие) возвращает ожидаемую будущую награду за это действие в этом состоянии.
  • Эту функцию можно оценить с помощью Q-Learning, который итеративно обновляет Q(s,a) с помощью Уравнение Беллмана.
  • Сначала мы изучаем среду и обновляем Q-Table. Когда Q-Table будет готова, агент начнет использовать среду и начнет предпринимать более эффективные действия.

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

Статья в тему:  Каков последний этап развития искусственного интеллекта?

А пока наслаждайтесь ИИ?.

Важный: Как уже говорилось ранее, эта статья является второй частью моей серии «Глубокое обучение с подкреплением». Полная серия будет доступна как в статьях на Medium, так и в видео на моем канале YouTube.

Если вам понравилась моя статья, пожалуйста, нажмите ? то помочь мне оставаться мотивированным, чтобы писать статьи. Пожалуйста, следуйте за мной на Мэдиум и другие социальные сети:

Dxy5hJfhxEP5eWOBqW6QOqH0QgjIU04PD6rQd8UR8YDfmLtfDokKlQb32-prgyUUEWt3-glPqPgqeEBS0ugejKsKGGHD3KpoyYyGEHytVENe

Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать в комментарии ниже или на Твиттер.

Подпишитесь на мой канал YouTube, чтобы увидеть больше технических видео.

голоса
Рейтинг статьи
Ссылка на основную публикацию
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x