7. Математика для ШІ

7.2. Навчання з підкріпленням


Навчання з підкріпленням (Reinforcement Learning) - це тип машинного навчання, де агент навчається приймати рішення через взаємодію з середовищем. Агент отримує винагороди або штрафи за свої дії, і його мета - максимізувати сумарну винагороду.

Основні компоненти навчання з підкріпленням:

  • Агент - система, що навчається і приймає рішення
  • Середовище - світ, з яким взаємодіє агент
  • Стан - поточна ситуація в середовищі
  • Дія - що агент може зробити
  • Винагорода - зворотній зв'язок від середовища



Q-Learning

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

Q-Learning широко застосовується в:

  • Робототехніці
  • Ігрових системах
  • Оптимізації ресурсів
  • Автономному керуванні

Q-Learning для гри в хрестики-нолики

Завантажити приклад проєкту

У випадку хрестиків-ноликів, Q-матриця буде мати наступний вигляд:

  • Рядки - всі можливі стани дошки (приблизно 3^9 = 19683 стани)
  • Стовпці - можливі дії (позиції від 0 до 8)

Наприклад, частина Q-матриці може виглядати так:

    Стан дошки         Дія 0   Дія 1   Дія 2   ...   Дія 8
    [_,_,_,_,_,_,_,_,_]  0.0    0.0     0.0    ...    0.0
    [X,_,_,_,_,_,_,_,_]  0.0    0.4     0.3    ...    0.1
    [X,O,_,_,_,_,_,_,_]  0.0    0.0     0.7    ...    0.2
    

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

Q-значення оновлюються за формулою:

    Q(s,a) = Q(s,a) + α[R + γ·max(Q(s',a')) - Q(s,a)]
    
    де:
    s - поточний стан
    a - виконана дія
    α - швидкість навчання (learning rate)
    R - отримана винагорода
    γ - коефіцієнт знецінення (discount factor)
    s' - наступний стан
    max(Q(s',a')) - максимальне Q-значення для наступного стану
    

Типові значення параметрів для хрестиків-ноликів:

  • α = 0.1 - 0.3 (повільне навчання для кращої збіжності)
  • γ = 0.9 - 0.95 (високе значення, бо важливі довгострокові наслідки)
  • R = 1 (перемога), -1 (програш), 0 (нічия або проміжний хід)