В обучении с подкреплением, в чем разница между итерации политики и значение итерации ?
Насколько я понимаю, при итерации значений вы используете уравнение Беллмана для поиска оптимальной политики, тогда как при итерации политики вы случайным образом выбираете политику π и находите вознаграждение за эту политику.
Я сомневаюсь, что если вы выбираете случайную политику π в PI, как гарантировать, что она будет оптимальной политикой, даже если мы выбираем несколько случайных политик.
Ответы:
Давайте посмотрим на них рядом. Выделены ключевые части для сравнения. Рисунки взяты из книги Саттона и Барто: Обучение с подкреплением: Введение .
Ключевые моменты:
По моему опыту, итерация политики выполняется быстрее, чем итерация значения , поскольку политика сходится быстрее, чем функция значения. Помню, это тоже описано в книге.
Я предполагаю, что путаница в основном возникла из-за всех этих в некотором роде похожих терминов, которые раньше меня тоже сбивали с толку.
источник
В алгоритмах итерации политики вы начинаете со случайной политики, затем находите функцию значения этой политики (этап оценки политики), затем находите новую (улучшенную) политику, основанную на предыдущей функции значения, и так далее. В этом процессе каждая политика гарантированно будет строго улучшена по сравнению с предыдущей (если она уже не оптимальна). Учитывая политику, ее функцию ценности можно получить с помощью оператора Беллмана .
В итерации значения вы начинаете с функции случайного значения, а затем находите новую (улучшенную) функцию значения в итеративном процессе, пока не достигнете функции оптимального значения. Обратите внимание, что вы можете легко получить оптимальную политику из функции оптимального значения. Этот процесс основан на операторе Беллмана оптимальности .
В некотором смысле оба алгоритма используют один и тот же принцип работы, и их можно рассматривать как два случая итерации обобщенной политики . Однако оператор Беллмана оптимальности содержит оператор max , который не является линейным и, следовательно, имеет другие особенности. Кроме того, можно использовать гибридные методы между итерацией чистого значения и итерацией чистой политики.
источник
Основная разница -
В итерации политики - вы случайным образом выбираете политику и находите соответствующую ей функцию значения, затем находите новую (улучшенную) политику на основе предыдущей функции значения, и так далее это приведет к оптимальной политике.
В итерации значений - вы случайным образом выбираете функцию значения, затем находите новую (улучшенную) функцию значения в итеративном процессе, пока не достигнете функции оптимального значения, а затем выводите оптимальную политику из этой функции оптимального значения.
Итерация политики работает по принципу «Оценка политики -> Улучшение политики».
Value Iteration работает по принципу «функция оптимального значения -> оптимальная политика».
источник
Насколько мне известно, вопреки идее @zyxue, VI обычно намного быстрее, чем PI.
Причина очень проста, как вы уже знаете, уравнение Беллмана используется для решения функции ценности для данной политики. Поскольку мы можем решить функцию цены для оптимальной политики напрямую , решение функции ценности для текущей политики, очевидно, является пустой тратой времени.
Что касается вашего вопроса о сходимости PI, я думаю, вы могли упустить из виду тот факт, что если вы улучшите стратегию для каждого информационного состояния, то вы улучшите стратегию для всей игры. Это также легко доказать, если вы были знакомы с минимизацией контрфактического сожаления - сумма сожаления для каждого информационного состояния сформировала верхнюю границу общего сожаления, и, таким образом, минимизация сожаления для каждого состояния минимизирует общее сожаление, которое приводит к оптимальной политике.
источник