Demystifying Machine Intelligence
Some people are worried that computers are going to take over the world, there has been recent heated debates among prominent figures (see Zuckerberg vs Musk). It doesn’t matter which camp you belong to, early form of AI (Artificial Intelligence) is rapidly increasing its presence in our lives whether you ask Siri for directions, post goofy snapchats or watch the recommendations on Netflix, have you wondered how machines are able to do it? Let’s explore how!
The subfields of AI as per current research can be divided into following categories:
Classical Artificial Intelligence
AI is the field of computer science where we try to model agents that behave in some intelligent way. For example, what steps a robot should take to navigate a maze, or what is the best route to a destination in a mapping application (e.g. Google Maps). Traditionally computer scientists tried to implement clever algorithms to solve these problems with varying degree of success. Such algorithms were extremely task oriented, means they were only good for the task they were programed for. Deep Blue, a computer program that beat the then, human chess champion Gary Kasparov in 1996 is an example of such a system. But as we started acquiring more data and the problems themselves became more complex, new class of general purpose algorithms were developed termed as Machine Learning systems.
Teaching Machines (learning by example)
ML algorithms differed from classical AI techniques in such a way that instead of humans telling a computer how to do a task, they figured it out themselves. A simple example of this would be: a computer learning which emails are spam and which are not. For this learning, the machine needs some pre-answered examples like a large set of emails already marked as spam or not spam. Then humans or machine recognized which characteristics (features) of the email make it more likely to be spam (for example certain words or phrases “Free offer!”, “Bank transfer from dead relative”). Then given any new email the ML system can make a decision based on its learning.
Certain general-purpose tasks were identified for these systems which include Classification (spam example above), Clustering and Regression. Clustering means grouping together items that are similar in some sense, like organizing documents into groups as per their topics (i.e. news, legal, academic papers etc.). Regression comes straight from statistics where a relation between multiple variables is identified. For example, if the temperature today is 20° C, what is the chance of rainfall.
Most useful complex automatic systems today use a combination of these basic general-purpose algorithms, for instance when snapchat applies a mask on your face it first needs to detect what is a face and what is not. Such a classifier will surely consist of lower level features (i.e. eye detector, distance between nose and mouth etc.) which are usually clustered to make sense for a computer.
One particular algorithm for the general-purpose tasks, Artificial Neural Network (ANN) is modeled on biological brain. A biological brain has a large number of neurons that are very highly interconnected. A single neuron takes some input signals (i.e. light intensity, electrical impulses from other neuron) and transforms these signals slightly and pass them on as output. The end result, is realization in the mind of a particular thing, i.e. “what is it I am looking at?” This behavior is simulated by an ANN where a single neuron is usually a mathematical function (i.e. log) and it is connected to many such neurons and machine tries to learn the correct interconnection of these units, so as to produce correct output.
These ANNs were pretty limited till the start of this decade, particularly because of limited processing capabilities of computers (you could simulate only a few layers of neurons on the machines at that time). But in 2009 Google demonstrated the use of GPUs (Graphical/General Purpose Processing Units) to implement ANNs. It was pretty fascinating that GPUs which until then were mainly used for gaming and video processing were used for ML tasks. GPUs are very effective at ML tasks because they consist of many small processing units, which can efficiently model large number of neurons, so allowing for more layers to be added to the Neural Network, which in turn increased their accuracy. The more layers you add the deeper your Neural Network is considered to be, this type of learning is called Deep Learning. These systems are very efficient in visual tasks such as object recognition and sometimes even outperform humans.
Currently most of the state of the art AI systems use Deep Learning. It has become so popular that even mobile phones now have dedicated ANN processors. For example, the new iPhone X will have a Neural Engine specifically designed to perform ML and visual tasks like unlocking by looking at your face. Most upcoming self-driving cars also use this technology to make sense of the environment around them and take appropriate actions.
Where to now?
AI is a rapidly evolving field. Today we have Snapchat, Driver-less cars and Siri. These technologies would have been un-fathomable just 50 years ago, who knows what the next 50 will hold for us. I for one, am pretty excited for the future and am sure we will have mind blowing technologies.