www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home

Практическое обучение с подкреплением - 02 Начало работы с Q-learning

Дата публикации Apr 4, 2017

Smart Cab - GridWorld

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

Как вы можете видеть, у нас есть улицы с номерами от 0 до 8. Это дает нам 9 уникальныхсостояния(улицы). В любой момент наш автомобиль (агент) может находиться в одном из этих 9 штатов. Состояние 8 - наша цель, также называемаясостояние терминала,

Наша машина может ехать налево, направо, вверх и вниз. Иначе говоря, наш агент может взять четыре разныхдействия, Мы пишем это как:a ∈ A {вверх, вниз, влево, вправо}

Агент получаетвознаграждение 10 за достижение состояния терминала, кроме этого нет никаких наград.

Q-learning и Q-table

Теперь мы создадим матрицу «Q», также называемую Q-таблицей, это будет мозг нашего агента. Матрица Q инициализируется нулем, так как агент начинает ничего не зная (так же, как Джон Сноу;)). Он обновляет Q-таблицу новыми значениями для пары состояние-действие, как он учится. Вот формула для расчета Q [состояние, действие]

Q [s, a] = Q [s, a] + альфа * (R + гамма * Макс. [Q (s ’, A)] - Q [s, a])

Где;

  • альфаэтоскорость обучения,
  • гаммаэтокоэффициент дисконтирования, Это количественно показывает, какое значение мы придаем будущим наградам. Также удобно аппроксимировать шум в будущих наградах. Гамма варьируется от 0 до 1. Если Гамма ближе к нулю, агент будет стремиться учитывать только немедленное вознаграждение. Если Гамма ближе к единице, агент рассмотрит будущие награды с большим весом, желая отсрочить вознаграждение.
  • Макс [Q (s ’, A)] даетмаксимальное значение Q для всех возможных действий в следующем состоянии,

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

Q-таблица

Вот несколько простых примеров того, как обновляется Q-таблица:
принять коэффициент обучения (альфа) как 0,5 и коэффициент дисконтирования (гамма) за 0,9
Q [s, a] = Q [s, a] + альфа * (R + гамма * Макс. [Q (s ’, A)] - Q [s, a])
Ранние Эпизоды
Q [3, L] = Q [3, L] + 0,5 * (10 + 0,9 * Макс. [Q (8, U), Q (8, D), Q (8, R), Q (8, L) ] -Q (3, L))
Q [3, L] = 0 + 0,5 * (10 + 0,9 * Макс. [0, 0, 0, 0] -0)
Q [3, L] = 5, аналогично Q [6, D] = 5
Следующие Эпизоды
Q [2, L] = Q [2, L] + 0,5 * (0 + 0,9 * Макс. [Q (6, U), Q (6, D), Q (6, R), Q (6, L) ] -Q (2, l))
Q [2, L] = 0 + 0,5 * (0 + 0,9 * Макс [0, 5, 0, 0] -0)
Q [2, L] = 2,25, аналогично Q [2, D] = 2,25 и Q [7, L] = 2,25
В итоге
Q [1, D] = 1,0125 и Q [0, L] = 0,455625

Разведка и эксплуатация - Эпсилон (ε)

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

Агент предпринимает случайные действия для вероятностиεи жадные действия для вероятности (1-ε).

Google DeepMind использовал гниющий ε-жадный выбор действий. Где εраспадыс течением времени от 1 до 0,1 - вначале система делает совершенно случайные шаги, чтобы максимально исследовать пространство состояний, а затем успокаивается до фиксированной скорости исследования.

Q-learning псевдокод

Время для практического Q-обучения

Теперь продолжайте практиковаться в Q-learning в тренажерном зале OpenAI. Вы могли бы сделать это в своембраузер с использованием лазурных тетрадей, или клонэто мерзавец репо,

Другие ресурсы

Укрепление обучения: Введение- Глава 6: Временное обучение
Курс Дэвида Сильвера RL Лекция 4- Прогнозирование без модели
Курс Дэвида Сильвера RL Лекция 5- Безмодельное управление


Я надеюсь, что этот урок был полезен для новичков в Q-learning и TD-подкреплении!

Если вы хотите следить за тем, как я пишу об усиленном обучении, следуйте за мной на MediumШреас гитеили в твиттере@shreyasgite,
Не стесняйтесь писать мне по любым вопросам или предложениям :)

Больше из моей серии «Практическое обучение усилению»:

  1. Введение в обучение усилению
  2. Начало работы с Q-learning

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map