Углы (thetas) передаются через функции sin () и cos (), так что наблюдения находятся в диапазоне [-1,1]. Этот фиксированный диапазон [-1,1] помогает стабилизировать обучение в нейронных сетях, что было хорошо объяснено здесь .
Вы могли бы даже использовать один из грехов () или cos () в качестве своего наблюдения. Причина (которую я могу придумать) для использования как sin (), так и cos (), вероятно, заключается в том, чтобы дать больше информации о состоянии. Возможно, использование как sin (), так и cos () приведет к более быстрой конвергенции.
Но нормализация входов необходима. Таким образом, вы не можете просто использовать углы в качестве наблюдений за состоянием для тренировки.
Редактировать: Ответить на комментарий @CHEN TIANRONG
Я запустил DDPG только с sin () и theta_dot в одном эксперименте и с sin (), cos () и theta_dot в другом эксперименте. Очевидно, что агент никогда не изучает задачу в первом эксперименте.
Полагаю, что использование sin () и cos () экспериментально.
Вы можете найти код, который я использовал для экспериментов здесь .
Повышение скорости сходимости нейронной сети для агентов RL является активной областью исследований. Вы можете искать алгоритмы, которые являются эффективными по образцу. Например: Образец эффективного обучения усилению с использованием стохастического ансамбля. Значение , Образец эффективного актера-критика с повторением опыта и т. Д.