No history yet

Основи MDP та Q-learning

Карта, компас і мета

На відміну від навчання з учителем, де моделі вчаться за готовими відповідями, у навчанні з підкріпленням (RL) агент діє методом проб і помилок. Уявіть робота на складі, який має доставляти пакунки. Він не знає найкращого маршруту заздалегідь. Натомість він навчається, рухаючись, отримуючи винагороди (наприклад, +10 за успішну доставку) або штрафи (-1 за кожен крок, щоб стимулювати швидкість).

Щоб формалізувати це завдання, ми використовуємо (MDP). Це математична структура, що описує середовище в RL. Вона складається з кількох ключових елементів:

Кожен крок агента — це перехід від одного стану до іншого, що приносить певну винагороду. Мета агента — не просто отримати максимальну винагороду за один крок, а максимізувати сукупну винагороду протягом усього епізоду. Але як він може оцінити, наскільки «хорошим» є той чи інший стан?

Рівняння для майбутнього

Щоб зрозуміти цінність перебування в певному стані, агент використовує функцію цінності (Value Function). Вона прогнозує очікувану сукупну винагороду, яку можна отримати, починаючи з цього стану. Основою для розрахунку цієї цінності є s, яке пов'язує цінність поточного стану з цінністю наступних можливих станів.

V(s)=maxa(R(s,a)+γsP(ss,a)V(s))V(s) = \max_{a} \left( R(s, a) + \gamma \sum_{s'} P(s'|s, a) V(s') \right)

Рівняння Беллмана є теоретичною основою. Але як агенту діяти, коли він не знає точних ймовірностей переходів P(ss,a)P(s'|s, a) або функції винагороди R(s,a)R(s, a)? Тут на сцену виходить Q-learning.

Навчання через дію

Q-learning — це алгоритм, який дозволяє агенту навчатися оптимальній політиці дій без моделі середовища. Замість того, щоб обчислювати цінність стану V(s)V(s), він обчислює цінність пари «стан-дія», відому як Q-значення, або Q(s,a)Q(s, a). Це значення відповідає на питання: «Яку сукупну винагороду я очікую отримати, якщо виконаю дію aa в стані ss, а потім буду дотримуватися оптимальної політики?».

Агент зберігає всі Q-значення у звичайній таблиці, яка називається Q-table. Рядки представляють стани, а стовпці — можливі дії.

Стан (локація)Рух вгоруРух внизРух влівоРух вправо
A10000
A20000
B10000
B20000

На початку таблиця заповнена нулями. Коли агент взаємодіє з середовищем, він оновлює ці значення за допомогою формули оновлення Q-learning:

Q(st,at)(1α)Q(st,at)+α(rt+1+γmaxaQ(st+1,a))Q(s_t, a_t) \leftarrow (1-\alpha)Q(s_t, a_t) + \alpha (r_{t+1} + \gamma \max_{a} Q(s_{t+1}, a))

Простими словами, нове Q-значення — це середньозважене значення між старим значенням та новою інформацією (винагорода + максимальна майбутня винагорода).

З кожним кроком агент оновлює комірку в Q-таблиці, і з часом ці значення сходяться до оптимальних. Обираючи дію з найвищим Q-значенням для поточного стану, агент слідує найкращому відомому йому шляху.

Дилема дослідника

Якщо агент завжди обиратиме дію з найвищим Q-значенням, він може застрягти на першому ж знайденому «хорошому» шляху, так і не дізнавшись про існування кращого. Це класична дилема: дослідження (exploration) проти використання (exploitation).

  • Використання: Використовувати наявні знання для отримання гарантованої винагороди.
  • Дослідження: Пробувати нові дії з надією знайти ще кращу винагороду.

Щоб збалансувати ці два підходи, використовується (epsilon-greedy). Агент обирає випадкову дію з імовірністю ϵ\epsilon (епсилон) і найкращу відому дію з імовірністю 1ϵ1-\epsilon.

Lesson image

Цей простий механізм дозволяє агенту час від часу відхилятися від перевіреного шляху, щоб відкривати нові, потенційно ефективніші маршрути. Таким чином, робот на складі може знайти коротший шлях, про який спочатку навіть не здогадувався.

Тепер, коли ми розуміємо основи, час перевірити свої знання.

Quiz Questions 1/6

Чим фундаментально навчання з підкріпленням (RL) відрізняється від навчання з учителем?

Quiz Questions 2/6

Що зберігається в Q-таблиці в алгоритмі Q-learning?

Озброївшись цими фундаментальними концепціями, ви готові перейти до більш складних методів, де таблиці замінюються нейронними мережами для вирішення задач з величезним простором станів.