Tensorflow Estimator API-早期训练步骤中的验证损失

时间:2019-05-17 14:37:26

标签: python validation tensorflow

我正在尝试使用TF Estimator API来监控培训期间的验证指标。为了调试我的代码,我使用以下命令进行了一些设置:

  • 火车和val集相同,都包含1个样本
  • 用于培训和验证的批量大小均设置为1
  • 学习率设置为0.0,这样网络不会发生任何变化

这样做,我希望训练和验证损失在整个训练过程中是恒定的,并且彼此相等。但是,在Tensorboard中观察到的是:

  • 训练损失的表现符合预期
  • 验证损失在开始时有所不同,逐渐收敛到训练损失的恒定值

train-val loss plot - lr=0.0

我的问题是这种行为是否可以预期,以及使这种行为发生的潜在机制是什么?

我注意到,提高学习率似乎会大大降低这种影响。在下面的图中,除了学习率分别为0.001和0.1之外,其他所有内容都是相同的。

train-val loss plot - lr=0.001

train-val loss plot - lr=0.1(在下一个验证步骤收敛)

所有数字中,火车损失(橙色),val损失(蓝色)

谢谢您的时间!

0 个答案:

没有答案