Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Off-Policy Керування Методом Монте-Карло | Методи Монте-Карло
Вступ до навчання з підкріпленням
course content

Зміст курсу

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

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

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

book
Off-Policy Керування Методом Монте-Карло

У той час як on-policy методи навчаються, дотримуючись і вдосконалюючи одну й ту ж політику, off-policy методи пропонують інший підхід: вони навчаються щодо однієї політики (цільової політики), виконуючи при цьому іншу (поведінкову політику). Такий поділ є потужним — він дозволяє оцінювати або вдосконалювати цільову політику без необхідності фактично її дотримуватися під час збору даних.

Аналогія

Повернімося до магазину морозива з попереднього розділу. Ви та ваш друг заходите всередину, і знову перед вами три знайомі смаки: шоколад, ваніль та полуниця. Шоколад — ваш улюблений, і перша думка — замовити саме його. Але цей магазин для вас новий, і ви не впевнені, чи варто обирати шоколад. На щастя, ваш друг — відомий поціновувач морозива, який відвідав майже всі магазини у місті. Ви питаєте його думку. "Шоколад тут непоганий," — каже він, — "але повір, полуниця — просто виняткова." Тож, спираючись на його досвід, ви вирішуєте відмовитися від звичного вибору й обрати полуницю.

Це рішення — покладатися на досвід іншого для прийняття власного вибору — і є сутністю off-policy методів. Ви намагаєтеся покращити власне прийняття рішень, використовуючи дані, зібрані під час поведінки іншого. Це все ще дослідження — але воно керується зовнішнім досвідом, а не власним.

Важливість вибірки

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

Важливість вибіркового зважування (importance sampling) полягає у можливості коригувати отримані під політикою поведінки значення повернення так, щоб вони були коректними оцінками для цільової політики.

Розглянемо траєкторію, яка починається з певного стану StS_t і слідує певній політиці π\pi до завершення епізоду у момент часу TT. Зокрема, ми спостерігаємо:

At,St+1,At+1,...,STA_t, S_{t+1}, A_{t+1}, ..., S_{T}

Яка ймовірність виникнення цієї траєкторії під політикою π\pi? Вона залежить як від ймовірностей дій політики, так і від динаміки переходів середовища:

p(trajectoryπ)=k=tT1π(AkSk)p(Sk+1Sk,Ak)p(trajectory | \pi) = \prod_{k=t}^{T-1} \pi(A_k | S_k)p(S_{k+1} | S_k, A_k)

Тепер припустимо, що траєкторія насправді була згенерована іншою політикою — політикою поведінки bb. Щоб коректно використати цю траєкторію для оцінки очікувань під цільовою політикою π\pi, необхідно врахувати, наскільки більшою чи меншою була ймовірність цієї послідовності дій під π\pi порівняно з bb.

Тут і з'являється коефіцієнт вибіркового зважування. Він визначається як відносна ймовірність траєкторії під двома політиками:

ρ=p(trajectoryπ)p(trajectoryb)=k=tT1π(AkSk)p(Sk+1Sk,Ak)b(AkSk)p(Sk+1Sk,Ak)=k=tT1π(AkSk)b(AkSk)\rho = \frac{p(trajectory | \pi)}{p(trajectory | b)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)p(S_{k+1} | S_k, A_k)}{b(A_k | S_k)p(S_{k+1} | S_k, A_k)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)}{b(A_k | S_k)}

У підсумку, ймовірності переходів скорочуються, оскільки обидві політики діють в одному середовищі, і значення ρ\rho залежить лише від політик, а не від середовища.

Чому це важливо

Коефіцієнт ρ\rho показує, як потрібно переважити повернення GtG_t, отримане під політикою поведінки, щоб воно стало незміщеною оцінкою того, яким було б повернення під цільовою політикою:

Eπ[Gt]=Eb[ρGt]\def\E{\operatorname{\mathbb{E}}} \E_\pi[G_t] = \E_b[\rho \cdot G_t]

Іншими словами, навіть якщо дані були зібрані за допомогою bb, ми все одно можемо оцінити очікувані повернення під π\pi — за умови, що bb надає ненульову ймовірність кожній дії, яку може вибрати π\pi (умова покриття).

Практичні аспекти

Дисперсія вибіркового зважування

Використання вибіркового зважування є концептуально простим. Ми коригуємо оцінку функції значення дії q(s,a)q(s, a), зважуючи кожну спостережувану віддачу відповідним коефіцієнтом вибіркового зважування. Найпростіша формула виглядає так:

q(s,a)=i=0N(s,a)ρi(s,a)Returnsi(s,a)N(s,a)q(s, a) = \frac{\sum_{i=0}^{N(s, a)} \rho_i(s, a) \cdot Returns_i(s, a)}{N(s, a)}

