我从某个地方读到,如果你选择的批量大小是2,那么训练会更快.这个规则是什么?这适用于其他应用吗?你能提供参考文件吗?
从算法上讲,使用较大的迷你批处理可减少随机梯度更新的方差(通过获取迷你批处理中梯度的平均值),而这又可以使您采用较大的步长,这意味着优化算法将使进度更快。
但是,为达到目标的特定精度而完成的工作量(就梯度计算的次数而言)将是相同的:如果小批量大小为n,则更新方向的方差将减少一个因子。 n,因此该理论允许您采用n倍大的步长,因此单步步距将使您获得与n步SGD大致相同的精度,并且最小批量为1。
至于tensorFlow,我没有找到您的肯定的证据,这个问题已经在github上关闭了:https : //github.com/tensorflow/tensorflow/issues/4132
请注意,将图像大小调整为2的幂是有意义的(因为合并通常是在2X2窗口中完成的),但这完全是另一回事。