Epoch vs迭代训练神经网络时

在训练多层感知器时,时代与迭代有什么区别?


在神经网络术语中:

  • 一个时代 =所有训练实例的一个前进传球和一个后传球
  • 批量大小 =一个前进/后退过程中的训练示例数。 批量越大,您需要的内存空间就越多。
  • 迭代次数 =通过次数 ,每次通过使用[批量大小]示例数量。 要清楚的是,一次传球=一次前锋传球+一次后卫传球(我们不会将前锋传球和后传球作为两次不同传球)。
  • 例如:如果您有1000个培训示例,并且您的批量大小为500,则需要2次迭代才能完成1个纪元。

    FYI:权衡批次大小与训练神经网络的迭代次数


    术语“批”是不明确的:有些人用它来指定整个训练集,有些人用它来指代一次前进/后退传球中训练实例的数量(就像我在这个答案中所做的那样)。 为了避免歧义,并明确批次对应于一次前进/后退过程中的训练示例数量,可以使用术语小批量


    时代和迭代描述了不同的事情。


    时代

    一个时代描述了算法看到整个数据集的次数。 所以,每次算法已经看到数据集中的所有样本时,历元就已经完成。

    迭代

    迭代描述了一批数据通过算法的次数。 在神经网络的情况下,这意味着正向传球和反传球。 所以,每当你通过神经网络传递一批数据时,你就完成了一次迭代。


    一个例子可能会使它更清晰。

    假设您有一个包含10个示例(或样本)的数据集。 批量大小为2,并且您已指定您希望算法运行3个时期。

    因此,在每个时代,你有5个批次(10/2 = 5)。 每个批次都通过算法,因此每个历元有5次迭代。 既然你已经指定了3个时期,你总共有15次迭代(5 * 3 = 15)进行训练。


    许多神经网络训练算法涉及将整个数据集的多个呈现给神经网络。 通常,整个数据集的单个呈现被称为“时代”。 相比之下,一些算法一次只向一个案例提供数据给神经网络。

    “迭代”是一个更为通用的术语,但是由于您与“时代”一起询问了这个术语,因此我假设您的来源是指将单个案例呈现给神经网络。

    链接地址: http://www.djcxy.com/p/32069.html

    上一篇: Epoch vs iteration when training neural networks

    下一篇: Role of Bias in Neural Networks