这篇文章简要介绍什么是 mini-batch 梯度下降算法及其特点
在训练网络时,如果训练数据非常庞大,那么把所有训练数据都输入一次神经网络需要非常长的时间,另外,这些数据可能根本无法一次性装入内存。人们在实践中发现并证明了另外一种方法,这种方法可以解决这些问题,更快地完成训练。
假如我们有 m = 500000 对训练数据 X Y,把这些数据按照每组 1000 对分成 500 组,即 X 被分成:
- X{1} = 0 ... 1000
- X{2} = 1001 ... 2000
- ...
- X{500} = 499001 ... 500000
Y 的分法和 X 相同,但要保证 X 和 Y 的对应关系不变。
这就将 m 对训练数据分成了 500 组 mini batches,每组都有 1000 对数据,我们可以这样形容第 t 组训练数据数据:X{ t},Y{ t}X\{t\}, Y\{t\}X{ t},