05 January 2018

Beginner’s Guide to Artificial Intelligence, Machine Learning, Neural Network and Deep Learning (Part 2/2)


This article is in continuation to my previous article. You can read that post here.
Artificial Neural networks (ANN) and Neural Networks (NN), is another approach to teach computers to think, decide and decipher the environment like humans. This approach is synonymous to our understanding of human brain (biology): interconnections among neurons. NN are typically visualized as systematic interconnection of neurons, which exchange data or messages among each other. These connections have weights (numbers) that is updated based upon experience, thereby making NN adaptive to inputs and capable of understanding and learning.
Hence, this approach works on probability: based upon input, it gives recommendations or predictions with a certain confidence level. A feedback mechanism enables learning. Hence, by feedback, it understands if its recommendations/predictions are correct or incorrect, and consequently, updates the approach it undertakes for the future event. For example, it can say with 80% confidence that an image is a cat’s image, 10% confidence that it is a leopard’s image, 6% confidence that it is a cheetah and so on – and then the feedback mechanism of the network architecture tells NN if it is correct or incorrect.
Because of the high computation intensity required to run even the most basic neural networks, it was not commercially feasible and not practical. The advent of GPUs in this field is promising and we hope to see some results in near future. The advantage of pursuing NN is that it retains the advantages of machines over humans like speed, lack of bias and accuracy while trying to mimic human brain.
Once we have a basic understanding of NN, let us now shift our focus to Deep Learning. Deep Learning refers to NN that are many layers deep. Deep Learning is deep because of the structure and architecture are ANNs. When NN was conceptualized, they were just two layers deep and I just mentioned earlier, it was computationally not feasible to build large networks. With GPUs, it is possible to build NN with 10+ layers.
Therefore, in deep learning, layers of neurons are stacked on top of each other. The job of lowest layer is to take inputs in the form of text, images, sound etc. Each neuron, then, stores some info about the data elements they encounter. Now, at the above layer, a more abstract version of the data is transmitted. Hence, the higher the layer, the more abstract you learn.
The best use case of ANN is extraction of features from images without any human intervention. Feed ANN an image and it will compute features like colors distribution to something like if a cat is running or sitting. The only requirement of such computation is training of ANNs, which require massive data.
With Big Data sources like Twitter, Facebook, etc. we have data corpus not available 2 or 3 decades back. Still, the challenge lies in cleaning and processing of data into right format, which can be fed to the machine learning algorithms.
I sincerely want to thank Michael Copeland and Bernard Marr (@bernardmarr) for shaping my thoughts on AI over the months.
{The examples used in the above blog are a bit far-fetched and ahead of the current time. They are provided to draw parallelism from the real word and easy understanding.}

No comments:

Post a Comment