де:

  • ρi(s,a)\rho_i(s, a) — коефіцієнт вибіркового зважування для ii-ї траєкторії, що починається з (s,a)(s, a);
  • Returnsi(s,a)Returns_i(s, a) — віддача з цієї траєкторії;
  • N(s,a)N(s, a) — кількість відвідувань (s,a)(s, a).

Це називається звичайним вибірковим зважуванням. Воно забезпечує несмещену оцінку q(s,a)q(s, a), але може мати дуже високу дисперсію, особливо коли поведінкова та цільова політики суттєво відрізняються.

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

q(s,a)=i=0N(s,a)ρi(s,a)Returnsi(s,a)i=0N(s,a)ρi(s,a)q(s, a) = \frac{\sum_{i=0}^{N(s, a)} \rho_i(s, a) \cdot Returns_i(s, a)}{\sum_{i=0}^{N(s, a)} \rho_i(s, a)}

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

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

Політики

Як і у випадку on-policy, використаємо ε\varepsilon-жадібні політики як для цільової політики π(as)\pi(a | s), так і для поведінкової політики b(as)b(a | s).

На перший погляд, здається природним зробити цільову політику повністю жадібною — зрештою, наша кінцева мета — жадібна політика. Проте на практиці це спричиняє серйозну проблему: якщо на будь-якому кроці π(as)=0\pi(a | s) = 0 для дії, яку фактично виконала поведінкова політика, коефіцієнт важливості ρ\rho стає нульовим, і решта епізоду фактично ігнорується.

Використовуючи мале ε\varepsilon (наприклад, ε=0.01\varepsilon = 0.01) у цільовій політиці, ми гарантуємо, що π(as)>0\pi(a | s) > 0 для кожної дії, тому ρ\rho ніколи не обнуляється посеред епізоду. Після завершення навчання легко перетворити отриману ε\varepsilon‑жадібну політику на строго жадібну. Як і при on-policy навчанні, у поведінковій політиці слід використовувати спадання ε\varepsilon, але цього разу це переважно потрібно для числової стабільності, оскільки ρ\rho все ще може стати нульовим посеред епізоду через особливості представлення чисел у комп'ютерах.

Псевдокод

question mark

Яка мета важливого вибіркового зважування?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

course content

Зміст курсу

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

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

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

book
Off-Policy Керування Методом Монте-Карло

У той час як on-policy методи навчаються, дотримуючись і вдосконалюючи одну й ту ж політику, off-policy методи пропонують інший підхід: вони навчаються щодо однієї політики (цільової політики), виконуючи при цьому іншу (поведінкову політику). Такий поділ є потужним — він дозволяє оцінювати або вдосконалювати цільову політику без необхідності фактично її дотримуватися під час збору даних.

Аналогія

Повернімося до магазину морозива з попереднього розділу. Ви та ваш друг заходите всередину, і знову перед вами три знайомі смаки: шоколад, ваніль та полуниця. Шоколад — ваш улюблений, і перша думка — замовити саме його. Але цей магазин для вас новий, і ви не впевнені, чи варто обирати шоколад. На щастя, ваш друг — відомий поціновувач морозива, який відвідав майже всі магазини у місті. Ви питаєте його думку. "Шоколад тут непоганий," — каже він, — "але повір, полуниця — просто виняткова." Тож, спираючись на його досвід, ви вирішуєте відмовитися від звичного вибору й обрати полуницю.

Це рішення — покладатися на досвід іншого для прийняття власного вибору — і є сутністю off-policy методів. Ви намагаєтеся покращити власне прийняття рішень, використовуючи дані, зібрані під час поведінки іншого. Це все ще дослідження — але воно керується зовнішнім досвідом, а не власним.

Важливість вибірки

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

Важливість вибіркового зважування (importance sampling) полягає у можливості коригувати отримані під політикою поведінки значення повернення так, щоб вони були коректними оцінками для цільової політики.

Розглянемо траєкторію, яка починається з певного стану StS_t і слідує певній політиці π\pi до завершення епізоду у момент часу TT. Зокрема, ми спостерігаємо:

At,St+1,At+1,...,STA_t, S_{t+1}, A_{t+1}, ..., S_{T}

Яка ймовірність виникнення цієї траєкторії під політикою π\pi? Вона залежить як від ймовірностей дій політики, так і від динаміки переходів середовища:

p(trajectoryπ)=k=tT1π(AkSk)p(Sk+1Sk,Ak)p(trajectory | \pi) = \prod_{k=t}^{T-1} \pi(A_k | S_k)p(S_{k+1} | S_k, A_k)

