Орієнтування в рамках RL

Reinforcement Learning з Gymnasium у Python

Fouad Trad

Machine Learning Engineer

Рамка RL

Зображення компонента агента.

Reinforcement Learning з Gymnasium у Python

Рамка RL

Зображення компонентів: агент і середовище.

Reinforcement Learning з Gymnasium у Python

Рамка RL

  • Агент: той, хто навчається, ухвалює рішення
  • Середовище: задачі для розв'язання

Зображення всіх компонентів RL: агент, середовище, стани, дії та винагороди.

Reinforcement Learning з Gymnasium у Python

Рамка RL

  • Агент: той, хто навчається, ухвалює рішення
  • Середовище: задачі для розв'язання
  • Стан: «знімок» середовища в певний час

Зображення: середовище надає агенту стани.

Reinforcement Learning з Gymnasium у Python

Рамка RL

  • Агент: той, хто навчається, ухвалює рішення
  • Середовище: задачі для розв'язання
  • Стан: «знімок» середовища в певний час
  • Дія: вибір агента у відповідь на стан

Зображення: агент відповідає на стан середовища, виконуючи дію.

Reinforcement Learning з Gymnasium у Python

Рамка RL

  • Агент: той, хто навчається, ухвалює рішення
  • Середовище: задачі для розв'язання
  • Стан: «знімок» середовища в певний час
  • Дія: вибір агента у відповідь на стан
  • Винагорода: зворотний зв'язок за дію агента

Зображення: агент виконує дію у відповідь на стан середовища та отримує винагороду від середовища залежно від виконаної дії.

Reinforcement Learning з Gymnasium у Python

Цикл взаємодії RL

env = create_environment()
state = env.get_initial_state()

for i in range(n_iterations): action = choose_action(state)
state, reward = env.execute(action)
update_knowledge(state, action, reward)

Зображення: агент виконує дію у відповідь на стан середовища та отримує винагороду від середовища залежно від виконаної дії.

Reinforcement Learning з Gymnasium у Python

Епізодичні vs. безперервні задачі

Епізодичні задачі
  • Завдання поділені на епізоди
  • Епізод має початок і кінець
  • Приклад: агент грає в шахи

Зображення кота, що грає в шахи.

Безперервні задачі
  • Безперервна взаємодія
  • Немає чітких епізодів
  • Приклад: налаштування світлофорів

Зображення жаби на велосипеді, що чекає на зелений сигнал світлофора.

Reinforcement Learning з Gymnasium у Python

Повернення

  • Дії мають довгострокові наслідки
  • Мета агента — максимізувати сумарну винагороду з часом
  • Повернення (return): сума всіх очікуваних винагород

Зображення: повернення — це сума окремих винагород r_1 до r_n.

Reinforcement Learning з Gymnasium у Python

Дисконтоване повернення

  • Негайні винагороди цінніші за майбутні
  • Дисконтоване повернення: більша вага ближчим винагородам
  • Коефіцієнт дисконту ($\gamma$): зменшує майбутні винагороди

Зображення формули дисконтованого повернення як суми винагород, кожна помножена на коефіцієнт дисконту в степені свого кроку часу.

Reinforcement Learning з Gymnasium у Python

Коефіцієнт дисконту

  • Між нулем і одиницею
  • Балансує негайні та довгострокові винагороди
    • Менше значення → миттєві вигоди
    • Більше значення → довгострокові вигоди

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

Reinforcement Learning з Gymnasium у Python

Числовий приклад

import numpy as np
expected_rewards = np.array([1, 6, 3])

discount_factor = 0.9
discounts = np.array([discount_factor ** i for i in range(len(expected_rewards))])
print(f"Discounts: {discounts}")
Discounts: [1.   0.9  0.81]
discounted_return = np.sum(expected_rewards * discounts)
print(f"The discounted return is {discounted_return}")
The discounted return is 8.83
Reinforcement Learning з Gymnasium у Python

Давайте потренуємось!

Reinforcement Learning з Gymnasium у Python

Preparing Video For Download...