Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Узагальнення TD-Навчання | Навчання з часовою різницею
Вступ до навчання з підкріпленням
course content

Зміст курсу

Вступ до навчання з підкріпленням

Вступ до навчання з підкріпленням

1. Основна Теорія Навчання з Підкріпленням
2. Проблема Багаторукого Бандита
3. Динамічне Програмування
4. Методи Монте-Карло
5. Навчання з часовою різницею

book
Узагальнення TD-Навчання

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

  • TD(0): використовує однокрокову оцінку повернення;
  • Монте-Карло: чекає завершення епізоду для обчислення повернення.

Але що, якщо нам потрібно щось посередині? Метод, який враховує більше інформації про майбутнє, ніж TD(0), але не вимагає чекати завершення всього епізоду, як Монте-Карло?

Саме тут з'являються nn-крокове TD-навчання та TD(λ\lambda) — методи, які об'єднують і узагальнюють ідеї, розглянуті раніше.

n\Large n-крокове TD-навчання

Ідея nn-крокового TD-навчання проста: замість використання лише наступного кроку або всього епізоду, ми використовуємо наступні nn кроків, а потім застосовуємо бутстрепінг:

Gt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+1)G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + ... + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+1})

Це дозволяє налаштовувати компроміс:

  • Якщо n=1n = 1: це просто TD(0);
  • Якщо n=n = \infty: це стає Монте-Карло.

Ці повернення можна використовувати для заміни цільового значення у правилі оновлення TD(0):

V(St)V(St)+α(Gt(n)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(G_t^{(n)} - V(S_t)\Bigr)

TD(λ\Large\lambda)

TD(λ\lambda) — це вдала ідея, що базується на nn-кроковому TD-навчанні: замість вибору фіксованого nn, ми об'єднуємо усі nn-крокові повернення разом:

Lt=(1λ)n=0λn1Gt(n)L_t = (1 - \lambda) \sum_{n=0}^{\infty} \lambda^{n-1}G_t^{(n)}

де λ[0,1]\lambda \in [0, 1] визначає вагу:

  • Якщо λ=0\lambda = 0: лише одно-крокове повернення \to TD(0);
  • Якщо λ=1\lambda = 1: повне повернення \to Monte Carlo;
  • Проміжні значення поєднують кілька крокових повернень.

Таким чином, λ\lambda виступає як регулятор компромісу між зміщенням і дисперсією:

  • Низьке λ\lambda: більше зміщення, менше дисперсії;
  • Високе λ\lambda: менше зміщення, більше дисперсії.

LtL_t потім може використовуватися як цільове значення для оновлення у правилі TD(0):

V(St)V(St)+α(LtV(St))V(S_t) \gets V(S_t) + \alpha\Bigl(L_t - V(S_t)\Bigr)
question mark

Коли параметр λ\lambda встановлено на 1 у TD(λ\lambda), метод стає еквівалентним

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

course content

Зміст курсу

Вступ до навчання з підкріпленням

Вступ до навчання з підкріпленням

1. Основна Теорія Навчання з Підкріпленням
2. Проблема Багаторукого Бандита
3. Динамічне Програмування
4. Методи Монте-Карло
5. Навчання з часовою різницею

book
Узагальнення TD-Навчання

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

  • TD(0): використовує однокрокову оцінку повернення;
  • Монте-Карло: чекає завершення епізоду для обчислення повернення.

Але що, якщо нам потрібно щось посередині? Метод, який враховує більше інформації про майбутнє, ніж TD(0), але не вимагає чекати завершення всього епізоду, як Монте-Карло?

Саме тут з'являються nn-крокове TD-навчання та TD(λ\lambda) — методи, які об'єднують і узагальнюють ідеї, розглянуті раніше.

n\Large n-крокове TD-навчання

Ідея nn-крокового TD-навчання проста: замість використання лише наступного кроку або всього епізоду, ми використовуємо наступні nn кроків, а потім застосовуємо бутстрепінг:

Gt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+1)G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + ... + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+1})

Це дозволяє налаштовувати компроміс:

  • Якщо n=1n = 1: це просто TD(0);
  • Якщо n=n = \infty: це стає Монте-Карло.

Ці повернення можна використовувати для заміни цільового значення у правилі оновлення TD(0):

V(St)V(St)+α(Gt(n)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(G_t^{(n)} - V(S_t)\Bigr)

TD(λ\Large\lambda)

TD(λ\lambda) — це вдала ідея, що базується на nn-кроковому TD-навчанні: замість вибору фіксованого nn, ми об'єднуємо усі nn-крокові повернення разом:

Lt=(1λ)n=0λn1Gt(n)L_t = (1 - \lambda) \sum_{n=0}^{\infty} \lambda^{n-1}G_t^{(n)}

де λ[0,1]\lambda \in [0, 1] визначає вагу:

  • Якщо λ=0\lambda = 0: лише одно-крокове повернення \to TD(0);
  • Якщо λ=1\lambda = 1: повне повернення \to Monte Carlo;
  • Проміжні значення поєднують кілька крокових повернень.

Таким чином, λ\lambda виступає як регулятор компромісу між зміщенням і дисперсією:

  • Низьке λ\lambda: більше зміщення, менше дисперсії;
  • Високе λ\lambda: менше зміщення, більше дисперсії.

LtL_t потім може використовуватися як цільове значення для оновлення у правилі TD(0):

V(St)V(St)+α(LtV(St))V(S_t) \gets V(S_t) + \alpha\Bigl(L_t - V(S_t)\Bigr)
question mark

Коли параметр λ\lambda встановлено на 1 у TD(λ\lambda), метод стає еквівалентним

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 5
some-alt