How can we recover the network state at iteration T

1 view (last 30 days)
I am using a validation set to determine stop training when the validation loss stops decreasing. I have my validation patience as 3. Assuming that my networks stops training when it has surpassed this patience threshold, during the final 3 validation steps of my network would have been overfitting.
As a result, I want to recover the network state at the step that produced the minimum validation loss. Is there a way to do this?
  2 Comments
Roberto
Roberto on 15 Jan 2019
Hi Arjun. I have the same problem. Did you find a solution?
My current solution is keeping track of the best iterations and then re-train the network with the same rng seed and max epoch set in order to stop the training wher the validation loss reached the minimum in the previous training. It's an horrible solution but it's the only way I've found.
Torsten K
Torsten K on 16 Oct 2020
Hi Roberto,
I also have the same problem. Did you find a solution yet? If so, I am very interested how you solved the problem!
Regards
Torsten

Sign in to comment.

Answers (1)

Greg Heath
Greg Heath on 26 May 2018
In the distant past I'm pretty sure that I have checked, by using the error plot, that it is done automatically.
Thank you for formally accepting this answer
Greg.
  2 Comments
Arjun Desai
Arjun Desai on 31 May 2018
Hi Greg, I checked with the Mathworks team, and it seems that this is not the case. In fact, the state pf the network that is accepted is the last state before the training stops.
Greg Heath
Greg Heath on 16 Jan 2019
Edited: Greg Heath on 16 Jan 2019
I have not verified this but I have the feeling that, in the long run, the difference between stopping at minval and minval + 6 for 15% of the data is not significant w.r.t. performance on the entire dataset.
Greg

Sign in to comment.

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!