在看计算机视觉面经:如果神经网络效果不好时,可以思考的角度——batch size是否合适?
核心思想:batch size太大 -> loss很快平稳,batch size太小 -> loss会震荡(需要理解mini-batch)
根据吴恩达深度学习笔记中的内容总结mini-batch梯度下降法的作用和原理
Batch 梯度下降与 mini-batch梯度下降
使用batch梯度下降法时,每次迭代你都需要遍历整个训练集,可以预期每次迭代成本都会下降,所以如果成本函数J是迭代次数的一个函数,它应该会随着每次迭代而减少,直至逐渐趋于平稳,如果J在某次迭代中增加了,那肯定出了问题,也许你的学习率太大。
使用mini-batch梯度下降法,每次迭代只需要遍历m(0~n)个训练集,如果你作出成本函数在整个过程中的图,则并不是每次迭代都是下降的,特别是在每次迭代中,你要处理的是X({t})和Y({t}),如果要作出成本函数J({t})的图,而J({t})只和X({t}),Y({t})有关,也就是每次迭代下你都在训练不同的样本集或者说训练不同的mini-batch,如果你要作出成本函数J的图,你很可能会看到这样的结果,走向朝下,但有更多的噪声,
所以如果你作出J^({t})的图,因为在训练m