В1: Существуют ли распространенные или общепринятые методы работы с нестационарной средой в обучении подкреплению в целом?
Большинство основных агентов RL находятся в сети, и онлайн-обучение обычно может решать нестационарные проблемы. Кроме того, правила обновления для значений состояния и значений действия в задачах управления обычно пишутся для нестационарных целей, поскольку цели уже меняются по мере улучшения политики. В этом нет ничего сложного, просто использование скорости обучения в обновлениях при оценке значений, фактически скользящее геометрическое среднее, а не усреднение по всей истории невзвешенным образом.α
Тем не менее , это относится к более длительной нестационарности, такой как проблема, возникающая при смене эпизодов, или в течение еще более длительного периода времени. Ваше описание больше похоже на то, что вы хотите изменить структуру вознаграждения на основе действий, предпринятых агентом, в короткие сроки. Этот динамический отклик на действия лучше представить в виде другого более сложного MDP, а не «нестационарности» в более простом MDP.
Агент не может узнать об изменениях в среде, в которой он еще не выбрал, поэтому изменение структуры вознаграждения не помешает агенту вернуться в ранее посещенные состояния. Если вы не используете что-то вроде RNN в агенте, у агента не будет «памяти» о том, что произошло раньше в эпизоде, кроме того, что представлено в текущем состоянии (возможно, использование RNN делает скрытый слой части RNN государства). В нескольких эпизодах, если вы используете табличный агент Q-обучения, агент просто узнает, что определенные состояния имеют низкую ценность, он не сможет узнать, что вторые или третьи посещения состояния вызывают этот эффект, потому что он не имеет способ представить это знание. Он не сможет адаптироваться к изменениям достаточно быстро, чтобы учиться онлайн и в середине эпизода.
Q2: В моем игровом мире функция вознаграждения меняется, когда посещается состояние. Все, что я хочу, чтобы мой агент выучил, это «Не возвращайся, если тебе действительно не нужно», однако это делает окружающую среду нестационарной.
Если это все, что вам нужно, чтобы агент выучил, возможно, это может быть поощрено подходящей структурой вознаграждений. Прежде чем вы сможете это сделать, вы должны сами понять, что подразумевается под «действительно нужно», и насколько это должно быть логично. Вы можете быть в порядке, хотя, просто назначив некоторый штраф за посещение любого местоположения, которое агент уже или недавно посетил.
Может / должно ли это очень простое правило быть включено в модель MDP и как?
Да, вы должны добавить информацию о посещенных местах в штате. Это немедленно сделает вашу модель состояния более сложной, чем простой мир сетки, увеличивая размерность проблемы, но это неизбежно. Большинство реальных проблем очень быстро перерастают примеры игрушек, предлагаемых для обучения понятиям RL.
Одна альтернатива состоит в том, чтобы сформулировать проблему как частично наблюдаемый марковский процесс принятия решений (POMDP) . В этом случае «истинное» состояние будет по-прежнему включать всю необходимую историю для расчета вознаграждений (и, поскольку это игрушечная проблема на компьютере, вам все равно придется как-то ее представлять), но агент может попытаться извлечь уроки из ограниченного знание состояния, просто то, что вы позволяете ему наблюдать. В целом, это гораздо более сложный подход, чем расширение представительства государства, и я бы не рекомендовал его здесь. Однако, если вам интересна эта идея, вы можете использовать свою проблему для изучения POMDP. Вот недавний документ (от команды Google Deep Mind, 2015), в котором рассматриваются два алгоритма RL в сочетании с RNN для решения POMDP.
Q3: Я искал Q-learning с повторением опыта как решение для работы с нестационарными средами, поскольку оно декоррелирует последовательные обновления. Это правильное использование метода или это больше связано с эффективностью обучения?
Воспроизведение опыта не поможет с нестационарной средой. На самом деле это может ухудшить производительность в них. Однако, как уже говорилось, ваша проблема на самом деле не в нестационарной среде, а в обработке более сложной динамики состояния.
Что вам может понадобиться, это посмотреть на приближение функции, если число состояний увеличивается до достаточно большого числа. Например, если вы хотите , чтобы справиться с любым бэк-трекингом и имеет сложные поощрения модифицирующего правило, треки каждый посетил место, то ваше состояние может меняться от одного номера местоположения на карту с указанием посещенных мест. Так, например, он может перейти от состояний для мира сетки к карте состояний показывающей посещенные квадраты. Это слишком высокое значение для отслеживания в таблице значений, поэтому вы обычно будете использовать нейронную сеть (или сверточную нейронную сеть) для оценки значений состояния.8 × 8 2 64648 × 8264
С оценщиком функций воспроизведение опыта очень полезно, так как без него процесс обучения, вероятно, будет нестабильным. По этой причине в недавнем подходе DQN для игр Atari используется повтор опыта.