Предложения по использованию TensorFlow для прогнозирования действий - PullRequest
1 голос
/ 05 июля 2019

В настоящее время я занимаюсь разработкой игры RTS и использую TensorFlow для своего AI.

Мы используем состояние мира (числовые значения, которые представляют текущие ресурсы, единицы и здания) в качестве входных значений и выходных значений в качестве желаемого состояния мира. У нас столько же входов, сколько и выходов. Каждое выходное значение представляет новое значение входных характеристик (например, больше золота, больше крестьян, меньше дерева и т. Д.).

Вот текущая модель, которую мы реализуем в тензорном потоке:

neuralnet = Sequential()
neuralnet.add(Dense(output_dim = 13, init = 'uniform', activation = 'relu', input_dim = 13)) 
neuralnet.add(Dense(output_dim = 13, init = 'uniform', activation = 'relu')) 
neuralnet.add(Dense(output_dim = 13, init = 'uniform', activation = 'sigmoid'))
optimizer = keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=None, decay=0.0);
neuralnet.compile(optimizer = optimizer, loss = 'mean_squared_error', metrics = ['mean_absolute_error', 'mean_squared_error'])

Мы обучаем эту сеть, используя записанные состояния мира, сохраненные в виде снимков с реальных игроков. Мы используем эти снимки в качестве входных данных, а их следующий снимок - в качестве выходных (например, если вход представляет собой снимок n, его выводом будет снимок n + 1). Для тестирования мы используем этот код для симуляции совпадения:

simulation_outputs = []

for i in range(1,100):
    output_pred = neuralnet.predict(initial_state)
    initial_state = output_pred
    denorm_output = sc.inverse_transform(output_pred)
    simulation_outputs.append(denorm_output)

Мы ожидаем, что выходные числа будут (почти) всегда инкрементными, но после достижения нескольких из этих выходов номера начинают стагнировать, пока не достигнут полной остановки. Для этого есть причина? Или это ожидаемое поведение?

Нам нужно знать, какой должен быть лучший способ моделирования сети для выполнения этой задачи и предотвращения прогрессирования матча таким образом.

Любая помощь будет приветствоваться

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...