Заказ-выдача нейронной сети? - PullRequest
3 голосов
/ 16 августа 2010

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

Однако я столкнулся с проблемой (это всегда было мне интересно) - Как можно написать программное обеспечение для машинного обучения, которое выдает заказы или последовательности заказов ?

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

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

т.е. как я понял, нейронная сеть технически является матрицей - вы даете ей ввод, она производит вывод. Но как насчет генерации последовательностей действий, которые могут изменить среду, в которой работает программа?

Если такие задачи не совсем подходят для нейронных сетей, что еще можно использовать?

P.S. Я понимаю, что вопрос не совсем ясен, и я подозреваю, что мне не хватает некоторых знаний. Поэтому я буду признателен за некоторые советы (например, книги / ресурсы для чтения и т. Д.).

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Вы можете попытаться напрямую подключить выходные нейроны к контроллерам, например, двигаться вперед, поворачиваться или стрелять в эго-шутер, или заказывать покупки для трейдера.Тем не менее, я думаю, что лучшие результаты достигаются в настоящее время, когда вы позволяете нейронной сети решить одну довольно специфическую подзадачу, а затем «нормальная» программа интерпретирует ее ответ.Например, вы можете позволить нейронной сети создать наложение карты «где я хочу быть», которое бот затем переводит в движения.Нейронная сеть для трейдера может выдавать «сколько мне нужно какой бумаги», которую бот затем переводит в ордера на покупку или продажу.

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

Редактировать: Расширяя это в примерах: когда стреляют в бота эго-шота, он не должен был хотетьтам;когда нужно стрелять в кого-то другого, ему следовало бы быть там еще.Когда трейдер теряет деньги из бумаги, он должен был хотеть их раньше;если он выигрывает, он должен был хотеть этого больше.Этим вещам можно научить.

1 голос
/ 21 ноября 2010

Проблема, которую вы описываете, известна как Обучение усилению . Усиленное обучение - это, по сути, алгоритм машинного обучения (например, нейронная сеть) в сочетании с контроллером. Он использовался для всех упомянутых вами приложений, даже для управления реальными автомобилями .

...