Если это ваш первый эксперимент с обучением с подкреплением, я бы порекомендовал начать с чего-то более простого. Вы можете начать с простого, чтобы освоиться, а затем перейти к более сложному проекту, подобному этому. У меня проблемы с POMDP, и я уже довольно давно работаю в RL. Сейчас постараюсь ответить на какие вопросы смогу.
Я думаю, что это POMDP, но могу ли я смоделировать его как MDP и просто игнорировать шум?
да. POMDP означает частично наблюдаемый марковский процесс принятия решений. Частично наблюдаемая часть относится к тому факту, что агент не может точно знать свое состояние, но может оценить его на основе наблюдений. В вашем случае у вас будет местоположение ракеты в качестве наблюдения, которое может иметь некоторый шум, и на основе предыдущих знаний агентов вы можете обновить его мнение о том, где находятся ракеты. Это добавляет много сложности. Было бы намного проще использовать расположение ракет как абсолют и не иметь дело с неопределенностью. Тогда вам не придется использовать POMDP.
В случае POMDP, каков рекомендуемый способ оценки вероятности?
Я не понимаю твоего вопроса. Вы бы использовали некоторую форму правила Байеса. То есть у вас будет какое-то распределение, которое является вашим состоянием убеждений (вероятностями нахождения в каком-либо данном состоянии), которое будет вашим предварительным распределением, и на основе наблюдения вы бы скорректировали его и получили апостериорное распределение. Если вам нужна дополнительная информация, изучите правило Байеса.
Что лучше использовать в этом случае: функции значений или итерации политики?
По большей части я использую функции значений и считаю их относительно простыми в использовании / понимании. Но я не знаю, что еще тебе сказать. Я думаю, что это, вероятно, ваш выбор, мне бы пришлось потратить время на работу над проектом, чтобы сделать лучший выбор.
Могу ли я использовать NN для моделирования динамики окружающей среды вместо использования явных уравнений? Если да, можно ли порекомендовать какой-либо конкретный тип / модель NN?
Я ничего не знаю об использовании NN для моделирования среды, извините.
Я думаю, что действия должны быть дискретными, не так ли?
да. У вас должен быть дискретный список действий и дискретный список состояний. Обычно алгоритм выбирает наилучшее действие для любого данного состояния, а для простейших алгоритмов (вроде QLearning) вы просто отслеживаете значение для каждой данной пары состояние-действие.
Если вы только изучаете все это, я бы порекомендовал Sutton и Барто текст. Также, если вы хотите увидеть простой пример алгоритма RL, у меня есть очень простой базовый класс и пример его использования по адресу github (написано на Python). Класс abstract_rl предназначен для расширения для задач RL, но он очень прост. simple_rl.py - это пример простой задачи (это простая сетка с одной позицией, являющейся целью, и она использует QLearning в качестве алгоритма) с использованием base_rl, который может быть запущен и распечатает некоторые графики, показывающие вознаграждение с течением времени. Ни один из них не является очень сложным, но если вы только начинаете, это может помочь вам дать некоторые идеи. Надеюсь, это помогло. Дайте мне знать, если у вас возникнут дополнительные или более конкретные вопросы.
person
Zach Varberg
schedule
20.05.2010