版本:

  • TensorFlow:1.8.0

  • TensorBoard:1.8.0

我做了什么:

我正在训练一个带有tf.estimator.DNNClassifier的不 balancer 数据集的模型 . 当我进行两次训练时,都是从一个全新的开始(AKA,每次训练都没有检查点)开始 same data . 我得到了两个非常不同的结果,如下图所示 .
1st-train
2nd-train
几点评论:

  • 两个培训过程之间没有区别(没有代码或数据变化),它们都是从一个新的开始开始的 .

  • 训练数据集大小约为100M .

  • 两个训练结果均来自6个时期 . (每个结果在谷歌ml引擎上花费25美元 . )

从两张图片中我们可以看出:

  • 第一次训练没有学会6个时代 .

  • 第二次训练学习(AUC超过0.6) .

  • 虽然两次训练之间AUC值的差异仅为0.1(0.6 - 0.5),但它的含义有很大不同( a-random-guessa-non-random-guess ) .

问题:

  • 为什么会发生这种情况:相同的训练数据却得到完全不同的结果?