Why Training Set accuracy decrease dramatically after stopping the trainNetwork?
显示 更早的评论
After stopping manually trainNetworktrainNetwork, the validation error dropped dramatically:

I tested the Training Set accuracy, and got also about 60%:
predY = classify(net,xTrain);
Any ideas what I'am doing wrong?
4 个评论
Greg Heath
2018-12-30
Four curves and none of them labelled ??
Sergy Stepura
2018-12-30
Don Mathis
2019-1-23
What is your network architecture? Does it contain dropoutLayers and later BatchNormlization layers?
Sergy Stepura
2019-2-1
编辑:Sergy Stepura
2019-2-4
回答(1 个)
Don Mathis
2019-2-8
0 个投票
Maybe your minibatch size is too small. The accuracy drop may be due to batchnormalization layers getting finalized, during which time the mean and variance of the incoming activations of each batchnorm layer are computed using the whole training set. If those full-batch statistics don't match the minibatch statistics very well, the finalized batchnorm layers will not be performing a very good normalization.
3 个评论
Sergy Stepura
2019-2-8
编辑:Sergy Stepura
2019-2-8
Don Mathis
2019-2-11
You could try increasing the batch size iteratively to see whether that fixes the problem. I would try exponentially increasing: 1000, 2000, 4000, 8000, etc. Or you can just try the largest amount that will fit in your GPU memory right away.
Don Mathis
2019-2-11
Also: Why does your plot show "Iterations per epoch: 1"? Were you using miniBatchSize=30000 in that run?
What are you passing to trainingOptions()?
类别
在 帮助中心 和 File Exchange 中查找有关 Deep Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
