【发布时间】:2013-07-29 23:20:59
【问题描述】:
我正在训练我的神经网络对图像中的某些内容进行分类。我裁剪 40x40 像素的图像并将其分类为某个对象与否。所以它有 1600 个输入神经元、3 个隐藏层(500、200、30)和 1 个必须为 1 或 0 的输出神经元。我使用 Flood 库。
我不能用QuasiNewtonMethod 训练它,因为它在算法中使用了一个大矩阵,它不适合我的记忆。所以我使用GradientDescent 而ObjectiveFunctional 是NormalizedSquaredError。
问题在于,通过训练它会溢出权重,并且神经网络的输出对于每个输入都是 INF 或 NaN。
我的数据集也太大(CSV 格式时大约 800mb),我无法完全加载它。所以我用 1000 个实例创建了许多 InputTargetDataSets,并将其保存为 XML(Flood 的默认格式),并在每个随机打乱的数据集上训练一个 epoch。但是当我只在一个大数据集(10000 个实例)上训练它时,它也会溢出。
为什么会发生这种情况,我该如何预防?
【问题讨论】:
标签: machine-learning overflow neural-network