深度学习详解:基于李宏毅老师“机器学习”课程
上QQ阅读APP看书,第一时间看更新

3.2 批量和动量

实际上在计算梯度的时候,并不是对所有数据的损失计算梯度,而是把所有的数据分成一个一个的批量(batch),如图3.7 所示.每个批量的大小是 ,即带有笔数据.每次在更新参数的时候,取出 笔数据用来计算出损失和梯度更新参数.遍历所有批量的过程称为一个回合(epoch).事实上,在把数据分为批量的时候,还会进行随机打乱(shuffle).随机打乱有很多不同的做法,一个常见的做法是在每一个回合开始之前重新划分批量,也就是说,每个回合的批量的数据都不一样.

图3.7 使用批量优化