Что представляют собой дзеты в методе критики? Я считаю, что он отслеживает пары «состояние-действие» и представляет трассировки приемлемости, которые являются временной записью состояний-действий, но что именно представляет собой дзета и как это выглядит в С++ (например, вектор двойников)?
Зета-переменная SARSA(лямда)
Ответы (1)
Как вы уже сказали, дзета представляет собой следы приемлемости. Интуитивно это можно понять как содержащее «распадающуюся смесь всех векторов признаков состояния-действия, встречавшихся на всех предыдущих временных шагах». Это следы вещей, которые мы видели ранее, и, следовательно, вещи, которым мы также должны отдать должное за награды, которые мы наблюдаем сейчас.
Более формально, это просто то, что требуется, если вы хотите написать инкрементные реализации (с равномерно распределенным временем вычислений по всем вашим временным шагам) алгоритмов RL, которые, будучи написаны более простым/очевидным/наивным способом, могут быть реализованы только в неинкрементный способ, потому что у них есть правила обновления, которые требуют информацию со всех временных отрезков в вашем эпизоде (например, лямбда-возвраты / возвраты Монте-Карло). Это, вероятно, звучит довольно сложно, но, вероятно, лучше придерживаться интуитивного объяснения.
Что касается того, как это будет выглядеть на C++, да, в значительной степени вектор двойников. «z \in R^d
» прямо перед первой строкой кода на изображении означает именно это, это d
-мерный вектор действительных чисел (двойных или с плавающей запятой в C++), где d
— это размерность ваших векторов признаков состояния-действия (phi
) .
Вы также можете сказать, что это должен быть d
-мерный вектор, по тому факту, что его нужно добавить к другим d
-мерным векторам (phi
и theta
) в нескольких других местах псевдокода. Это может работать правильно математически только в том случае, если сама дзета также является d
-мерным вектором.