Я заинтересован в написании определенного программного обеспечения, которое использует машинное обучение и выполняет определенные действия на основе внешних данных.
Однако я столкнулся с проблемой (это всегда было мне интересно) -
Как можно написать программное обеспечение для машинного обучения, которое выдает заказы или последовательности заказов ?
Проблема в том, что, насколько я понимаю, нейронная сеть получает кучу входных данных и «отзывает» выходные данные на основе результатов предыдущих тренингов. Мгновенно (ну, более или менее). Поэтому я не уверен, как «выдача заказов» может вписаться в эту систему, особенно когда действия, выполняемые системой, влияют на систему с определенной задержкой. Я также немного не уверен, как это можно тренировать.
Примеры такой системы:
1. Шутер от первого лица вражеский контроллер. Насколько я понимаю, можно реализовать контроллер нейронной сети для бота, который будет переключать стратегии поведения ботов (ну, назначать им приоритеты) на основе некоторых входных данных (вероятно, что-то вроде здоровья, боеприпасов и т. Д.). Но я не вижу способа сделать контроллер более высокого порядка, который мог бы выдавать последовательность команд типа «иди туда, затем поверни налево». Кроме того, действия бота будут влиять на переменные, которые контролируют поведение бота. То есть стрельба уменьшает боеприпасы, падение с высоты уменьшает здоровье и т. д.
2. Автоматизированный рынок трейдера. Безусловно, можно создать систему, которая будет пытаться предсказать следующую рыночную цену чего-либо. Однако я не понимаю, как можно создать систему, которая выдала бы приказ на покупку чего-либо, следила за трендом, а затем продавала его обратно, чтобы получить прибыль / покрыть убытки.
3. Водитель автомобиля. Опять же (насколько я понимаю) можно создать систему, которая будет поддерживать желаемый вектор движения на основе данных о положении / скорости / крутящем моменте и результатов предыдущей тренировки. Однако я не вижу способа заставить такую систему (научиться) выполнять последовательность действий.
т.е. как я понял, нейронная сеть технически является матрицей - вы даете ей ввод, она производит вывод. Но как насчет генерации последовательностей действий, которые могут изменить среду, в которой работает программа?
Если такие задачи не совсем подходят для нейронных сетей, что еще можно использовать?
P.S. Я понимаю, что вопрос не совсем ясен, и я подозреваю, что мне не хватает некоторых знаний. Поэтому я буду признателен за некоторые советы (например, книги / ресурсы для чтения и т. Д.).