Как C ++ обрабатывает несколько входов для искусственной нейронной сети в режиме реального времени?
Я предполагаю, что это без использования всплеска нейронной сети, но более традиционной (то есть просто базовой нейронной сети, как описано здесь)
http://www.ai-junkie.com/ann/evolved/nnt1.html
Возможно ли это в мире реального времени? Я думал, что нужно будет обрабатывать либо каждый вход по отдельности (что всегда будет приводить к одному и тому же результату, а следовательно, и дилемме), либо получать определенное количество входов за порог времени, а затем обрабатывать их сразу …
опять же, что кто-то делает с несколькими экземплярами одного и того же ввода? Обработать это дважды?
Я спрашиваю об этом, потому что я смотрю на нейронного бота, который, как мне кажется, использует обычную нейронную сеть, но я пытаюсь понять ANN, прежде чем углубиться в него, и не уверен, как ANN обрабатывает несколько входов перед обработкой целевого вывода ( с).
Ваш вопрос не совсем понятен, но я постараюсь ответить. 🙂
Вы можете увидеть ANN (Искусственная нейронная сеть) как частный случай адаптивных фильтров.
Есть три основных элемента:
В ANN есть два шага:
Шаг обучения. Это сложная часть. Вы начинаете со случайных весов нейронов. У вас есть последовательность входов и их желаемых выходов, и вы запускаете ANN с включенным алгоритмом обновления. Когда ошибка ниже определенного порога, вы можете сказать, что ваш ANN обучен. Этот шаг обычно делается не в сети (не в режиме реального времени).
Шаг выполнения. У вас есть обученный ИНН. Теперь просто положить по порядку вход в него и использовать выход. Обычно это быстрая операция, и ее можно выполнять в режиме реального времени (если вы это имеете в виду).
Теперь … что вы имеете в виду для «нескольких входов одновременно»? Прежде всего, стандартные компьютеры могут выполнять очень небольшое количество операций одновременно, стандартный ПК имеет 4/8 ядер, поэтому может выполнять почти 4-8 операций. однажды. Это число слишком мало для всех реальных приложений ANN.
Вы сказали:
что кто-то делает с несколькими экземплярами одного и того же ввода? Обработать это дважды?
Ответ да. «Шаг выполнения» настолько быстр, что нет причин не делать этого. В «Шаге обучения» дублированные входы могут быть удалены до начала обучения (потому что входы обучения известны априори). Так что в этом нет проблем. 🙂
Других решений пока нет …