小批量(Mini-batch)每次训练只喂一小份数据给网络。全喂太慢(full batch),一条一条太不稳(SGD),小批量(通常 32/64/128 条)兼顾速度和稳定性,是现代训练的标准做法。一句话版本# 把训练数据分成小份,每次只用一份来更新参数——兼顾速度和稳定性。 三种方案对比# 方案每次用多少数据优点缺点Full Batch全部数据方向最准太慢,内存装不下SGD(逐个样本)1 条更新最快方向不稳,来回抖动Mini-batch一小批(32/64/128)速度和稳定性的折中需要选 batch_size 为什么 Mini-batch 赢了# 用字帖类比:字帖有 1000 个字。 全练完再调整(full batch):每次调整都很准,但一轮要练完 1000 个字才能改一次——太慢 练一个字就调整(SGD):改得快,但可能被某个特别难的字带偏 每次练 100 个字再调整(mini-batch):不太慢,也不太抖——刚刚好 典型 batch_size# 实践中常用 32、64、128。选择取决于 GPU 内存大小和数据特点。batch_size 太大接近 full batch(慢),太小接近 SGD(抖)。引用本术语的文章从 setTimeout 到 VSync:一篇讲透 Event Loop 的前世今生