【问题标题】:Deep learning basic thoughts深度学习基本思想
【发布时间】:2019-11-16 15:42:59
【问题描述】:

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

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

【问题讨论】:

标签: tensorflow machine-learning deeplearning4j


【解决方案1】:

DL4J 使用迭代器。 Keras 使用生成器。还是一样的想法——你的数据是分批出现的,用于 SGD。因此,小批量很重要,而不是您拥有的全部数据量。

【讨论】:

  • 这是否意味着随机梯度下降总是只考虑整个数据的一个子集(批次)?该算法如何确保其权重适合所有训练数据?它只是重复它直到所有批次都适合吗?这些是时代吗?
  • 迭代算法,通过小批量滚动并通过 epoch 迭代调整权重
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2020-03-18
    • 2021-06-17
    • 2021-02-25
    • 2020-06-30
    • 1970-01-01
    相关资源
    最近更新 更多