"Configuring neural networks is difficult because there is no good theory on how to do it"

I was struggling to think of a blog post today and then I remembered a quote I saw during my internship. This quote I must give credit to Jason Brownlee and his great blog https://machinelearningmastery.com/. During my internship I was given a project to implement a deep learning solution for fraudulent entry in to restricted offices. This was a really interesting project which I was excited about however this was my first experience in dealing with an emerging technology or anything machine learning related. This resulted in a really steep and interesting learning curve. However I want to talk about some of the struggles I faced dealing with an emerging technology for the first time.
I quickly learned that my approach to learning and research had to be altered. My problem was building a Convolutional Neural Network paired with a Recurrent Neural Network to give a binary output of yes or no as to whether an entry in to an office was fraudulent or not. As this was such a bespoke problem, I quickly learned Stack Overflow was not able to help me anymore. I had to change my method of learning to looking through research papers which were often wordy and involved a long process to get to the core of what information I actually needed. Another great quote I found “Neural networks are kind of like a mysterious black box magic function whose use only become apparent after wading through hundreds of academic papers.” However slowly but surely I managed to get a grasp of various similar solutions to different problems and started to implement smaller solutions for myself.

Everyone wants to get in to AI as it’s a really exciting prospect in the field of Technology. However it is difficult to get a good understanding of how to configure neural networks and work specific problems/datasets. There isn’t a WikiHow or a YouTube tutorial you can follow to figure out the problem. Every dataset provides different problems. Every classification provides different results. It can result in a trial and error method of trying to get results. Even when you get to a point where you are making progress, processing can become an issue. For example I had to process about 10 hours of footage on a basic work laptop. This resulted in long training times which hindered my flow of understanding and tweaking the network to provide better results.

Another problem with Machine Learning is the rapid pace it is developing at. New updates, changes and developments happen on a day to day basis. I am constantly seeing a new latest development on AI in the news. This is really exciting but as a student developer it can be difficult to keep up. If it is not something I can work on every day then quickly I will find myself left out of date with the latest developments.
Having said all this, I really enjoyed my experience in developing and researching deep learning and came up with an effective solution to the problem statement. It was a unique experience to engage with an emerging technology early in my development career. Hopefully I will get the chance to work with this technology again whether it be in University, work or a personal project. I would enjoy the chance to enhance my skills in a really exciting technology. I also must give credit to Sakunthala for her great blog on neural networks. Check it out here


Comments