C ++如何实时处理人工神经网络的多个输入?
我假设这不是使用尖峰神经网络,而是更传统的神经网络(即这里描述的基本神经网络)
http://www.ai-junkie.com/ann/evolved/nnt1.html
这在实时世界中是否可行?我原本以为必须单独处理每个输入(这将始终导致相同的输出,因此是dilemna),或者每个时间阈值产生一定数量的输入,然后立即处理它们......
然后,有人对同一输入的多个实例做了什么?处理两次?
我问这个是因为我在看神经机器人,我认为它使用的是普通的神经网络,但是在我钻研它之前我想先了解ANN,并且不确定ANN在处理之前如何处理多个输入目标输出。
答案 0 :(得分:0)
你的问题不是很清楚,但我会尽力回答。 :)
您可以看到ANN(人工神经网络),就像自适应滤波器的特定情况一样。
有三个主要元素:
在ANN中有两个步骤:
培训步骤。这是困难的部分。你从随机神经元权重开始。您有一系列输入及其所需的输出,您可以使用更新算法运行ANN。当误差低于某个阈值时,您可以说您的ANN已经过训练。此步骤通常是离线(不是实时)。
执行步骤。你有训练有素的ANN。现在只需将按顺序输入其中并使用输出。这通常是一个快速的操作,可以实时完成(如果这是你的意思)。
现在..你对“多次输入”的意思是什么?首先,标准计算机一次只能进行非常少量的操作,标准PC具有4/8核心,因此可以一次进行近4-8次操作。对于每个真实世界的ANN应用,这个数字太低了。
你说:
有人对同一输入的多个实例做了什么?处理两次?
答案是是。 “执行步骤”如此之快,以至于没有理由不这样做。在“训练步骤”中,可以在训练开始之前移除重复输入(因为训练输入已知先验)。所以这没有问题。 :)