Нейронная сеть TensorFlow как API? - PullRequest
0 голосов
/ 17 мая 2018

Я нахожусь в процессе написания ИИ для игры 2048. В настоящее время я могу извлечь состояние игры из браузера и отправить ходы в игру, но я не знаю, как интегрировать это с TensorFlow.Характер проекта не способствует обучению данных, поэтому мне было интересно, можно ли передать состояние игры, заставить сеть бросить ход, запустить ход, повторить, пока игра не закончится, а затемэто делает обучение?

1 Ответ

0 голосов
/ 17 мая 2018

Это, конечно, возможно и тривиально.Вам нужно будет настроить модель, которую вы хотите использовать, и я предполагаю, что она построена.

С точки зрения взаимодействия с моделью тензорного потока, вам просто нужно собрать данные в массивы для передачи черезfeed_dict свойство sess.run.

Чтобы передать входные данные в tenorflow и получить результат, вы должны выполнить что-то вроде этого:

result = sess.run([logits], feed_dict={x:input_data})

Это выполнит прямой проход, производящийвывод модели без внесения каких-либо обновлений.Теперь вы возьмете results и воспользуетесь ими, чтобы сделать следующий шаг в игре.

Теперь, когда у вас есть результат вашего действия (например, метки), вы можете выполнить шаг обновления:

sess.run([update_op], feed_dict={x:input_data, y:labels})

Это так просто.Обратите внимание, что в вашей модели будет определен оптимизатор (update_op в этом примере), но если вы не попросите его вычислить тензор (как в первом примере кода), обновления не произойдет.Tensorflow - это граф зависимостей.Оптимизатор зависит от выходных данных logits, но вычисление logits не зависит от оптимизатора.

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

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

...