#python #keras #reinforcement-learning #openai-gym #keras-rl
#python #keras #подкрепление-обучение #openai-тренажерный зал #keras-rl
Вопрос:
Я пытаюсь использовать keras-rl для обучения и использования искусственного интеллекта для игры, написанной на C с привязками к Python. Я впервые использую keras-rl, и я нахожу, что его ожидания расходятся с тем, как реализован игровой интерфейс искусственного интеллекта.
Насколько я понимаю, keras-rl рассчитывает управлять самим обучением с подкреплением через среду тренажерного зала с помощью следующих методов:
def reset(self) -> observation # start a new episode, get first observation
def step(self, action) -> observation, reward, done, info # provide an action, get next observation, etc
Однако приложение C ожидает вызова AI с помощью следующих методов:
def start(self, episode_info) -> None # start a new episode
def select(self, observation) -> action # provide an observation, get back an action
def end(self, reward) -> None # end an episode (with a reward)
Как я могу наилучшим образом согласовать эти два, казалось бы, противоречивых подхода? Нужно ли мне запускать keras-rl в отдельном процессе и заставлять их как-то взаимодействовать?
(Обратите внимание, что приложение позволяет многократно запускать AI с другими AI, которые оно указывает в episode_info, и именно так я планирую отличать обучение от использования.)