I am from a traditional computer vision background and is recently trying to learn deep learning. One thing that confuses me a lot is when the trained network is not performing to the desired accuracy, what are the logical ways to tune the network to increase the accuracy?
I've heard some of my friends said "get more data", or "randomly try adding one more layer and see if the result is better" or "just train longer and see what happens". I found these approach very heuristic and illogical.
In traditional computer vision you could break the problem down into sub-stages and logically find out where the error source is and attempt to fix it. For example, we can find out that the essential matrix is bad because there is not enough feature matches, hence we can loosen the threshold a little bit to increase the number of matches.
I tried looking at the intermediate output of a deep neural network but I am unable to infer anything meaningful. Hence I can only treat this giant deep neural network as a blackbox and randomly tuning the network hoping the results will luckily improve.
I would appreciate any expert input on how to identify why the current deep neural network is not performing well, and what are the logical ways to improve it.