使用tf.train.batch 进行增量训练,为啥使用同样的数据和模型及参数得到的效果越来越差?

新手上路,请多包涵

在已经训练好的模型的基础上做增量训练,用的batch train, 想要看下训练的模型效果,我用同样的数据,理论上讲,同样的数据,同样的模型和参数,得到的效果应该一样--第一次训练的acc已经接近1,再用同样的数据增量训练,acc应该也是接近, 但实际上效果越来越差,acc只有0.8, 如果再增量第二次第三次, acc越来越小。  
但是如果不用batch train, 直接读到内存里,acc就是1,可是数据量较大时,这种方法就不适用了。

阅读 7.3k
1 个回答

两种可能,一种可能是TF的计算问题,TF计算Accuracy是按batch算,有可能你batch train最后一个batch刚好错误多
另一种可能是全部数据载入是直接求全局最优解,二batch train是在batch上做优化,容易陷入局部最优出不来,没非batch效果好。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进