我正在训练seq2seq模型,因为seq2seq模型的默认设置大约有一百万个句子的自定义平行语料库。 以下是输出日志,如教程中所述,已超过350k步。我看到斗车困惑突然显着增加,整体列车困难在很长一段时间内始终保持在1.02,同时学习率初始化为0.5但现在显示约0.007,因此学习率也显着下降,同时系统的输出并不令人满意。 如何知道是否达到了纪元点,是否应该停止并重新配置参数调整和优化器改进等设置?
global step 372800 learning rate 0.0071 step-time 1.71 perplexity 1.02 eval: bucket 0 perplexity 91819.49 eval: bucket 1 perplexity 21392511.38 eval: bucket 2 perplexity 16595488.15 eval: bucket 3 perplexity 7632624.78 global step 373000 learning rate 0.0071 step-time 1.73 perplexity 1.02 eval: bucket 0 perplexity 140295.51 eval: bucket 1 perplexity 13456390.43 eval: bucket 2 perplexity 7234450.24 eval: bucket 3 perplexity 3700941.57 global step 373200 learning rate 0.0071 step-time 1.69 perplexity 1.02 eval: bucket 0 perplexity 42996.45 eval: bucket 1 perplexity 37690535.99 eval: bucket 2 perplexity 12128765.09 eval: bucket 3 perplexity 5631090.67 global step 373400 learning rate 0.0071 step-time 1.82 perplexity 1.02 eval: bucket 0 perplexity 119885.35 eval: bucket 1 perplexity 11166383.51 eval: bucket 2 perplexity 27781188.86 eval: bucket 3 perplexity 3885654.40 global step 373600 learning rate 0.0071 step-time 1.69 perplexity 1.02 eval: bucket 0 perplexity 215824.91 eval: bucket 1 perplexity 12709769.99 eval: bucket 2 perplexity 6865776.55 eval: bucket 3 perplexity 5932146.75 global step 373800 learning rate 0.0071 step-time 1.78 perplexity 1.02 eval: bucket 0 perplexity 400927.92 eval: bucket 1 perplexity 13383517.28 eval: bucket 2 perplexity 19885776.58 eval: bucket 3 perplexity 7053727.87 global step 374000 learning rate 0.0071 step-time 1.85 perplexity 1.02 eval: bucket 0 perplexity 46706.22 eval: bucket 1 perplexity 35772455.34 eval: bucket 2 perplexity 8198331.56 eval: bucket 3 perplexity 7518406.42 global step 374200 learning rate 0.0070 step-time 1.98 perplexity 1.03 eval: bucket 0 perplexity 73865.49 eval: bucket 1 perplexity 22784461.66 eval: bucket 2 perplexity 6340268.76 eval: bucket 3 perplexity 4086899.28 global step 374400 learning rate 0.0069 step-time 1.89 perplexity 1.02 eval: bucket 0 perplexity 270132.56 eval: bucket 1 perplexity 17088126.51 eval: bucket 2 perplexity 15129051.30 eval: bucket 3 perplexity 4505976.67 global step 374600 learning rate 0.0069 step-time 1.92 perplexity 1.02 eval: bucket 0 perplexity 137268.32 eval: bucket 1 perplexity 21451921.25 eval: bucket 2 perplexity 13817998.56 eval: bucket 3 perplexity 4826017.20
这什么时候会停止?
答案 0 :(得分:1)
看起来你的开发和火车数据之间存在差异:
全球步374600学习率0.0069步时1.92困惑1.02
eval:bucket 0 atplexity 137268.32
您的训练困惑是1.02 - 该模型基本上是完美的训练收到的数据。但是你的开发困惑是巨大的,模型根本不适用于开发组。它在早期的时代看起来如何?我怀疑有一些不匹配。也许火车和开发人员的标记化是不同的?也许你加载了错误的文件?也许原始翻译模型中的存储桶大小不适合您的开发数据?如果不了解更多细节,很难说。
关于何时停止:原始翻译模型具有无限的训练循环,因为它具有大的数据集和容量,并且可以在数周的训练中继续改进。但是当它不再提高时,它也降低了学习率,所以如果你的学习率非常低(在你的情况下似乎如此),那么你就可以停止这个明确的信号。