Как вы можете предотвратить непрерывное повторение агентом одного и того же круга действий?
Конечно, как-то с изменениями в системе вознаграждений. Но есть ли общие правила, которым вы могли бы следовать или пытаться включить в свой код, чтобы предотвратить такую проблему?
Точнее говоря, моя настоящая проблема такова:
I ' я пытаюсь научить ANN изучать Doodle Jump, используя Q-Learning. Спустя всего несколько поколений, агент продолжает безостановочно прыгать на одной и той же платформе / камне снова и снова. Это не помогает увеличить продолжительность случайного исследования.
Моя система вознаграждений следующая:
- + 1, когда агент живет
- + 2, когда агент прыгает на платформу
- -1000, когда он умирает
Идея заключалась бы в том, чтобы наградить его отрицательным или, по крайней мере, 0, когда агент достигнет той же платформы, что и раньше. Но для этого мне нужно было бы передать много новых входных параметров в ANN: координаты x, y агента и координаты x, y последней посещенной платформы.
Кроме того, ANN тогда также придется узнать, что платформа имеет толщину 4 блока и так далее.
Поэтому я уверен, что эта идея, которую я только что упомянул, не решит проблему, наоборот, я считаю, что ANN в целом просто больше не будет хорошо учиться, потому что слишком много бесполезных и сложных для -понимать входы.