Три рівні — три головні конструкції теми: дослідження, цінність і похибка часової різниці. Усе перевіряється числом, і скрізь треба усереднювати по кількох запусках.
рівень 1Рівень 1 — База
Додай до бандита оптимістичну ініціалізацію і покажи, що дослідження може виникати без жодної випадковості.
- Візьми бандита з практики й дозволь задавати початкове значення оцінок
Q₀. - Запусти три стратегії на 500 кроків, усереднюючи по 150 запусках: ε-жадібну (ε = 0.1, Q₀ = 0), чисто жадібну (ε = 0, Q₀ = 0) і оптимістичну (ε = 0, Q₀ = 10).
- Побудуй для всіх трьох криву «частка кроків, на яких обрано справді найкращу дію».
Зроблено, якщо: на графіку оптимістична крива стартує нижче за жадібну, потім перетинає її й наприкінці йде вище за ε-жадібну. У висновку — одне речення про те, чому завищені початкові оцінки змушують жадібного агента перебрати всі дії: у ньому має прозвучати слово «розчарування».
рівень 2Рівень 2 — Плюс
Порівняй Q-навчання і SARSA на сітці з кактусами й поясни різницю в поведінці.
- Реалізуй SARSA: замість
max Q(s′, a′)бериQ(s′, a′)для тієї дії, яку агент справді зробить наступним кроком. - Навчи обидва алгоритми на сітці з практики при ε = 0.25, по 2000 епізодів, з однаковим зерном.
- Порівняй три числа: збіг політики з еталоном, частка епізодів, що закінчились кактусом, і середня винагорода за останні 100 епізодів.
- Намалюй обидві політики стрілками поруч і знайди клітинки, де вони різняться.
Зроблено, якщо: названо щонайменше одну клітинку, у якій SARSA обирає інший напрямок, ніж Q-навчання, і пояснено чому — у поясненні має бути думка про те, що SARSA враховує власну випадковість, а Q-навчання вчить політику, за якою не ходить.
рівень 3Рівень 3 — Виклик
Знайди межу застосовності табличних методів.
- Напиши генератор випадкових сіток розміром n × n із заданою часткою кактусів (наприклад, 15%) і однією метою в куті.
- Для n = 5, 8, 12, 18, 25 виміряй, скільки епізодів потрібно, щоб збіг вивченої політики з еталонною (динамічне програмування) перевищив 0.9. Усередни по 10 випадкових сітках.
- Побудуй цю залежність у логарифмічних осях і підбери степеневий закон.
Зроблено, якщо: названо показник степеня (нахил прямої в лог-осях) і пораховано, скільки епізодів знадобилося б для сітки 100 × 100 за цим законом. Одним реченням поясни, чому цей результат означає, що для великих задач таблицю доводиться замінювати на нейромережу.
Підказки
- Рівень 1. Оптимістичну ініціалізацію рахують зі сталим кроком α, а не з 1/n: при 1/n початкове значення забувається надто швидко, і ефект зникає.
- Рівень 2. SARSA потребує знати наступну дію ще до оновлення, тому цикл
доведеться перебудувати: обирай
a′наприкінці кроку і переноси його в початок наступного. - Рівень 3. Не забудь про верхню межу кроків в епізоді: на великій сітці агент
із поганою таблицею може блукати вічно. Став ліміт порядку
4·n²і рахуй такий епізод обірваним.