Memory 神经网络/机器学习记忆存储
我目前正在尝试建立一个用于信息提取的神经网络,我对神经网络的(基本)概念非常熟练,除了一个似乎让我困惑的概念。这可能很明显,但我似乎找不到关于它的信息 神经网络在哪里/如何存储它们的记忆?(/机器学习) 网上有很多关于神经网络和机器学习的信息,但它们似乎都跳过了记忆存储。例如,在重新启动程序后,它在哪里找到继续学习/预测的内存?许多在线示例似乎无法“保留”内存,但我无法想象这对于实际/大规模部署来说是“安全的” 我有一个困难的时间措辞我的问题,所以请让我知道,如果我需要详细一点。 谢谢Memory 神经网络/机器学习记忆存储,memory,machine-learning,neural-network,Memory,Machine Learning,Neural Network,我目前正在尝试建立一个用于信息提取的神经网络,我对神经网络的(基本)概念非常熟练,除了一个似乎让我困惑的概念。这可能很明显,但我似乎找不到关于它的信息 神经网络在哪里/如何存储它们的记忆?(/机器学习) 网上有很多关于神经网络和机器学习的信息,但它们似乎都跳过了记忆存储。例如,在重新启动程序后,它在哪里找到继续学习/预测的内存?许多在线示例似乎无法“保留”内存,但我无法想象这对于实际/大规模部署来说是“安全的” 我有一个困难的时间措辞我的问题,所以请让我知道,如果我需要详细一点。 谢谢 编辑:
编辑:-跟进以下答案
每个神经网络都有与其相关联的边权重。 这些边缘权重在a组的训练过程中进行调整 神经网络 这正是我正在努力的地方,我该如何看待这个二级记忆?
这像公羊吗?那似乎不合逻辑。。我之所以问这个问题,是因为我没有在网上遇到一个定义或指定这个二级内存的例子(例如,在更具体的东西中,比如XML文件,甚至可能是一个巨大的数组)。我希望对模型(神经网络)设计的讨论与对实现的讨论分开,解决了耐久性等数据要求 一个特定的库或框架可能有一个关于持久存储的特定答案,但如果您是从头开始开发自己的库或框架,那么这取决于您自己 例如,为什么不将经过训练的权重和拓扑写入文件中?YAML或XML之类的东西可以作为一种格式
此外,当我们讨论状态/存储和神经网络时,您可能会对研究感兴趣。每个神经网络都会有与其相关的边权重。这些边权重在神经网络的训练过程中进行调整。我想你的怀疑是关于存储这些边权重。好的,这些值分别存储在辅助存储器中,以便它们可以保留下来供将来在神经网络中使用。存储器存储是特定于实现的,而不是算法本身的一部分。考虑需要存储的内容可能比考虑如何存储更有用 考虑一个三层多层感知器(完全连接),它在输入层、隐藏层和输出层中分别有3、8和5个节点(在本讨论中,我们可以忽略偏差输入)。然后,通过两个矩阵来表示所需权重的合理(且有效)方法是:输入层和隐藏层之间的权重的
3x8
矩阵和隐藏层和输出层之间的权重的8x5
矩阵
对于本例,需要存储权重和网络形状(每层的节点数)。有很多方法可以存储这些信息。它可以是XML文件或用户定义的二进制文件。如果使用python,则可以将两个矩阵保存到二进制
.npy
文件中,并在文件名中对网络形状进行编码。如果您实现了该算法,那么如何存储持久数据将取决于您。另一方面,如果您使用的是现有的机器学习软件包,它可能有自己的I/O功能来存储和加载经过训练的网络。我认为您的方法是错误的。神经网络不是我们在计算机上看到的内存转储。没有特定内存块所在的地址。所有神经元一起确保给定的输入导致特定的输出
让我们把它和你的大脑比较一下。当你品尝糖时,舌头的味蕾是输入节点,它读取化学信号并将电信号传输给大脑。然后,大脑利用各种电信号组合来确定味道
没有查找表。没有主要和次要记忆,只有短期和长期记忆。这可以通过两个步骤来回答: