Цель состоит в том, чтобы спроектировать компонент оптимизации проксимальной политики, который имеет конкретные ограничения на пространство действий, зависящие от правил, управляемых состоянием, с использованием такой инфраструктуры, как Tensorforce.
Варианты дизайна, перечисленные в вопросе
Эти параметры перечислены здесь для быстрого ознакомления при чтении первоначального анализа ниже.
- Изменяйте пространство действия на каждом шаге, в зависимости от internal_state. Я предполагаю, что это чепуха.
- Ничего не предпринимайте: дайте модели понять, что выбор недоступного действия не оказывает влияния.
- Ничего не предпринимайте: немного отрицательно влияйте на вознаграждение, когда модель выбирает недоступное действие.
- Помогите модели: включив целое число в пространство состояний / наблюдений, которое информирует модель, что такое значение internal_state + точка маркера 2 или 3
Первоначальный анализ
Разумно менять пространство действия для каждого хода. Фактически, это правильное представление о проблеме, о которой говорилось, и то, как люди играют в игры, и как компьютеры бьют людей в шахматах и го.
Кажущаяся бессмысленность этой идеи - всего лишь артефакт прогресса по дорожной карте проекта Tensorforce и прогресса по теории подкрепления, оба молодые в общей картине. Читая документацию и часто задаваемые вопросы Tensorforce, кажется, что фреймворк не предназначен для подключения механизма правил для определения пространства действий. Это не недостаток открытого исходного кода. Похоже, не существует каких-либо работ, предлагающих теорию или предлагающих алгоритмы для обусловленного правилом решения цепей Маркова.
Опция «ничего не делать» - это та, которая соответствует текущим доступным стратегиям, представленным в литературе. Вероятно, «почти ничего» - это подход, который приведет к более надежному и, возможно, более немедленному желательному поведению.
Проблема с концепцией помощи модели заключается в том, что она не настолько сильна, как расширение модели. В открытом исходном коде это было бы сделано путем расширения классов, представляющих модель, что потребовало бы некоторой теоретической работы перед кодированием, чтобы
a. Represent rule-conditioned learning in nomenclature
b. Represent convergence mathematically using the new nomenclature
c. Determining a method of convergence
d. Proving convergence
e. Rechecking
f. Defining a smooth and efficient algorithm
g. Providing PAC learning information for planning
f. Peer review
g. Extending the classes of the library
h. Proof of concept with the current problem above
i. Additional cases and metrics comparing the approach with the others
j. Extending the library flexibility to support more such dev
Расширение систем обучения для охвата случая, ограниченного правилами, является отличной идеей для кандидатской диссертации и может появиться в исследовательских лабораториях как проектное предложение со многими возможными приложениями. Не позволяйте всем шагам отговорить исследователя. По сути, это список шагов для любой кандидатской диссертации или финансируемого лабораторного проекта ИИ.
Для краткосрочного решения помощь модели может сработать, но это не является разумной стратегией для продвижения идей ИИ на пути обучения подкреплению. В качестве краткосрочного решения для конкретной проблемы это может работать нормально. Идея «почти ничего не делать» может быть более обоснованной, поскольку она вписывается в доказательства конвергенции, которые привели к конкретной реализации, которую, вероятно, будет использовать Tensorforce.
Переименование его из «сделай почти ничего, чтобы помочь конвергенции» может помочь выработать правильную перспективу, прежде чем попробовать. Вы можете обнаружить, что вам нужно ослаблять помощь по мере приближения к конвергенции, чтобы избежать перерегулирования, как при обучении.
Обычно набор действий, которые может выполнить агент, не меняется со временем, но некоторые действия могут стать невозможными в разных состояниях (например, не каждый ход возможен в любой позиции игры TicTacToe).
Взгляните в качестве примера на кусок кода https://github.com/haje01/gym-tictactoe/blob/master/examples/base_agent.py :
источник