Вы находитесь на странице: 1из 16

Тема: Q-Learning

Фам Ань Ту
932101
• Q-learning (Quality-learning) - это алгоритм машинного обучения,
применяемый в области обучения с подкреплением.
• Обучение с подкреплением (Reinforcement learning) - это раздел машинного
обучения, в котором агент (или программа) обучается принимать решения,
взаимодействуя с окружающей средой.
• Q-learning является одним из методов, позволяющих агенту изучать
оптимальные стратегии действий в различных состояниях среды.
Компоненты Q-Learning
Ключевые компоненты

- Состояния

- Действия

- Вознаграждения

- Q-значения.
• Состояния (States) представляют собой различные конфигурации или ситуации, в
которых может находиться агент во время взаимодействия со средой
• Действия (Actions) представляют собой возможные шаги или решения, которые
агент может предпринять в каждом состоянии.
• Функция вознаграждения (Reward Function) определяет количество
вознаграждения (или штрафа), которое агент получает за выполнение
определенного действия в конкретном состоянии. Это ключевой момент, который
агент стремится максимизировать.
• Q-значения (Q-Values) представляют оценку ценности выполнения определенного
действия в конкретном состоянии. Эти значения хранятся в Q-таблице и
обновляются в процессе обучения
• Политика стратегии (Policy): Политика стратегии определяет стратегию агента в
выборе действий в каждом состоянии
• Основная идея Q-learning заключается в том, чтобы определить функцию
Q(s, a), представляющую ожидаемую "ценность" выполнения действия a в
состоянии s. Алгоритм обновляет Q-значения на основе полученных
вознаграждений и стремится максимизировать общую сумму
вознаграждений, которую агент получает в процессе взаимодействия со
средой.
Формула обновления Q-значения

где:
Q(s,a) - текущее Q-значение для действия a в состоянии s,
α - скорость обучения (learning rate), контролирующая величину обновления Q-значения,
R - полученное вознаграждение за выполнение действия a в состоянии s,
γ - дисконт-фактор, учитывающий будущие вознаграждения,
s′ - следующее состояние после выполнения действия a,
a′ - действие, которое максимизирует Q-значение в состоянии s′.
Гиперпараметры
Основные гиперпараметры Q-learning, которые не обучаются в процессе обучения, но
влияют на сам процесс обучения и на поведение агента
1. Скорость обучения (α):
- Определяет, насколько сильно обновляются Q-значения при каждом обновлении.
- Высокие значения могут привести к нестабильному обучению, низкие - к медленному.
Часто выбирают значения в интервале от 0.1 до 0.01.
2. Дисконт-фактор (γ):
- Учитывает важность будущих вознаграждений. Близкие к 1 значения обозначают
важность долгосрочных последствий.
- Зависит от характера задачи. Обычно находится в диапазоне от 0.9 до 0.99.
3. Эксплорация vs. Эксплуатация (epsilon): Вероятность выбора случайного действия вместо
наилучшего, чтобы агент мог исследовать среду (например 0.8)
Описание алгоритма
1. Инициализация Q-таблицы: "Создание
таблицы Q-значений для каждой комбинации
состояния и действия. Начальные значения могут
быть 0 или случайными."
2. Выбор действия: "Агент выбирает действие в
текущем состоянии на основе стратегии (epsilon-
greedy)."
3. Получение вознаграждения: "Агент
взаимодействует с средой и получает
вознаграждение."
4. Обновление Q-значения: "Обновление Q-
значения с учетом полученного вознаграждения
и оптимальных Q-значений следующего
состояния."
Инициализация в 0:
- Такой подход предполагает, что агент изначально не имеет представлений о качестве
различных действий в различных состояниях.
- Преимущества: Простота инициализации, агент начинает обучение с "чистого листа".
- Недостатки: Может потребоваться больше времени для агента, чтобы определить
оптимальные стратегии, особенно в случае сложных сред с большим пространством
состояний и действий.
Случайная инициализация:
- Этот подход предполагает случайное представление о качестве действий в начальный
момент времени.
- Преимущества: Может ускорить процесс обучения в сравнении с нулевой
инициализацией, поскольку агент сразу начинает учитывать случайные представления.
- Недостатки: Случайные начальные значения могут привести к случайным начальным
стратегиям, что может затруднить определение оптимальных решений в начале
обучения.
Идея epsilon-greedy заключается в том, что агент с некоторой вероятностью (e)
выбирает случайное действие и с вероятностью 1 − e выбирает действие,
которое имеет наилучшее известное Q-значение для текущего состояния
(эксплуатация). Таким образом, агент иногда рискует исследовать неизвестные
стратегии, что может быть полезно для обучения в начальной стадии
процесса.

Формально, если r - случайное число от 0 до 1, то стратегия epsilon-greedy


может быть описана следующим образом:
1. Если r < e, выбрать случайное действие.
2. Иначе, выбрать действие с наилучшим Q-значением для текущего
состояния.
A simple game using Q-learning
игра - консольная игра "catch the cheese", где игрок P должен перемещаться,
чтобы поймать сыр C, не упав в яму O. Игрок получает одно очко за каждый
пойманный сыр и теряет одно очко за каждый раз, когда он падает в яму. Игра
завершается, если игрок достигает 5 очков или -5 очков.
A simple game using Q-learning
Шаг 1. Инициализируйте таблицу Q случайными значениями.
A simple game using Q-learning
Во время игры выполните следующий цикл:
• Шаг 2.a: Сгенерируйте случайное число между 0 и 1. Если число больше
порога e, выберите случайное действие. В противном случае выберите
действие с наивысшей возможной наградой на основе текущего состояния и
таблицы Q.
• Шаг 2.b: Выполните действие из Шага 2.a.
• Шаг 2.c: Наблюдайте за вознаграждением r после выполнения действия.
• Шаг 2.d: Обновите таблицу Q на основе полученного вознаграждения r
A simple game using Q-learning
A simple game using Q-learning
На третьей и четвёртой попытках искусственный интеллект приближается к
идеальному решению, которое заключается в прямом движении к сыру за 35
ходов. Однако с пятой по десятую попытку он выбирает различные ходы для
победы в игре. Это связано с фактором эпсилон (ε), который иногда заставляет
алгоритм сделать случайный ход вместо оптимального. Эта случайность
необходима, чтобы гарантировировать, что алгоритм может полностью
исследовать всю игру и не застревает в локальных оптимумах.
A simple game using Q-learning

Вам также может понравиться