zoukankan      html  css  js  c++  java
  • Deep Learning Terminologies

    Deep Learning Terminologies

    batch

    full batch

    已知在梯度下降中,需要对所有样本进行处理过后然后走一步(梯度更新),那么如果我们的样本规模的特别大的话效率就会比较低。假如有 5000 万个样本的话,走一轮迭代就会非常的耗时。这个时候的梯度下降叫做 full batch。

    mini-batch

    所以为了提高效率,我们可以把样本分成等量的子集。 例如我们把 100 万样本分成 1000 份, 每份 1000 个样本, 这些子集就称为 mini batch。然后我们分别用一个 for 循环遍历这 1000 个子集。 针对每一个子集做一次梯度下降。 然后更新参数的值。接着到下一个子集中继续进行梯度下降。

    这样在遍历完所有的 mini batch 之后我们相当于在梯度下降中做了 1000 次迭代。 我们将遍历一次所有样本的行为叫做一个 epoch。在 mini-batch 下的梯度下降中做的事情其实跟 full batch 一样,只不过我们训练的数据不再是所有的样本,而是一个个的子集。 这样在 mini-batch 我们在一个 epoch 中就能进行 1000 次的梯度下降,而在 full batch 中只有一次。 这样就大大的提高了我们算法的运行速度。

  • 相关阅读:
    第一天
    在代码层面描述软件的可测试性
    Datax环境搭建
    质量属性中六个常见的属性场景--以淘宝网为例
    01.《架构漫谈》阅读笔记
    我的第一个MVC程序(SpringMVC的环境搭建与实例运用)
    1.15学习进度总结
    1.14学习进度总结
    1.13学习进度总结
    1.12学习进度总结
  • 原文地址:https://www.cnblogs.com/fengyubo/p/9256271.html
Copyright © 2011-2022 走看看