实际工程中使用批量和动量可以对抗鞍点或局部最小值。
批量:
在计算梯度的时候不会用所有数据计算损失。类比我们考试复习时,一个单元一个单元的知识点输入,所有单元都输入就是一整个轮回。而这一个单元用深度学习的术语来说就是批量(batch)。遍历所有批量就是一个回合(epoch)。
使用全批量的数据来更新参数的方法叫做批量梯度下降法(BGD),在下降的梯度上引入随机噪声,叫做随机梯度下降法(SGD)。
相对而言,大的批量更新比较稳定,小的批量梯度方向存在一定的噪声,有噪声的梯度反而可以帮助训练。
动量:
如果一个球从高处滚下来,由于惯性它会继续往前走,如果动量足够大,甚至可以翻越小坡继续走。这就是动量。简单些理解,在高处下落的球在滑落到局部最低的坡之后会继续往高处越,假如当前的高处有一个小坡,球还是可以越过这个小坡到达下一个最低点。