批(batch)尺寸,即训练一次网络所用的样本数。
因为训练网络时如果一次把所有的数据都输入网络中计算量过大,所以一般把数据分成若干个批次,一批批把数据传递给网络,并在每一批数据传输后更新网络参数。这样,一方面每一批次中的所有数据共同决定了本次梯度下降的方向,下降起来就不容易跑偏,减少了随机性;另一方面因为一批中的样本数与整个数据集相比小了很多,降低计算量。
1 Iteration 和 Number of Iterations
1次iteration(迭代)就是把batch_size个数据在网络中训练一次。把全部样本数据,按batchsize可以分成了Number of Iterations块。即Numbers of iterations = All datas / batch_size
2 epochs
一次epoch(轮数)就是把所有数据都放在网络中训练一次。epochs是指训练过程中所有数据被“轮”多少次。
3 举例
若训练集有1000个样本且batch_size=10,可知训练完所有数据需迭代iterations100次。若epochs为10,指把所有数据都训练10轮。
4 Batch Size 参数
Batch Size =none | 训练网络时一次把所有的数据输入网络中,只适用于小样本数据库 |
Batch Size =1 | 每次训练一个样本,即在线学习(Online Learning),结果不准确网络难收敛。 |
Batch Size =32 | 一般用批梯度下降法(Mini-batches Learning)选择适合的Batch Size |
有用请点赞哦~