Key Terms in Machine Learning

What are they talking?

Machine learning comes with a big jargon. And Techies enjoy acronyms that make understanding even more difficult. Below are some of the most common terms that people talk about.

AI, NLP, Bots...

There are many terms associated with AI. What exactly do these mean? AI - Artificial Intelligence - is the most generic term. It is the branch of science that attempts to externalize intelligence - the ability to take decisions. Machine Learning is one particular implementation of AI - the only implementation so far. Machine Learning helps machines learn from the environment and use this information gathered by learning. Neural Networks is a particular algorithm used in Machine Learning. The concept of Neural Networks was inspired by the way neurons are laid out in the brain. Hence the name.
NLP or Natural Language Processing is a branch of Machine Learning - mostly implemented using Neural Networks. NLP helps machine learn and work with natural languages. Bots are a product developed for implementation on the field - using NLP. Bots are capable of accepting user input in form of a human language and respond in form of a human language.

Natural Language Processing

There is almost no logic to any language that humans speak. Most of our languages have evolved over time - based on convenience and random acceptance. (Only exception is Sansrit that was formally created and finalized before it could be used). One can never produce an algorithm that can map an English sentence to its meaning. Yet, the mind has absolutely no problem in doing this job! How does it manage this?
NLP is a science of trying to understand the mind's way of understanding a language and producing sentences. Essentially, language cannot work with a point in time sample. That is, a word by itself does not carry much meaning in any languge. Its meaning is in relation to the words before it. Recurrent Neural Networks are used to correlate words in relation to previous words.
But, the fact is just a few words is not enough. The meaning of a word is in relation to the sentence, and the sentences before and the events that occured before and the events that happened years ago... that could go trace to the big bang itself! The meaning of anything that we say today can be entirely different in the context of an event in the past.
We have made a huge progress in this domain but it is far from completion. For example, as of today (July 2018), a major question in NLP is how to understand sarcasm or how to guess the hidden meaning behind a statement?

Computer Vision

We have all seen Facebook identifying faces and even people in the photographs. How does it manage that? We have gadgets can recognize the person irrespective of the many constraints. They have already beaten humans in this task. How do they manage this? Image processing was infact one of the first candidates for machine learning problems. A simple image of 4096x4096 pixels has 2^24 pixels. That is 3 * 2^24 bytes of data. Comparing two images would mean comparing 3 * 2^24 bytes with 3 * 2^24 bytes - that would mean 9 * 2^48 bytes. And for facebook to compare all the images that it has, this could be really huge. How do they manage it?
Well how do we compare two images? Do we compare pixels? Certainly not. Yet we can identify a person in one corner of an image and compare it with a person in another corner of another image. How does that work? As opposed to languages, data in an image is localized. The first thing we identify in an image is the edges. And for identifying edges, we do not need to check the entire image.
Edges are quire localized and do not require processing the entire image at a time. This is done using Convolution Neural Networks - that processes parts of the image at a time.