3

我想用 jeff heaton 的 encog 神经网络库来模拟计算机内存。我只是不知道使用什么方法。

我的要求是,有一个内存位置和一个值的字节集合。

location [0000]:byte-data[0101010]
location [0001]:byte-data[0101010]

这些是我传递给神经网络系统的值。

每次内存数据发生变化时,我都试图避免重新训练神经网络。但也许这就是我需要做的。

你会使用什么神经网络技术来完成我想要做的事情?

4

3 回答 3

2

你要做的不是问题,神经网络真的很擅长,因为它们更擅长概括模式,而不是学习它们。但是,您可以使用概率神经网络或常规感知来完成此操作。你对你的问题有点含糊,所以我不得不对我的回答含糊不清。我将假设您的意思是您传入内存数据,然后将其“分类”到内存地址。这样,当您使用监督训练方法训练网络时,您将能够传入与现有项目相似或相同的内存数据,并且网络将为您提供地址。我想你也可以反过来做同样的事情。

如果你使用概率神经网络,你基本上会学习你传递给网络的每一个模式。当然,每次你想存储一个新的内存地址时,你都在向网络中添加一个新节点,这会使事情变得有点低效。已经做了一些工作来减少这个问题,例如,这篇论文(你必须自己实现算法)。也许这种类型的网络在准确地“记住”记忆方面最可靠,同时仍然能够概括结果(使用概率)。缺点是它会占用大量内存。

传统的前馈、反向传播网络(感知器)也应该允许你做这样的事情。但是,您必须小心创建足够的隐藏节点以允许网络正确调用您的所有输入值。这样做当然会导致过度拟合,但听起来您不想概括输入数据,您希望更好地回忆模式。

要解决学习新数据的问题,您只需要让您的网络能够随着时间的推移学习,而不是只学习一次。您将不得不对此进行更多研究,但您需要使用某种在线学习算法。

总之,不要使用神经网络,使用其他类型的算法:p

于 2011-04-27T18:09:12.733 回答
1

Hopfield 神经网络是一种实现联想记忆的简单方法。方便的是,它甚至得到了 Encog 框架的支持。

于 2011-10-16T21:08:25.450 回答
0

不要太非技术性,但我很确定从一堆连接的循环中产生的一系列循环会产生记忆。

每个循环都允许数据循环,下面的每个循环都可以识别、检索或修改内存。

当然,我不确定您将如何诱使网络采用该设计。

于 2011-01-31T01:03:15.297 回答