10 Tips to Improvise your Neural Network Model
N MAAJID K.
AI Frameworks Engineer at Fujitsu Research | Product | Deep Learning | x86 | ARM | Pytorch | TensorFlow | ONNXRuntime | OpenVINO
A lot of my friends tell me they have tried using Neural Network model on the data they have been working on and most of the times they don't get the desired accuracy or the performance they wanted.
Lot of new folks getting into this stream think ANN has got all the brains to get the task done. Yes it has but it needs reshaping from your end to see some light at the end of the tunnel.
So, this for folks who want to get the best out of their Neural Network model. This is applicable for raw data as well as on convolutions for Image and video data.
Hera are some very common issues we see with an Neural Network:
-> Sometimes neural networks fail to converge due to low dimensionality.
-> Even a small change in weights can lead to significant change in output. sometimes results may be worse.
-> The gradient may become zero . In this case , weight optimization fails.
-> Data over-fitting.
-> Time complexity is too high. Sometimes algorithm runs for days even on small data set.
-> We get the same output for every input when we predict.
So here's what you can do.
The solution for all your problems.
10 Tips you should generally try out.
1. Increase hidden Layers
2. Change Activation function
3. Change Activation function in Output layer
4. Increase number of neurons
5. Weight initialization
6. More data
7. Normalizing/Scaling data
8. Change learning algorithm parameters
9. Deep learning for auto feature generation
10. Misc
-> You can try with a different number of epoch and different random seed.
-> Check for over-fitting.
Various parameters like dropout ratio, regularization weight penalties, early stopping, etc;
can be changed while training neural network models.
-> To improve generalization on small noisy data, you can train multiple neural networks
and average their output or you can also take a weighted average. There are various
types of neural network models and you should choose according to your problem.
Your brain does not manufacture thoughts. Your thoughts shape neural networks.