【发布时间】:2019-03-22 14:48:41
【问题描述】:
我正在训练一个神经网络,在训练开始时,我的网络损失和验证数据的准确性波动很大,但在训练结束时它会稳定下来。我正在降低这个网络的高原学习率。会不会是网络从高学习率开始,随着学习率的降低,准确率和损失都稳定下来了?
【问题讨论】:
标签: machine-learning neural-network
我正在训练一个神经网络,在训练开始时,我的网络损失和验证数据的准确性波动很大,但在训练结束时它会稳定下来。我正在降低这个网络的高原学习率。会不会是网络从高学习率开始,随着学习率的降低,准确率和损失都稳定下来了?
【问题讨论】:
标签: machine-learning neural-network
对于SGD,参数的变化量是学习率和参数值相对于损失的梯度的倍数。
θ = θ − α ∇θ E[J(θ)]
它采取的每一步都将处于次优方向(即稍微错误),因为优化器通常只看到一些值。在训练开始时,您相对于最优解,因此梯度 ∇θ E[J(θ)] 很大,因此每个次优步骤对您的损失和准确率都有很大影响.
随着时间的推移,随着您(希望)越来越接近最优解,梯度会变小,因此步数会变小,这意味着稍微错误的影响会减弱。每一步的错误越小,您的损失减少越平滑,从而减少波动。
【讨论】: