Do you remember AI, The American science fiction drama directed by Steven Spielberg? The movie played in the late 22nd century and featured the story of David, a childlike android programmed with the ability to love. We are not yet in the 22nd century, but it is undeniable that machines are beginning to build human-like capabilities. And frankly speaking, AI has already proven to be better than humans in many aspects. I still remember in 1997, IBM's Deep Blue defeated chess champion, Garry Kasparov. At the time, it was some sort of comfort to me when I couldn't beat my computer in a chess game. How did it work?The main algorithm used by Deep Blue was very simple. It was actually a variation of an approach described by the mathematician Claude Chanon in 1950. From a given position, the computer evaluates all the possible moves. Then, for each possible move, it evaluates the possible responses from the opponents, and so on and so forth. And it continues doing this evaluation for as many rounds as it can depending on the processing speed and the time available. Once this is done, the computer simply chooses the move with the best prospects. So, the kind of artificial intelligence displayed by Deep Blue was possible thanks to the massive increase in processing power and that's why Kasparov actually won against
Deep Blue in 1996, but lost in 1997 when the machine doubled its processing power. The continuous increase in processing power naturally led to capabilities beyond chess play. In any case, processing power alone is not enough to build an AI. We need at least two other ingredients. First, we need a way to capture and accumulate inputs from the world the artificial intelligence is interacting with. Second, we need to find the right algorithms and techniques to process this input in order to build the right outcome. This last point is a tricky one. And before tackling it, let's make sure we have a clear understanding of what we mean by artificial intelligence. Let's try a simple definition for a start. AI is a system that is able to exhibit traits of human intelligence like reasoning, learning from experience or interacting with humans in natural language. This definition feels intuitive, but it is a bit ambiguous. Mainly because, what we can consider intelligent, changes over time. Is it intelligent to calculate the square root of pi in few milliseconds? Is it intelligent to play chess like Deep Blue did? Is it intelligent to speak like Siri? The answers to those questions are subjective. And are not the same today compared to 20 years ago. To make it slightly more objective, we can distinguish two types of AI: general AI and narrow AI. General AI is typically what you see in the movies, a complete system that is indistinguishable from a human. It knows or can learn anything humans can learn, has emotions, even has a purpose in life. Narrow AI is less ambitious. It is when a system exhibits human-like intelligence traits on a specific field or task. AlphaGo knows how to play the game, but can't write a cake recipe. Watson can answer general knowledge questions and has even trained to detect cancer, but it can't tell you how he feels about your daughter's drawing. Not yet, at least. As I said, today, we don't know how to build general AI. But we became very good at building narrow AI. This is because the individual ingredients of narrow AI as we described them earlier were ready. Sufficient processing power, lots of available data, and last but not least, the right set of techniques and algorithms. Now, what are those algorithms that allow us to build intelligent machines? First of all, we know it should not be an explicit procedure. For example, one that describes all the criteria to recognize a bird in a picture. Try to write such a list, you'll see how difficult it is. So, on the contrary, we need to write algorithms capable of looking at thousands of bird pictures and infering from that some implicit way to recognize a bird. It doesn't need to be explainable, as long as it works when tested on new sets of pictures. This is what we call machine learning. One popular way of writing such machine learning algorithms today was inspired by the way our brains work. It is appropriately called neural networks. To describe it in a very simple way, the algorithm takes the input data, let's say a picture, feeds it into artificial neurons that work together to recognize, for example, that there is a Shama bird in the picture. Neural networks are a scalable technology. You can combine many layers of neurons in what we called deep learning algorithms, and that to achieve more complex functions. For example, to estimate arrival time for millions of Uber rides based on city traffic history, or come up with accurate sentence translation by learning from all the web pages out there that are available in multiple languages. This field of research is a promising one. We don't know if it will take us from narrow AI to general AI, but we have already reached a point where machines can interact through decent natural language processing, where they can decode human face and understand their emotion, and even write a script or a piece of music. This should help you realize that the capability of a AI are vast and not all business possibilities have been explored yet.