我正在研究 Encog(Java 版本 3.0 和 3.1)神经网络框架,并想在我的神经网络训练中尝试 Levenberg-Marquardt 算法。然而,我的实际神经网络非常复杂自然(具有数百个输入神经元),而不是单个(我已经从数万个简化到 136 个)网络似乎可以用 Levenberg-Marquardt 训练(说没有足够的内存,而我将 2 GiB 专用于 JVM)。但是当我尝试使用简单(只有 3 个输入神经元)网络的简单合成任务时,它的表现非常好。
问题是如何估计 Encog 使用 Levenberg-Marquardt 算法用特定样本集训练特定网络所需的内存量?我怎么能猜出 2 GiB 中可以容纳的最大复杂度是多少(实际机器有 4 个,但 JVM 似乎无法分配超过 2 个)?