Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Що таке навчання з часовою різницею? | Навчання з Часовою Різницею
Вступ до навчання з підкріпленням з використанням Python

Що таке навчання з часовою різницею?

Свайпніть щоб показати меню

Як динамічне програмування, так і методи Монте-Карло мають свої переваги та суттєві недоліки.

Динамічне програмування

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

Попри потужність ідеї бутстрепінгу, саме динамічне програмування має два основних недоліки:

  • Потребує повної та явної моделі середовища;
  • Цінності станів обчислюються для кожного стану, навіть якщо стан не лежить поблизу оптимального шляху.

Методи Монте-Карло

Методи Монте-Карло усувають два недоліки динамічного програмування:

  • Не потребують моделі, оскільки навчаються на основі досвіду;
  • Спосіб навчання на досвіді обмежує дослідження, тому неважливі стани рідко відвідуються.

Однак вони вводять новий недолік — процес навчання відбувається лише після завершення епізоду. Це обмежує застосування методів Монте-Карло до невеликих епізодичних задач, оскільки для більших задач потрібно надзвичайно велика кількість дій до завершення епізоду.

Навчання з часовим різницевим сигналом

Note
Визначення

Навчання з часовою різницею (TD) є результатом поєднання ідей як з динамічного програмування, так і з методів Монте-Карло. Воно бере підхід навчання на досвіді з методів Монте-Карло та поєднує його з бутстрепінгом з динамічного програмування.

У результаті навчання з часовою різницею вирішує основні проблеми обох методів:

  • Навчання на досвіді вирішує проблему необхідності моделі та проблему великих просторов станів;
  • Бутстрепінг вирішує проблему епізодичного навчання.

Як це працює?

TD-навчання працює за допомогою простого циклу:

  1. Оцінка значення: агент починає з початкового припущення щодо того, наскільки хороший поточний стан;
  2. Виконання дії: він виконує дію, отримує винагороду та переходить у новий стан;
  3. Оновлення оцінки: використовуючи винагороду та значення нового стану, агент трохи коригує свою початкову оцінку, щоб зробити її точнішою;
  4. Повторення: з часом, повторюючи цей цикл, агент поступово формує кращі та точніші оцінки значень для різних станів.

Порівняльна таблиця

question mark

Як навчання з часовою різницею поєднує переваги динамічного програмування та методів Монте-Карло?

Виберіть усі правильні відповіді

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Що таке навчання з часовою різницею?

Як динамічне програмування, так і методи Монте-Карло мають свої переваги та суттєві недоліки.

Динамічне програмування

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

Попри потужність ідеї бутстрепінгу, саме динамічне програмування має два основних недоліки:

  • Потребує повної та явної моделі середовища;
  • Цінності станів обчислюються для кожного стану, навіть якщо стан не лежить поблизу оптимального шляху.

Методи Монте-Карло

Методи Монте-Карло усувають два недоліки динамічного програмування:

  • Не потребують моделі, оскільки навчаються на основі досвіду;
  • Спосіб навчання на досвіді обмежує дослідження, тому неважливі стани рідко відвідуються.

Однак вони вводять новий недолік — процес навчання відбувається лише після завершення епізоду. Це обмежує застосування методів Монте-Карло до невеликих епізодичних задач, оскільки для більших задач потрібно надзвичайно велика кількість дій до завершення епізоду.

Навчання з часовим різницевим сигналом

Note
Визначення

Навчання з часовою різницею (TD) є результатом поєднання ідей як з динамічного програмування, так і з методів Монте-Карло. Воно бере підхід навчання на досвіді з методів Монте-Карло та поєднує його з бутстрепінгом з динамічного програмування.

У результаті навчання з часовою різницею вирішує основні проблеми обох методів:

  • Навчання на досвіді вирішує проблему необхідності моделі та проблему великих просторов станів;
  • Бутстрепінг вирішує проблему епізодичного навчання.

Як це працює?

TD-навчання працює за допомогою простого циклу:

  1. Оцінка значення: агент починає з початкового припущення щодо того, наскільки хороший поточний стан;
  2. Виконання дії: він виконує дію, отримує винагороду та переходить у новий стан;
  3. Оновлення оцінки: використовуючи винагороду та значення нового стану, агент трохи коригує свою початкову оцінку, щоб зробити її точнішою;
  4. Повторення: з часом, повторюючи цей цикл, агент поступово формує кращі та точніші оцінки значень для різних станів.

Порівняльна таблиця

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

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

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

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