批量
实际计算梯度时,并不是对所有数据的损失
L
L
L计算梯度,而是把所有数据分成一个一个的批量(batch)。遍历所有批量的过程称为一个回合(epoch),数据分为批量时,还会进行随机打乱(shuffle)。
在有并行计算的情况下,小的批量跟大的批量运算的时间没有太大的差距。除非大的批量非常大才会显示出差距。但是一个回合需要的时间,小的批量比较长,大的批量反而是比较快的。所以从一个回合需要的时间来看,大的批量是比较有优势的。而小的批量更新的方向比较有噪声,大的批量更新的方向比较稳定。但是有噪声的更新方向反而在优化的时候有优势,而且在测试的时候也会有优势。所以大的批量跟小的批量各有优缺点,批量大小是需要去调整的超参数。
动量
动量法是另外一个可以对抗鞍点或局部最小值的方法。
动量法是参考了真实的物理世界里一个球如果从高处滚下来,就算滚到鞍点,因为惯性的关系,他还是会继续往前走。如果球的动量足够大,其甚至翻过小坡继续往前走。