Как обработать несколько входов в C ++ для искусственной нейронной сети

Как C ++ обрабатывает несколько входов для искусственной нейронной сети в режиме реального времени?

Я предполагаю, что это без использования всплеска нейронной сети, но более традиционной (то есть просто базовой нейронной сети, как описано здесь)

http://www.ai-junkie.com/ann/evolved/nnt1.html

Возможно ли это в мире реального времени? Я думал, что нужно будет обрабатывать либо каждый вход по отдельности (что всегда будет приводить к одному и тому же результату, а следовательно, и дилемме), либо получать определенное количество входов за порог времени, а затем обрабатывать их сразу …

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

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

0

Решение

Ваш вопрос не совсем понятен, но я постараюсь ответить. 🙂

Вы можете увидеть ANN (Искусственная нейронная сеть) как частный случай адаптивных фильтров.

Диаграмма для общего AF

Есть три основных элемента:

  1. последовательность входов х (н).
  2. Параметрический фильтр переменных. В этом случае фильтр представляет собой ИНС, а параметры — веса нейронов.
  3. Обновить алгоритм который обновляет параметры фильтра в соответствии с ошибкой между желаемым фактическим выходом. В ANN наиболее часто используемый алгоритм обновления Алгоритм обратного распространения.

В ANN есть два шага:

  • Шаг обучения. Это сложная часть. Вы начинаете со случайных весов нейронов. У вас есть последовательность входов и их желаемых выходов, и вы запускаете ANN с включенным алгоритмом обновления. Когда ошибка ниже определенного порога, вы можете сказать, что ваш ANN обучен. Этот шаг обычно делается не в сети (не в режиме реального времени).

  • Шаг выполнения. У вас есть обученный ИНН. Теперь просто положить по порядку вход в него и использовать выход. Обычно это быстрая операция, и ее можно выполнять в режиме реального времени (если вы это имеете в виду).

Теперь … что вы имеете в виду для «нескольких входов одновременно»? Прежде всего, стандартные компьютеры могут выполнять очень небольшое количество операций одновременно, стандартный ПК имеет 4/8 ядер, поэтому может выполнять почти 4-8 операций. однажды. Это число слишком мало для всех реальных приложений ANN.

Вы сказали:

что кто-то делает с несколькими экземплярами одного и того же ввода? Обработать это дважды?

Ответ да. «Шаг выполнения» настолько быстр, что нет причин не делать этого. В «Шаге обучения» дублированные входы могут быть удалены до начала обучения (потому что входы обучения известны априори). Так что в этом нет проблем. 🙂

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]