在神经网络中,梯度下降查看整个训练集以计算梯度。成本函数在迭代中减少。如果成本函数增加,通常是因为错误或不适当的学习率。
相反,随机梯度下降计算每个训练样本的梯度。我想知道成本函数是否可能从一个样本增加到另一个样本,即使实现是正确的并且参数调整得很好。我感觉成本函数的异常增量是可以的,因为梯度跟随单个样本的最小化,这可能与整个系统的收敛方向不同。
随机梯度下降是否预期成本函数的增量?
答案 0 :(得分:0)
答案 1 :(得分:0)
嘈杂的收敛性。损失函数的变化通常是随机梯度下降的结果。
尝试使用批量大小显着的Minibatch梯度下降。损失图变得平滑,因为预计来自不同图像的平均梯度会在权重空间中朝向最佳方向。
答案 2 :(得分:0)
随机梯度下降可通过计算输出节点处的误差梯度并通过学习速率<1的网络反向传播这些误差来对训练数据进行批量迭代。这是仅在批次子集,而不是整个训练集。权重空间的变化很可能会减少批量损失中的错误(实际上只要学习率足够小,就可以保证这样做),但这并不意味着它将在整个训练过程中减少损失函数组。无法保证在整个训练集中权重空间的单一步骤将改善总损失-这完全取决于数据。
绝对有可能,权衡空间的一个步骤将以总误差为代价(有效地过度拟合数据的一个子集)来改善批次损失指标,但是当我们在所有批次的训练样本中重复这一步骤时,关于聚集误差,它倾向于朝正确的方向移动。但是,这取决于训练速率-如果训练速率太高,则网络可能会继续在丢失函数中“反弹”,而不会逐渐收敛。如果它太低,那么收敛可能会很慢。
(建议使用优化器,例如Adam,它会动态调整学习率来为您管理此折衷方案)。