To Deep Or Not Too Deep?


It was June 2015. I had just started my Masters in Bioengineering and Robotics at Tohoku University a couple of months ago and I was searching for a thesis topic. One day, my professor called me to his office. When I went there, he asked me straight away: "Fahad! are you familiar with Deep Learning?" I replied: "Sir I have heard of this term but I do not have much knowledge about it. I do have some background in Machine Learning and Neural Networks so I think I can make the step up to Deep Learning". My professor gave me a sharp look, and said:"Ok good! start studying it and give me a presentation about it next month".

So basically I had a month to learn the basics of Deep Learning. I started going through paper after paper on Deep Learning. The more I studied, the more impressed I became. Deep Learning was presenting solutions for some big and well known problems and challenges in Robotics and Computer Vision. It was magic. It was poetry. And I was really excited about learning all that. I was ready for my presentation.

Soon enough, the day of my presentation arrived. My professor asked me to come to his office and I started going through my slides using his office projector. During the presentation, I noticed that my professor didn't look impressed. But then again hardly anything impresses him. He just sat back, listened attentively to what I was saying but he wasn't nearly as excited as I was about the results and videos I showed him in the presentation. But then again why should he be? I had learnt about these exciting developments just last month. He would have known this all along for much much longer. When the presentation finished, my professor just nodded at me and said "Thank you for your effort. But we are not going to use Deep Learning in our project. You need to find some other topic". My jaw just dropped. I was stunned. I was really excited about the prospects of Deep Learning and my professor just categorically said that we are not gonna use it? Why did he ask me to study it then? Why did I spend a month researching something that was not part of my professor's plan??

In Japan, you can't really question the decision and the wisdom of your professor. So I just shook my head and went about my business. Soon enough, I found another topic for my thesis. I did my MS on that topic and I am still working on it in my PhD. But something really interesting happened in that time. In 2016, our lab hired a new Associate Professor. This Professor came from a Computer Vision background and he gave some people projects on Deep Learning in our lab. Now I was more confused. Why are these people allowed to work on Deep Learning and I was not? Every year dozens and dozens of papers were getting published on Deep Learning. It became main stream. A hot topic. And all the while I kept thinking about the what ifs. Had I missed a trick there? Had I already missed the bus for Deep Learning? 

But gradually I started seeing the other side of the picture as well. After having a few more discussions with my professor, I started to understand his point of view. He complained about the sheer number of Deep Learning papers and said that it is fast becoming a tool for lazy people. It's a one-size-fits-all solution for all their problems. They do not spend the time and energy to understand the problem, gain scientific insights and come up with a genuine solution. Rather, they just start hammering every problem they see with their Deep Learning hammer and hope to get a solution. If they get good results, they write a paper. If not, they look to find another problem and start hammering that with Deep Learning. 

I had to admit that my professor had a point. Deep Learning does not give you the insight and the understanding of the problem, and the method of finding the solution. Our solution is largely dependent on the data that has been given to us. The system mostly remains a black box to us.  Ironically, Deep Learning is not letting people learn the things deeply. 

I think that scientific developments should be repeatable and reproducible. We should be able to extrapolate from our given data with some degree of confidence. And we should have a clear understanding of our system model. Only then we can improve that model in the future. Only then we will have the understanding that if something worked, then why has it worked? and if something failed, then why has it failed? This question of "why" is probably the most important question in scientific research.  

Would I ever use Deep Learning in my future projects? I would say Yes. But I ll be careful about its usage. I would never use it in any project where a human being will interact with the robot. And I would prefer the solutions that are more robust to noisy data, give repeatable results and are reproducible.