У чому різниця між ітерацією вартості та ітерацією політики?


94

У чому полягає різниця між ітерацією політики та ціннісною ітерацією при підкріпленні .

Наскільки я розумію, у ітерації значень ви використовуєте рівняння Беллмана для вирішення оптимальної політики, тоді як під час ітерації політики ви випадковим чином вибираєте політику π і знаходите винагороду за цю політику.

Я сумніваюся, що якщо ви вибираєте випадкову політику π у PI, як це гарантовано буде оптимальною політикою, навіть якщо ми обираємо кілька випадкових політик.


13
Доцільніше було б поставити це питання на веб-сайтах, таких як ai.stackexchange.com , stats.stackexchange.com або datascience.stackexchange.com .
nbro

Відповіді:


124

Давайте розглянемо їх поруч. Виділено ключові частини для порівняння. Цифри взяті з книги Саттона і Барто: Підсилення навчання: Вступ .

введіть тут опис зображення Ключові моменти:

  1. Ітерація політики включає: оцінку політики + вдосконалення політики , і дві повторюються ітеративно, поки політика не сходиться.
  2. Ітерація значення включає: пошук функції оптимального значення + одне вилучення політики . Немає повторень обох, оскільки, як тільки функція значення є оптимальною, тоді і політика з неї також повинна бути оптимальною (тобто збіжною).
  3. Пошук функції оптимального значення також можна розглядати як комбінацію вдосконалення політики (завдяки макс.) Та усіченої оцінки політики (перепризначення v_ (s) після лише одного розгортання всіх станів, незалежно від конвергенції).
  4. Алгоритми оцінки політики та пошуку функції оптимального значення дуже схожі, за винятком максимальної операції (як виділено)
  5. Аналогічним чином, ключовий крок до вдосконалення політики та вилучення політики ідентичний, за винятком того, що перший передбачає перевірку стабільності.

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

Думаю, плутанина в основному походить від усіх цих дещо подібних термінів, що також мене бентежило раніше.


3
Я погоджуюсь, що ітерація політики збігається в меншій кількості ітерацій, і я також у кількох місцях читав, що це швидше. Я провів кілька простих експериментів із розв’язуванням лабіринту з обома методами в мішковині. Я виявив, що ітерація значення виконувала більше ітерацій, але займала менше часу, щоб досягти конвергенції. YMMV.
Райан

1
@Chrom, ти мав би прочитати протилежне. Ось цитата з книги: " Ітерація політики часто збігається на диво мало ітерацій. Це проілюстровано на прикладі на малюнку 4.1. ", Зі сторінки 65 версії книги за 2017 рік .
zyxue,

3
Так, я грав із декількома смаками Grid world. Я просто намагався зазначити, що "Швидше" з точки зору ітерацій, ймовірно, буде на користь PI. Але "Швидше" з точки зору секунд може насправді сприяти VI.
Райан

3
Для уточнення, ітерація політики займе менше ітерацій, але є більш обчислювально складною, ніж ітерація значення; який швидший, залежить від навколишнього середовища.
РФ Нельсон,

2
Я знаю, що це стара публікація. Але я настійно рекомендую вивчити це ( medium.com/@m.alzantot/… ) Посилання містить код, і це зробило це для мене набагато зрозумілішим.
тандем

73

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

У ітерації значень ви починаєте з функції випадкового значення, а потім знаходите нову (вдосконалену) функцію значення в ітераційному процесі, до досягнення функції оптимального значення. Зверніть увагу, що ви можете легко отримати оптимальну політику з функції оптимального значення. Цей процес заснований на оптимальності оператора Беллмана .

У якомусь сенсі обидва алгоритми мають однаковий принцип роботи, і їх можна розглядати як два випадки узагальненої ітерації політики . Однак оптимальність оператора Беллмана містить оператор max , який є нелінійним і, отже, він має різні особливості. Крім того, можна використовувати гібридні методи між чистою ітерацією значення та чистою ітерацією політики.


1
Хороший опис з цього приводу. Ну, дозвольте мені додати цю річ в ітерацію політики, вона використовує рівняння очікування Бельмана, а у ітерації значення використовує рівняння максимуму Мельмана. Для ітерації значення може бути менше ітерацій, але для однієї ітерації може бути так багато роботи. Для ітерації політики більше ітерацій
Шамане Сірівардана

хіба в ітерації політики також немає оператора max? інакше як оновити політику на основі нової функції значення?
huangzonghao,

Ні, алгоритм SARSA є типовим прикладом ітерації політики. Як ви можете бачити в цьому псевдокоді ( incompleteideas.net/book/ebook/node64.html ), оновлення функції значення не містить жодного оператора max. Однак, якщо ви маєте на увазі оператор max для вибору найкращих дій із функції значення (тобто жадібні дії), так, у такому процесі існує операція max.
Пабло Е.М.

11

Основна відмінність -

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

У Value Iteration - Ви випадковим чином вибираєте функцію значення, потім знаходите нову (вдосконалену) функцію значення в ітераційному процесі, до досягнення функції оптимального значення, а потім виводите оптимальну політику з цієї функції оптимального значення.

Ітерація політики працює за принципом “Оцінка політики —-> Поліпшення політики”.

Value Iteration працює за принципом «Оптимальна функція вартості -> оптимальна політика».


0

Що стосується мене, то, на відміну від ідеї @zyxue, VI, як правило, набагато швидший, ніж PI.

Причина дуже проста, як ви вже знали, Рівняння Беллмана використовується для вирішення функції значення для даної політики. Оскільки ми можемо вирішити функцію вартості для оптимальної політики безпосередньо , вирішення функції вартості для поточної політики, очевидно, є марною тратою часу.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.