3.最优化问题
1.小批量数据梯度下降
在大规模的应用中(比如ILSVRC挑战赛),训练数据可以达到百万级量级。如果像这样计算整个训练集,来获得仅仅一个参数的更新就太浪费了。一个常用的方法是计算训练集中的小批量(batches)数据。例如,在目前最高水平的卷积神经网络中,一个典型的小批量包含256个例子,而整个训练集是多少呢?一百二十万个。这个小批量数据就用来实现一个参数更新
思考
这个方法之所以效果不错,是因为训练集中的数据都是相关的。要理解这一点,其实实际情况中,数据集肯定不包含重复图像,那么小批量数据的梯度就是对整个数据集梯度的一个近似。因此在实践中通过计算小批量数据集梯度可以实现更快的模型收敛,并频繁进行参数更新。
小批量数据的大小是一个超参数,但是一般并不需要通过交叉验证来调参。它一般由存储器的限制来决定的,或者干脆设置为同样大小,比如32,64,128等。之所以使用2的指数,是因为在实际中许多向量化操作实现的时候,如果输入数据量是2的倍数,那么运算更快。
本文来自博客园,作者:TCcjx,转载请注明原文链接:https://www.cnblogs.com/tccjx/p/16600443.html