在训练神经网络时,经常会遇到epoch和iterations,它们分别代表了什么意思
0 1114
0
该提问暂无详细描述
收藏
2021-01-05 18:16 更新 天明 •  1292
共 1 个回答
高赞 时间
0

在神经网络的术语中:

一个epoch=所有训练实例的一次前向传播和一次反向传播
batch大小=一次向前/向后传播的训练示例数。batch越大,需要的内存空间就越多。
Iteration迭代次数=遍数,每次都使用[batch size]大小的示例数。确切地说,一次传播=一次前向传播+一次反向传播(我们不把前向和反向算作两次不同的传播)。

举个例子:假如你有1000个训练示例,并且batch大小为500,那么需要2次迭代才能完成1个epoch。
术语“Batch”是模棱两可的:有些人用它来指定整个训练集,有些人用它来表示一次向前/向后传播中的训练示例数(就像我在这个答案中所做的那样)。为了避免这种模糊性,并明确地表示batch对应于一次向前/向后传播中的训练示例数,可以使用术语“mini batch”。

收藏
2021-01-05 18:27 更新 Lisa •  1800