The various domains of Deep Learning

There has been a lot of buzz around Artificial Intelligence (AI) lately, but the majority do not understand the true scope of intelligent systems and the impact of intelligent decision-making on machines.

It is to be understood that AI can be applied to various fields and domains (e.g. sports, finance, healthcare, linguistics and speech, etc.)

Each field requires specific approaches to implement AI. It is much more than what meets the eye.

Under AI, we have the subsection of Machine Learning (ML), where ML has another subsection known as Deep Learning. The difference between ML and DL is that ML can be achieved with minimal hardware requirements and it is usually much easier to train ML models than DL models. Traditional ML classifiers and regressors usually suffice our requirements.

DL, on the other hand, is a power-hungry approach to creating and training our own AI models. It takes a lot of computational resource to create a high quality DL model. Usually, our training is accelerated using either a Graphics Processing Unit (GPU) or Tensor Processing Unit (TPU) which is Google's own accelerating hardware.

To explain how each domain in DL is different in terms of model architecture and training, we must first understand and define our end goal. Let's take an example:

While playing football, you noticed that the attacker usually scores a goal when they are on the left side of the field. In the next shot, can you predict if they will score a goal? This is a classic example of 'Binary Classification' where 'Binary' stands for 'Yes or No' and 'Classification' stands for 'Separating the outcome' which gives us 'Separating the data outputs as yes or no'. In our case, we are trying to predict and separate if our next shot is a goal or not, given the history of the player's goals. When we train a model given certain statistics from the previous data, the model often captures the pattern of the outcome.

Computer Vision

Computer Vision is one of my favourite domains in DL. I really enjoy creating models that can understand and predict on images. I recently built a Pneumonia detector, classifying if the patient has Pneumonia caused by COVID-19, a virus or if it is a bacterial infection. I was fortunate enough to find enough images to train a model that I created to capture the pattern in the images that help the model in identifying the presence of Pneumonia. This is extremely helpful in the healthcare sector as technology will assist doctors as helping hands.

Computer Vision is handled best by Convolutional Neural Networks (CNNs), you can read more about them here: poloclub.github.io/cnn-explainer

CNNs are quite popular in the world of DL, when we need to deal with images

Natural Language Processing

Natural Language Processing (NLP) is one of the most studied and difficult domains of Deep Learning. It has gained a huge following over the years and is studied closely at various top-notch universities and organisations. This domain covers everything from text, speech and translation, etc. There are many applications of NLP, one of which is Google Translate. Even the virtual assistant on your mobile device utilises NLP to process what you speak to them.

NLP is developed using Recurrent Neural Networks (RNNs) which have a different architecture from CNNs. RNNs help the model understand context and provides additional details about the data for better classification.

Time-series forecasting

Did you ever look at the stock-market and wonder what the value will be tomorrow or the day after? Luckily, with approaches in Deep Learning, we can now predict the state of our favourite company's stock value on our own intervals. DL has enabled us to predict where we are headed especially when we are dealing with a stream of data. Not only stock-market prediction, but even sensor data. Let's take a temperature sensor as example. The sensor relays data to a program in small intervals, and the data is a stream flowing in to the program. In this case, our model needs to manage this stream of data and make predictions using them. This can help us piece together a weather forecast application.

Time-series data is best dealt with a medley of Convolutional layers and Recurrent layers. A mix of both layers produces the best effect of capturing the pattern in the data fed to the model.

Right now, these are the fields that have come to my mind and the ones that I have dealt with in the past. In future blog posts, I will add on or even make a part 2 if I can compile further domains. Thanks for reading!

Did you find this article valuable?

Support Shreyas Mocherla by becoming a sponsor. Any amount is appreciated!