Diving into Deep Learning

Kelvin Arellano
3 min readJul 19, 2021
Photo by Alina Grubnyak on Unsplash

In my attempts to understand deep learning I have come to separate it into overlapping circles. At the outer most circle there is artificial intelligence. This is the broadest category because it can be applied to anything that mimics human behavior. Next there is the middle circle of machine learning and the machine learning label can be applied to anything that is trying to achieve a.i with algorithms trained and refined through data. Lastly is the inner most circle deep learning which is what I’ll be focusing on today. This label can be applied to anything that is inspired by the human brain, by using artificial neural networks.

What I initially had trouble understanding was the difference between deep learning and machine learning. Often times I would use different methods to find the optimal algorithm for my projects and wasn’t sure at what point this could be considered deep learning. To try to better illustrate the difference between the two I’ll use an example. Say you were trying to teach a machine how to differentiate between cherries and tomatoes. You could come up with different parameters to try and make the sorting as accurate as possible, but with deep learning the features themselves are picked by the algorithm. This comes with the stipulation that you’ll be able to feed much more data into the algorithm than normal.

Photo by Pietro Jeng on Unsplash

On to a more technical explanation, a neural network is made up of input layers, hidden layers and output layers. In the example I gave you could say that each pixel on the picture of either the tomato or cherry would be feed into the input layer. Then it is transferred from the input layer into the first hidden layer over connecting channels. The channels themselves have values attached to them making them weighted channels. Each neuron on each layer has a value associated with it called a bias, the bias is then added to the weighted sum of inputs and put through an activation function, think a sigmoid, binary, or linear types, once it is passed through that function it will activate the neuron thus moving it to another weighted channel and hidden layer, or not activate it thus shifting to another pixel.

This process continues until the second to last layer which will either classify the image as a tomato or cherry. But this process can be applied to much more then just classifying fruit if that wasn’t obvious.

It’s used in customer support to train chat bots, in medical application to detect anomalies in screenings, and even self driving cars to help make better decisions on the road.

Photo by ThisisEngineering RAEng on Unsplash

Now I mentioned that we would receive a prediction from the model output layer, but how would we be able to test if the model is any good or not? Well the tried and true method of taking a subset of data that we already know the results of and then hiding those results while testing the data on it still works well. Trying to lower the mean squared error or root mean squared error more specifically.

So far this is what I have discovered and would like to end here for now. In the future I’d like to dive deeper into deep learning and provide my own code examples over what I’ve found and done.

--

--