我想用jeff heaton的encog神经网络库模拟计算机内存。我只是不知道该用什么方法。
我的要求是,有一个内存位置和一个值的字节集合。
location [0000]:byte-data[0101010]
location [0001]:byte-data[0101010]这些是我传递给神经网络系统的值。
我试图避免每次记忆数据发生变化时重新训练神经网络。但也许这就是我需要做的。
你会使用什么神经网络技术来完成我正在尝试做的事情?
发布于 2011-04-28 02:09:13
你要做的并不是什么问题,神经网络真的很擅长,因为它们更擅长泛化模式,而不是学习它们。但是,您可以使用概率神经网络或常规感知来实现这一点。你对你的问题有点含糊其辞,所以我不得不含糊其辞地回答。我假设您的意思是传入内存数据,然后将其“分类”到一个内存地址。这样,当您使用监督训练方法训练网络时,您将能够传递与现有项目相似或相同的内存数据,网络将为您提供地址。我想你也可以反过来做同样的事情。
如果你使用概率神经网络,你基本上会学习你传递给网络的每一个模式。当然,每次您想要存储一个新的内存地址时,都会向网络中添加一个新的节点,这会使事情变得有点低效。已经做了一些工作来减少这个问题,for example, this paper (你必须自己实现算法)。也许这种类型的网络在准确地“记住”记忆的同时仍然能够概括结果(使用概率)是最可靠的。缺点是它将是内存密集型的。
传统的前馈、反向传播网络(感知器)也应该允许你这样做。但是,您必须小心创建足够的隐藏节点,以允许网络正确地调用所有输入值。这样做当然会导致过度拟合,但听起来你不想对输入数据进行泛化,你想更好地回忆模式。
要解决学习新数据的问题,您只需使您的网络能够随着时间的推移而学习,而不是一次学习。您必须对此进行更多的研究,但您需要使用某种在线学习算法。
总而言之,不要使用神经网络,使用其他类型的算法:p
发布于 2011-10-17 05:08:25
Hopfield neural network是实现联想记忆的一种简单方法。方便的是,它甚至得到了Encog框架的支持。
发布于 2011-01-31 09:03:15
不是太技术性,但我非常确定一堆连接的循环产生的一系列循环可以产生内存。
每个循环都允许数据循环,下面的每个循环都可以识别、检索或修改内存。
当然,我不确定您将如何诱使网络纳入这种设计。
https://stackoverflow.com/questions/4575617
复制相似问题