深度学习基本思想

Deep learning basic thoughts

我试图了解深度学习的基础知识,最后通过 deeplearning4j 阅读了一点。但是,我并没有真正找到答案:训练性能如何与训练数据量成比例?

显然,代价函数总是依赖于所有的训练数据,因为它只是对每个输入的平方误差求和。因此,我想在每个优化步骤中,都必须考虑所有数据点。我的意思是 deeplearning4j 具有数据集迭代器和 INDArray,其中数据可以存在于任何地方,因此(我认为)不会限制训练数据的数量。不过,这不就意味着训练数据量与梯度下降中每步的计算时间直接相关吗?

DL4J 使用迭代器。 Keras 使用生成器。还是一样的想法——你的数据是分批进来的,并用于 SGD。所以,小批量很重要,而不是你拥有的数据总量。

从根本上说它不会(尽管您的里程可能会有所不同)。您必须针对您的问题研究正确的架构。添加新的数据记录可能会引入一些新功能,这些功能可能很难用您当前的体系结构捕获。我总是安全地质疑我的网络的容量。重新训练您的模型并检查指标是否下降。