1
$\begingroup$

I want to implement a neural network on a big dataset. But training time is long (~1h30 per epoch). I'm still in the development process, so I don't want to wait such long time just to have poor results at the end.

This and this suggest that overfitting the network on a very small dataset (1 ~ 20 samples) and reach a loss near 0 is a good start.

I did it and it works great. However, I am looking for the next step of validating my architecture. I tried to overfit my network over 100 samples, but I can't reach a loss near 0 in reasonable time.

How can I ensure the results given by my NN will be good (or not), without having to train it on the whole dataset ?

$\endgroup$
  • $\begingroup$ you should look at other metric than the loss. Maybe presicsion recall, accuracy.... $\endgroup$ – Jérémy Blain Oct 8 '18 at 7:11
2
$\begingroup$

You can try to train it on 1% data, then on 2%, 3%, etc... Then plot it and see if increasing data increases the performance and how it is changing. Not sure if that's correct answer, but at least you can iterate this method pretty fast.

$\endgroup$
1
$\begingroup$

Don't know anything about your dataset, but maybe by using clustering* on it, you can get N "most distinct" examples and train only on them. This obviously will not give you same performance as if network would have seen all examples, but this way at least you will show it "diverse" examples.

*That is, of course, if you have time for that.

$\endgroup$
0
$\begingroup$

How can I ensure the results given by my NN will be good (or not), without having to train it on the whole dataset ?

You can't.

If you're interested in diagnostic techniques for neural networks, read section 2.5 of my Master's thesis

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.