Deep learning
The relationship between X and Y is more complex! Machine learning or Deep learning is used when you want to automate this process of finding a functional mapping between inputs and outputs on a large number of examples, thus finding the relationship/pattern which can later be used to make a future prediction to take valuable business decisions. As the complexity of relationship between X and Y increases Deep learning starts to shine!
X and Y can be different! If X is text in English and Y is its corresponding text in French, once you find the pattern between them using Deep learning, what you essentially have is an AI for language translation! The same applies for a variety of X’s and Y’s.
Now imagine X to images of Apples and Oranges, and Y is either 0 (for Apple) or 1 (Orange). Now let’s write a program with explicit logic to distinguish between them. Let’s say explicit programming works for classifying between Apple’s and Oranges.
But how about writing explicit rules to distinguish between Dog breeds!?
- It's a hard problem, in this case, you would let Deep learning do its Magic. You feed the Deep learning code with a large number of example images of different dog breeds and let it find a pattern in them. Later it could use this understanding to be able to predict the breed of new dog images. Hey, there are so many breeds of dogs and these images could look very different? How could it understand this pattern in pixels just with few images and identify the pattern?
We’ll as rightly guessed, it's not possible to generalize the pattern just with few images. You need a lot and lots of data to be able to do this.
How does Deep learning do what it does?
Deep learning uses the concepts of neurons and weights.
- Weights are the edges in the Neural Network, consider them as the tunable knobs. The nodes are the data using which we try to find the pattern between X and Y.
The Learning / Training in Deep learning involves finding values for these tunable knobs called weights so that the functional mapping between X and Y is as accurate as possible. The algorithm used is called as a Model. The entire process of finding values for these knobs are computationally intensive, so you would save these values of weights/knobs, which would be later used to make predictions. This is called the Saved model / Trained model. These values can be later loaded into another program without having to train the model again.
We’ve already seen 5 major aspects in the Deep learning process,
- Data
- The Algorithm / Model.
- Learning / Training
- Prediction
- The trained model.
Reference
Here are some exerts from the Tensorflow official site which gives an amazing explanation about Machine learning