Альфа и Гамма параметры в QLearning - PullRequest
6 голосов
/ 06 декабря 2009

Какая разница в алгоритме имеет большое или маленькое значение гаммы? В моей оптике, если оно не равно 0 или 1, оно должно работать точно так же. С другой стороны, какую бы гамму я не выбрал, кажется, что значения Qvalue очень быстро приближаются к нулю (у меня здесь значения порядка 10 ^ -300 просто в быстром тесте). Как обычно люди отображают Qvalues ​​(я строю (x, y, лучшее QValue для этого состояния) с учетом этой проблемы? Я пытаюсь обойтись с помощью логарифмов, но даже тогда это выглядит немного неловко.

Кроме того, я не понимаю, в чем причина наличия альфа-параметра в функции обновления Q Learning. Это в основном устанавливает величину обновления, которое мы собираемся сделать, к функции значения Q. У меня есть идея, что это обычно уменьшается со временем. Какой интерес в том, чтобы он уменьшался со временем? Значение обновления в начале должно иметь большее значение, чем 1000 эпизодов позже?

Кроме того, я подумал, что хорошей идеей для исследования пространства состояний каждый раз, когда агент не хочет выполнять жадное действие, было бы изучение любого состояния, у которого все еще есть нулевое значение QV (это означает, что по крайней мере большинство времена, государство никогда не делало), но я не вижу, что упоминается в какой-либо литературе. Есть ли минусы в этом? Я знаю, что это нельзя использовать с (по крайней мере, некоторыми) функциями обобщения.

Другая идея состояла бы в том, чтобы сохранить таблицу посещенных состояний / действий и попытаться выполнить действия, которые были предприняты меньше раз в этом состоянии. Конечно, это может быть сделано только в относительно небольших пространствах состояний (в моем случае это определенно возможно).

Третья идея для поздней стадии процесса исследования состоит в том, чтобы искать не только выбранное действие в поисках наилучших значений, но также заглядывать внутрь всех этих возможных действий и этого состояния, а затем в другие состояния этого состояния и так далее.

Я знаю, что эти вопросы в некотором роде не связаны, но я хотел бы услышать мнения людей, которые раньше работали с этим и (вероятно) боролись с некоторыми из них тоже.

Ответы [ 3 ]

13 голосов
/ 31 августа 2013

Из подкрепления склоняющихся кандидатов в мастера:

Альфа - скорость обучения. Если функция вознаграждения или перехода является стохастической (случайной), то альфа должна меняться со временем, приближаясь к нулю на бесконечности. Это связано с аппроксимацией ожидаемого результата внутреннего продукта (T (переход) * R (награда)), когда один из двух или оба имеют случайное поведение.

Этот факт важно отметить.

Гамма - это ценность будущей награды. Это может немного повлиять на обучение и может быть динамическим или статическим значением. Если оно равно единице, агент оценивает будущую награду ПРОСТО как МНОГО в качестве текущей награды. Это означает, что в десяти действиях, если агент делает что-то хорошее, это ТОЛЬКО ЦЕННО, как выполнение этого действия напрямую. Так что при высоких значениях гаммы обучение не очень хорошо работает.

И наоборот, нулевая гамма заставит агента оценивать только немедленные вознаграждения, что работает только с очень подробными функциями вознаграждения.

Также - что касается исследовательского поведения ... на самом деле есть тонны литературы по этому вопросу. Все ваши идеи на 100% были опробованы. Я бы порекомендовал более подробный поиск, и даже начать прибегать к поиску решений и теории улучшения политики.

Просто добавив примечание к Альфе: представьте, что у вас есть функция вознаграждения, которая выплевывает 1 или ноль для определенного состояния действия комбо SA. Теперь каждый раз, когда вы выполняете SA, вы получите 1 или 0. Если вы оставите альфа равным 1, вы получите Q-значения 1 или ноль. Если это 0,5, вы получите значения +0,5 или 0, и функция всегда будет колебаться между двумя значениями навсегда. Однако, если вы каждый раз уменьшаете свою альфу на 50 процентов, вы получаете такие значения. (при условии, что вознаграждение получено 1,0,1,0, ...). Ваши Q-значения в конечном итоге будут 1,0,5,0,75,0,9,0,8, ... и в конечном итоге будут сходиться примерно до 0,5. На бесконечности это будет 0,5, что является ожидаемой наградой в вероятностном смысле.

0 голосов
/ 25 октября 2017

Какая разница с алгоритмом, имеющим большое или маленькое значение гаммы?

гамма должна соответствовать размеру пространства наблюдения: вы должны использовать большие гаммы (т.е. ближе к 1) для больших пространств состояний и меньшие гаммы для меньших пространств.

Один способ думать о гамме состоит в том, что она представляет собой коэффициент затухания вознаграждения от окончательного, успешного состояния.

0 голосов
/ 08 декабря 2009

Раньше я не работал с такими системами, поэтому я не знаю, насколько я могу быть полезен, но ...

Гамма - это мера склонности агента ожидать будущих наград. Чем оно меньше, тем больше агент будет стремиться выполнить действие с наибольшей наградой, независимо от результирующего состояния. Агенты с большей гаммой будут изучать длинные пути к большим вознаграждениям. Что касается всех значений Q, приближающихся к нулю, пробовали ли вы использовать очень простую карту состояний (скажем, одно состояние и два действия) с гаммой = 0? Это должно быстро приблизиться к Q = награда.

Идея уменьшения альфа состоит в том, чтобы ослабить колебания в значениях Q, чтобы агент мог сформироваться в устойчивом паттерне после дикой молодости.

Исследуете пространство состояний? Почему бы просто не повторить, агенту все попробовать? Нет никакой причины, чтобы агент фактически следовал определенному курсу в своем обучении - если только это не точка вашего моделирования. Если идея состоит в том, чтобы просто найти оптимальный образец поведения, отрегулируйте все Q, а не только самые высокие на пути.

...