Encog(Javaのバージョン3.0および3.1)ニューラルネットワークフレームワークを研究しており、ニューラルネットワークトレーニングでLevenberg–Marquardtアルゴリズムを試してみたいと思います。ただし、私の実際のニューラルネットワークは非常に複雑で(数百の入力ニューロンを特徴とします)、単一のネットワーク(数万から136に単純化しています)ではなく、Levenberg–Marquardtでトレーニングできるようです( 2 GiBをJVM専用にする間、十分なメモリ)。しかし、単純な(3つの入力ニューロンのみ)ネットワークを使用して単純な合成タスクを試すと、非常に優れたパフォーマンスを発揮します。
問題は、Levenberg-Marquardtアルゴリズムを使用して特定のサンプルセットを使用して特定のネットワークをトレーニングするためにEncogが必要とするメモリの量をどのように見積もることができるかということです。2 GiBに収まる最大の複雑さをどのように推測できますか(実際のマシンには4がありますが、JVMは2を超える割り当てができないようです)。