随机梯度下降增加了成本函数

时间:2018-05-15 22:43:53

标签: machine-learning neural-network gradient-descent

在神经网络中,梯度下降查看整个训练集以计算梯度。成本函数在迭代中减少。如果成本函数增加,通常是因为错误或不适当的学习率。

相反,随机梯度下降计算每个训练样本的梯度。我想知道成本函数是否可能从一个样本增加到另一个样本,即使实现是正确的并且参数调整得很好。我感觉成本函数的异常增量是可以的,因为梯度跟随单个样本的最小化,这可能与整个系统的收敛方向不同。

随机梯度下降是否预期成本函数的增量?

3 个答案:

答案 0 :(得分:0)

理论上我们被教导如果模型没有过度拟合或欠拟合,则梯度下降会随着时间的推移而降低。尽管如此,在实践中并非完全正确。在更真实的优化问题中,您会注意到成本函数实际上非常嘈杂。它会有很多高峰,看到实际的下降趋势变得困难。为了查看趋势,您必须计算移动平均线,以便信号变得更清晰,并且您可以看到成本函数是在减少还是在增加。希望这可以帮助。

答案 1 :(得分:0)

  • 嘈杂的收敛性。损失函数的变化通常是随机梯度下降的结果。

  • 尝试使用批量大小显着的Minibatch梯度下降。损失图变得平滑,因为预计来自不同图像的平均梯度会在权重空间中朝向最佳方向。

答案 2 :(得分:0)

随机梯度下降可通过计算输出节点处的误差梯度并通过学习速率<1的网络反向传播这些误差来对训练数据进行批量迭代。这是仅在批次子集,而不是整个训练集。权重空间的变化很可能会减少批量损失中的错误(实际上只要学习率足够小,就可以保证这样做),但这并不意味着它将在整个训练过程中减少损失函数组。无法保证在整个训练集中权重空间的单一步骤将改善总损失-这完全取决于数据。

绝对有可能,权衡空间的一个步骤将以总误差为代价(有效地过度拟合数据的一个子集)来改善批次损失指标,但是当我们在所有批次的训练样本中重复这一步骤时,关于聚集误差,它倾向于朝正确的方向移动。但是,这取决于训练速率-如果训练速率太高,则网络可能会继续在丢失函数中“反弹”,而不会逐渐收敛。如果它太低,那么收敛可能会很慢。

(建议使用优化器,例如Adam,它会动态调整学习率来为您管理此折衷方案)。