Тепер припустимо, що траєкторія насправді була згенерована іншою політикою — політикою поведінки bb. Щоб коректно використати цю траєкторію для оцінки очікувань під цільовою політикою π\pi, необхідно врахувати, наскільки більшою чи меншою була ймовірність цієї послідовності дій під π\pi порівняно з bb.

Тут і з'являється коефіцієнт вибіркового зважування. Він визначається як відносна ймовірність траєкторії під двома політиками:

ρ=p(trajectoryπ)p(trajectoryb)=k=tT1π(AkSk)p(Sk+1Sk,Ak)b(AkSk)p(Sk+1Sk,Ak)=k=tT1π(AkSk)b(AkSk)\rho = \frac{p(trajectory | \pi)}{p(trajectory | b)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)p(S_{k+1} | S_k, A_k)}{b(A_k | S_k)p(S_{k+1} | S_k, A_k)} = \prod_{k=t}^{T-1} \frac{\pi(A_k | S_k)}{b(A_k | S_k)}

У підсумку, ймовірності переходів скорочуються, оскільки обидві політики діють в одному середовищі, і значення ρ\rho залежить лише від політик, а не від середовища.

Чому це важливо

Коефіцієнт ρ\rho показує, як потрібно переважити повернення GtG_t, отримане під політикою поведінки, щоб воно стало незміщеною оцінкою того, яким було б повернення під цільовою політикою:

Eπ[Gt]=Eb[ρGt]\def\E{\operatorname{\mathbb{E}}} \E_\pi[G_t] = \E_b[\rho \cdot G_t]

Іншими словами, навіть якщо дані були зібрані за допомогою bb, ми все одно можемо оцінити очікувані повернення під π\pi — за умови, що bb надає ненульову ймовірність кожній дії, яку може вибрати π\pi (умова покриття).

Практичні аспекти

Дисперсія вибіркового зважування

Використання вибіркового зважування є концептуально простим. Ми коригуємо оцінку функції значення дії q(s,a)q(s, a), зважуючи кожну спостережувану віддачу відповідним коефіцієнтом вибіркового зважування. Найпростіша формула виглядає так:

q(s,a)=i=0N(s,a)ρi(s,a)Returnsi(s,a)N(s,a)q(s, a) = \frac{\sum_{i=0}^{N(s, a)} \rho_i(s, a) \cdot Returns_i(s, a)}{N(s, a)}

де:

  • ρi(s,a)\rho_i(s, a) — коефіцієнт вибіркового зважування для ii-ї траєкторії, що починається з (s,a)(s, a);
  • Returnsi(s,a)Returns_i(s, a) — віддача з цієї траєкторії;
  • N(s,a)N(s, a) — кількість відвідувань (s,a)(s, a).

Це називається звичайним вибірковим зважуванням. Воно забезпечує несмещену оцінку q(s,a)q(s, a), але може мати дуже високу дисперсію, особливо коли поведінкова та цільова політики суттєво відрізняються.

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

q(s,a)=i=0N(s,a)ρi(s,a)Returnsi(s,a)i=0N(s,a)ρi(s,a)q(s, a) = \frac{\sum_{i=0}^{N(s, a)} \rho_i(s, a) \cdot Returns_i(s, a)}{\sum_{i=0}^{N(s, a)} \rho_i(s, a)}

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

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

Політики

Як і у випадку on-policy, використаємо ε\varepsilon-жадібні політики як для цільової політики π(as)\pi(a | s), так і для поведінкової політики b(as)b(a | s).

На перший погляд, здається природним зробити цільову політику повністю жадібною — зрештою, наша кінцева мета — жадібна політика. Проте на практиці це спричиняє серйозну проблему: якщо на будь-якому кроці π(as)=0\pi(a | s) = 0 для дії, яку фактично виконала поведінкова політика, коефіцієнт важливості ρ\rho стає нульовим, і решта епізоду фактично ігнорується.

Використовуючи мале ε\varepsilon (наприклад, ε=0.01\varepsilon = 0.01) у цільовій політиці, ми гарантуємо, що π(as)>0\pi(a | s) > 0 для кожної дії, тому ρ\rho ніколи не обнуляється посеред епізоду. Після завершення навчання легко перетворити отриману ε\varepsilon‑жадібну політику на строго жадібну. Як і при on-policy навчанні, у поведінковій політиці слід використовувати спадання ε\varepsilon, але цього разу це переважно потрібно для числової стабільності, оскільки ρ\rho все ще може стати нульовим посеред епізоду через особливості представлення чисел у комп'ютерах.

Псевдокод

question mark

Яка мета важливого вибіркового зважування?

Select the correct answer

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

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

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

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