为什么神经网络验证损失和准确性首先会波动?

Kev*_*vin 4 machine-learning neural-network

我正在训练一个神经网络,在训练开始时,我的网络损失和验证数据的准确性波动很大,但在训练结束时它会稳定下来。我正在降低该网络的高原学习率。网络是否以高学习率开始,随着学习率的降低,准确率和损失都趋于稳定?

准确性 损失

jms*_*usa 5

对于SGD,参数的变化量是学习率和参数值相对于损失的梯度的倍数。

\n\n
\n

\xce\xb8 = \xce\xb8 \xe2\x88\x92 \xce\xb1 \xe2\x88\x87 \xce\xb8 E[J(\xce\xb8)]

\n
\n\n

它采取的每一步都将朝着次优方向(即稍微错误),因为优化器通常只看到一些值。在训练开始时,你相对于最优解,因此梯度 \xe2\x88\x87 \xce\xb8 E[J(\xce\xb8)] 很大,因此每个次优步骤对你的损失和准确性。

\n\n

随着时间的推移,当你(希望)越来越接近最优解时,梯度会变小,因此步长也会变小,这意味着稍微错误的影响会减弱。每一步的错误越小,你的损失就会更平稳地减少,从而减少波动。

\n