нейронные сети в реальном времени


Короче говоря: возможно ли, чтобы нейронные сети реагировали на пользовательский ввод в реальном времени?

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

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

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

Отсюда мой вопрос: Можно ли увеличить скорость обучения нейронных сетей, чтобы они могли реагировать на ввод пользователя достаточно быстро, чтобы пользователь мог почувствовать происходящие изменения? Или существуют различные подходы к улучшению обучающего ИИ на основе действий пользователя в реальном времени?

1 2

1 ответ:

Ну, на фундаментальном уровне вопрос таков: "Да, можно очень быстро манипулировать нейронными сетями."Даже с большими NNs вы принципиально имеете дело с обновлением набора чисел с плавающей запятой, что вряд ли является проблемой для современного оборудования.

Итак, в теле вашего вопроса Вы спрашиваете о скорости обучения, но опять же, на фундаментальном уровне мы все еще говорим об алгоритмах с плавающей точкой: теперь более сложные, чтобы включить ваше правило обучения, но все еще вероятно намного быстрее, чем человеческое восприятие.

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

Когда вы говорите, что используете газ для генерации NN-Весов, это я подозреваю, что вы говорите о больших наборах данных и сложном тестировании, чтобы создать "лучший" набор сущностей на основе NN. Итак, возможно ли сделать все это во время человеческого восприятия? Это значительно сложнее, особенно потому, что решение, которое начинает иметь смысл, распределяет вычисления между несколькими машинами (например, Hadoop), но это начинает определенно попадать в область секунд, а не миллисекунд.