【问题标题】:Selection of Mini-batch Size for Neural Network Regression神经网络回归小批量大小的选择
【发布时间】:2016-11-10 19:38:08
【问题描述】:

我正在做一个具有 4 个特征的神经网络回归。如何为我的问题确定小批量的大小?我看到人们对计算机视觉使用 100 ~ 1000 批大小,每个图像具有 32*32*3 特征,这是否意味着我应该使用 100 万个批大小?我有数十亿的数据和数十 GB 的内存,所以我没有硬性要求不这样做。

我还观察到使用大小约为 1000 的 mini-batch 使得收敛速度比 100 万的 batch size 快得多。我认为应该是相反的,因为用更大的batch size计算的梯度最能代表整个样本的梯度?为什么使用 mini-batch 会使收敛更快?

【问题讨论】:

    标签: neural-network gradient-descent


    【解决方案1】:

    来自Tradeoff batch size vs. number of iterations to train a neural network:

    来自 Nitish Shirish Keskar、Dheevatsa Mudigere、Jorge Nocedal、Mikhail Smelyanskiy、Ping Tak Peter Tang。关于深度学习的大批量训练:泛化差距和尖锐最小值。 https://arxiv.org/abs/1609.04836:

    随机梯度下降法及其变体是许多深度学习任务的首选算法。这些方法在小批量状态下运行,其中对一部分训练数据(通常是 32--512 个数据点)进行采样以计算梯度的近似值。 在实践中观察到,当使用更大的批次时,模型的质量会显着下降,这可以通过其泛化能力来衡量。已经尝试过一些尝试来调查造成这种情况的原因大批量情况下的泛化下降,但这种现象的确切答案是迄今为止未知的。在本文中,我们提供了充分的数值证据来支持这样的观点,即大批量方法倾向于收敛到训练和测试函数的急剧最小值——并且急剧的最小值会导致较差的泛化。相比之下,小批量方法始终收敛到平坦的最小化器,我们的实验支持一个普遍持有的观点,即这是由于梯度估计中的固有噪声。我们还讨论了几种有助于大批量方法消除泛化差距的经验策略,并以一组未来的研究思路和开放性问题作为结论。

    […]

    缺乏泛化能力是由于大批量方法倾向于收敛到训练函数的尖锐的最小化器。这些最小化器的特点是在 $\nabla^2 f(x)$ 中具有较大的正特征值,并且往往泛化能力较差。相比之下,小批量方法收敛到以 $\nabla^2 f(x)$ 的小正特征值为特征的平面最小化器。我们观察到,深度神经网络的损失函数景观是这样的,即大批量方法几乎总是被具有尖锐最小值的区域所吸引,并且与小批量方法不同,它们无法逃脱这些最小值的盆地。

    […]

    另外,来自Ian Goodfellow 的一些很好的见解 在 Quora 上回复 why do not use the whole training set to compute the gradient? :

    学习率的大小主要受诸如如何 成本函数是弯曲的。您可以将梯度下降视为 对成本函数进行线性逼近,然后移动 沿着那个大概的成本走下坡路。如果成本函数很高 非线性(高度弯曲),那么近似值不会很 非常适合很远,所以只有小步长是安全的。你可以阅读 在深度学习教科书的第 4 章中了解更多信息,关于 数值计算: http://www.deeplearningbook.org/contents/numerical.html

    当你放 小批量中的 m 个示例,您需要进行 O(m) 计算并使用 O(m) 内存,但您减少了梯度中的不确定性 只有 O(sqrt(m)) 的一个因子。换句话说,有递减 将更多示例放入小批量中的边际回报。你可以 在深度学习教科书的第 8 章中阅读更多相关信息 深度学习的优化算法: http://www.deeplearningbook.org/contents/optimization.html

    另外,如果 你想想看,即使使用整个训练集也不是真的 给你真正的渐变。真正的梯度将是预期的 梯度与对所有可能示例的期望, 由数据生成分布加权。使用整个 训练集只是使用了一个非常大的 minibatch 大小,其中大小 您的 minibatch 的数量受到您在数据上花费的数量的限制 集合,而不是您在计算上花费的金额。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-01
      • 2012-03-15
      • 2021-02-06
      • 2012-11-21
      • 1970-01-01
      • 2014-10-10
      • 2021-02-11
      • 2015-07-10
      相关资源
      最近更新 更多