Сходимость Q-обучения на перевернутом маятнике
Здравствуйте, я работаю над полным контролем над проблемой с карполом (перевернутый маятник). Моя цель состоит в том, чтобы система достигла стабильности, то есть все состояния (x, xdot,theta и theta) должны сходиться к нулю. Я использую q-learning с функцией вознаграждения, как указано ниже.
Q_table[pre_s + (a,)] += alpha * (R + gamma *(argmax(Q_table[s])) - Q_table[pre_s + (a,)])
R=1000*cos(theta)-1000*(theta_dot**2)-100*(x_dot**2)-100*(x**2)
к сожалению, конвергенции нет. На графике q-таблицы я вижу, как он увеличивается и стабилизируется при максимальном значении, но состояния просто остаются в пределах определенной границы и не стремятся к нулю. Я чувствую, что мой агент не учится достаточно быстро, и в какой-то момент я больше не учусь. Может кто-нибудь мне помочь.
1 ответ
Предполагая, что вы используете эпсилон-жадный подход, ваши значения для альфа и гаммы могут иметь большое значение. Я предлагаю поиграть с этими ценностями и посмотреть, как это влияет на вашего агента.
Кроме того, можете ли вы объяснить логику функции вознаграждения? Кажется необычным умножить все на 1000.