0Pricing
Python Academy · Урок

Понятие Q-таблицы

Обучение с подкреплением на основе таблиц

«Понятие Q-таблицы» — бесплатный урок Python Academy на CoddyKit. Это урок 2 из 5. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 5 уроков всего.

Что такое Q-таблица

Концепция Q-таблицы

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

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

Понятие Q-таблицы — иллюстрация 1

Структура Q-таблицы

Структура Q-таблицы

Q-таблица имеет следующую структуру:

  • Строки: представляют состояния среды.
  • Столбцы: представляют действия, доступные агенту.
  • Значения: представляют Q-значение для пар «состояние — действие».

Агент обновляет эти значения в процессе обучения.

Формула обновления Q-значения

Формула обновления Q-значения

Q-значения обновляются с помощью уравнения Беллмана:

Q(s, a) = Q(s, a) + α [r + γ max(Q(s', a')) - Q(s, a)]

Здесь:

  • s: текущее состояние
  • a: текущее действие
  • r: вознаграждение за действие
  • s': следующее состояние
  • α: скорость обучения
  • γ: коэффициент дисконтирования

Пример простой Q-таблицы

Пример простой Q-таблицы

Рассмотрим Q-таблицу для мира в виде сетки:

Состояния: позиции в сетке, например A1 и B1

Действия: переместиться вверх, вниз, влево или вправо

Изначально все Q-значения равны нулю:

Состояние Вверх Вниз Влево Вправо
A1 0 0 0 0
B1 0 0 0 0

Инициализация Q-таблицы на языке Пайтон

Инициализация Q-таблицы на языке Пайтон

Мы можем представить Q-таблицу с помощью массива NumPy или словаря:

import numpy as np

# Example: Q-Table for 5 states and 4 actions
num_states = 5
num_actions = 4
q_table = np.zeros((num_states, num_actions))

print("Initial Q-Table:")
print(q_table)

Исследование в Q-обучении

Исследование в Q-обучении

Агент использует ε-жадную политику, чтобы соблюдать баланс между исследованием и использованием:

  • с вероятностью ε выбирается случайное действие (исследование);
  • с вероятностью 1-ε выбирается действие с наибольшим Q-значением (использование).

Преимущества Q-таблиц

Преимущества Q-таблиц

Q-таблицы просты и эффективны для небольших сред. К их преимуществам относятся:

  • простота реализации и отладки;
  • наглядное представление связей между состояниями и действиями;
  • низкие вычислительные затраты для небольших пространств состояний и действий.

Ограничения Q-таблиц

Ограничения Q-таблиц

У Q-таблиц есть некоторые ограничения:

  • Они плохо масштабируются на среды с большими пространствами состояний и действий.
  • Для задач с высокой размерностью требуется значительный объём памяти.
  • Они не способны обобщать знания на похожие состояния.

Итоги и дальнейшие шаги

Итоги и дальнейшие шаги

На этом уроке мы:

  • Изучили концепцию Q-таблицы и её структуру.
  • Разобрались, как обновляются Q-значения с помощью уравнения Беллмана.
  • Обсудили преимущества и ограничения Q-таблиц.

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

Понятие Q-таблицы — иллюстрация 10

Часто задаваемые вопросы

Урок «Понятие Q-таблицы» бесплатный?

Да — полный текст урока «Понятие Q-таблицы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 5 уроков всего.

Чему я научусь в уроке «Понятие Q-таблицы»?

Обучение с подкреплением на основе таблиц Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Python Academy?

Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 5.

Сколько времени занимает урок «Понятие Q-таблицы»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Python Academy?

Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основные понятия обучения с подкреплением
  2. Понятие Q-таблицы
  3. Реализация Q-таблицы в Python
  4. Глубокое Q-обучение
  5. Знакомство с OpenAI Gym
← Назад к Python Academy