Neural nets are expected to be more computation intensive algorithms. However, I am pretty sure that this 21 hours can be reduced.
- I am not sure whether the person here has used any back propagation, which should reduce the time to convergence.
- There are libraries like NVIDIA CUDA, which allow you to run neural nets using GPU, which reduces the time required for these computations significantly. You can try them for deep neural nets.
- I have heard people use Torch Lua for Neural nets very widely. Google, FB, Hinton’s lab, all use a version of LUA. You can give that a try as well.
Now, coming to the question, why do we use Neural nets?
Because their performance is just far better than any other algorithm in a lot of use cases. For example, voice recognition and image recognition, see the best results and efficiencies with use of Neural nets only.
Also, you have to remember that the result of the competition and use of image / voice softwares in life are both evaluated on accuracy - so even if the accuracy comes at higher computational costs, you will go ahead with them.