Machine learning 神经网络与批学习

Machine learning 神经网络与批学习,machine-learning,neural-network,deep-learning,Machine Learning,Neural Network,Deep Learning,我是神经网络新手,我想知道什么时候应该降低学习率而不是批量大小 我会理解,如果学习出现分歧,学习率将不得不降低 但是,何时减少或增加批量?我的猜测是,如果损失波动太大,最好减少批量大小?如果增加批量大小,梯度更有可能指向正确的方向,以便(整体)误差减小。特别是与只考虑单个示例后更新权重相比,该示例会导致非常随机和噪声的梯度 因此,如果损失函数波动,您可以同时做两件事:增加批量大小和降低学习率。较大批量的缺点是每次更新的计算成本较高。因此,如果培训时间过长,请查看它是否仍然收敛于较小的批量 你可以

我是神经网络新手,我想知道什么时候应该降低学习率而不是批量大小

我会理解,如果学习出现分歧,学习率将不得不降低


但是,何时减少或增加批量?我的猜测是,如果损失波动太大,最好减少批量大小?

如果增加批量大小,梯度更有可能指向正确的方向,以便(整体)误差减小。特别是与只考虑单个示例后更新权重相比,该示例会导致非常随机和噪声的梯度

因此,如果损失函数波动,您可以同时做两件事:增加批量大小和降低学习率。较大批量的缺点是每次更新的计算成本较高。因此,如果培训时间过长,请查看它是否仍然收敛于较小的批量


你可以读更多或更多的书。(顺便说一句,更适合于不包含特定代码实现的理论问题)

如果增加批量大小,梯度更有可能指向正确的方向,从而(整体)误差减小。特别是与只考虑单个示例后更新权重相比,该示例会导致非常随机和噪声的梯度

因此,如果损失函数波动,您可以同时做两件事:增加批量大小和降低学习率。较大批量的缺点是每次更新的计算成本较高。因此,如果培训时间过长,请查看它是否仍然收敛于较小的批量

你可以读更多或更多的书。(顺便说一句,更适合于不包含特定代码实现的理论问题)

学习的“正确”方法是在梯度下降的每一步中使用所有训练数据。然而,这需要花费一些时间来计算,因为这是一个非常繁重的函数,在大多数情况下,它是由数千个训练示例参数化的

这样做的目的是,当您忽略几个训练示例时,错误函数/权重更新看起来非常相似。这加快了误差函数的计算速度。但是,缺点是使用某些渐变下降步骤可能无法朝正确的方向前进。但在大多数情况下,它应该是“几乎”正确的

因此,基本原理是,即使你没有完全朝着正确的方向走,你也可以在同一时间做更多的步骤,这样就没关系了

小批量的一个常见选择是128或256。最极端的选择通常称为“随机梯度下降”,仅使用一个训练示例

在ML中,尝试不同的值是一个好主意。

正确的学习方法是在梯度下降的每一步中使用所有的训练数据。然而,这需要花费一些时间来计算,因为这是一个非常繁重的函数,在大多数情况下,它是由数千个训练示例参数化的

这样做的目的是,当您忽略几个训练示例时,错误函数/权重更新看起来非常相似。这加快了误差函数的计算速度。但是,缺点是使用某些渐变下降步骤可能无法朝正确的方向前进。但在大多数情况下,它应该是“几乎”正确的

因此,基本原理是,即使你没有完全朝着正确的方向走,你也可以在同一时间做更多的步骤,这样就没关系了

小批量的一个常见选择是128或256。最极端的选择通常称为“随机梯度下降”,仅使用一个训练示例


在ML中,尝试不同的值是一个好主意。

我猜可能会有更多帮助。我投票将这个问题作为离题题结束,因为它应该在数据科学上。SEI猜测可能会有更多帮助。我投票将这个问题作为离题结束,因为它应该在datascience.SE上