在训练神经网络时,epoch(周期) 和 iteration(迭代)有什么区别?
计算机/软件
0 280
0

训练多层感知器时,epoch 和 iteration之间有什么区别?

收藏
2021-01-30 10:53 更新 karry •  1758
共 1 个回答
高赞 时间
0

在神经网络术语中:  一个epoch=所有训练示例的一次前向和后向传播。

batch size(批次大小)=一次前向/后向传播中的训练示例数。批处理大小越高,需要的内存空间越多。

 Iteration的数目= 传播的次数,即每次传播使用[batch size]的数目。清晰地说,one pass = one forward pass + one backward pass 。(我们不将前向pass和后向pass计算为两个不同的pass)。

举例:如果你有1000个训练示例,你的batch size 是500,那么将花费两次 Iteration(迭代)来完成一个epoch(周期)。

“batch”一词含混不清,有些人用它来指定整个训练集,有些人用它来指代一次向前/向后传播中的训练示例数(就像我在此答案中所说的那样)。为了避免这种歧义并清楚地使batch与一次前向/后向传播中的训练示例数量相对应,可以使用术语mini-batch。

Via:https://stackoverflow.com/a/31842945/14964791

收藏
2021-01-30 11:17 更新 anna •  2538