The purpose of this post is to help the non-technical understand the term “Artificial Intelligence” as well as related terms like “Machine Learning” and “Deep Learning”.
Since I work in the tech industry, I know our industry’s legendary power to hype a new idea and create new terms. For example, the idea of using off-site computing resources was once known as a Service Bureau – a term that was later supplanted by “ASP” (Application Service Provider), then SaaS (Software as a Service), the Cloud, and so forth. Embedded in these changes in terminology were changes in technology, but for as much as the tech world celebrates the power of individual it has a tendency to jump on the latest bandwagon en masse, which brings us to Artificial Intelligence.
You can’t swing a dead cat in the tech world these days without someone using one (or all) of the following terms:
- Artificial Intelligence
- Machine Learning
- Deep Learning
I’m going to keep things pretty high level here. Let’s get started…
First, before we dive into these terms, let’s consider the word “Algorithm”. Tech companies use algorithms to solve a myriad of computing challenges. Think of an algorithm as you would a recipe: it’s a series of ordered steps to solve a problem. When developing algorithms, developers sometimes think in conditional terms, such as “If This/Then That” (If this condition exists, then these steps must be true). As a matter of fact, you can get your various social media channels working together by downloading an algorithm from IFTTT (If This Than That); tellingly, they refer to their algorithms as “recipes”.
Algorithms are how my company enables you to hover your phone over a check, know what in the image is a check and what is the surface it’s resting on, have the image automatically captured/cleaned/cropped and ultimately deposited with your bank (after a many other steps to make sure the check is “good”).
In short, algorithms enable us to do many of our important, everyday tasks.
The reason it’s helpful to think of algorithms first is because they are created by humans. An algorithm is the result of a developer considering a problem, figuring out the necessary steps to “solve” the problem, programming the solution, and testing to see if it worked (and if it works with all the other software around it). The point is, algorithms are created by humans.
One of the least understood aspects of Artificial Intelligence is how old the field is. In fact, humans have been pursuing it for decades. In effect, AI (as I’ll refer to it henceforth) is the effort to get machines to mimic, and improve upon, human thought. For a fascinating video on the history and promise of AI, I recommend this one from Frank Chen with Andreessen Horowitz. I have used some of Frank’s presentation in laying out the taxonomy and ideas in this post.
AI has been through several boom-and-bust cycles. Cool demos led to big hype, followed by inevitable disappointment and drying up of funding (known in the industry as “AI Winters”). Although there have been several AI winters, we are entering an AI Spring that appears to be different than the many springs before it. Why?
Two big reasons: massively increased computing power and massively expanding data sets. Before we get to that, let’s think about what challenges researchers have been wrestling with. In order to mimic human intelligence, computers would need to exhibit capabilities in these areas:
- Reasoning (Is that a tumor in that medical image? What should be the next move in the chess match I’m playing?)
- Knowledge Representation (What are objects? What are people? What are languages?)
- Planning See a picture of the first self-driving robot, circa 1965, on the right. (How do we navigate in the world? If there are multiple ways, how can we choose?).
- Natural Language Processing (How can we understand language? What about the context or meaning embedded in a sentence?).
- Perception (How do we see things? Feel things? Hear things? Smell things?)
- Generalized Intelligence (What is emotional intelligence? Creativity? Intuition?)
Earlier I said that this newest AI Spring is being created by ” massively increased computing power and massively expanding data sets”, and this brings us to the confusing terms “Machine Learning” and “Deep Learning”. In his presentation, Frank captures the relationship between these terms like this: “Artificial Intelligence is set of Algorithms and Techniques to try to mimic human intelligence. Machine Learning is one of them and Deep Learning is one of those ML techniques.”
Take a look at the graphic below:
When you’re wondering about why there is all this excitement in the air about AI, it’s because we’re getting better at feeding massive amounts of data into massive computing power, and the computers are learning faster than we could learn and program them ourselves (thus, “Artificial Intelligence”).
I keep using the word “massive” on purpose. Its important to understand that the ability to access massive computing power off-site – you don’t have to build a server farm of your own – and the massive creation of data in everything we do (for which Google, Facebook and Amazon thank you) enable developers to put those two things together and watch magic start to happen.
There have long been the concepts of “neural networks” in computing. Neural networks are highly interdependent processing elements that establish interconnected power between the “neurons” (this is very simplistic). Once you start layering neurons on top of each other, the power of the system increases greatly. The stacking of the neurons become “deep” – thus, “Deep Learning”.
Think of it like this: feeding the data into computers and letting them puzzle over a problem (is that a cat in that picture? an airplane?) is machine learning, and improving those results with huge data while leveraging new large neural network architectures is deep learning. If you look at the drawing on the left, the reason why the Large Neural Net line (in green) so greatly outperforms the other lines is that not only does it have large amounts of data, but the underlying architecture is different and able to leverage and learn from the large data set.
And if we’re talking about AI, we should also talk about what it’s not. AI is not Sci-Fi. The idea of movie stars C3PO (Star Wars) or HAL (2001 A Space Odyssey) is just that: an idea. But the real applications of AI are all around us, and like all computing leaps, the improvements we make will become more rapid.
Take a look at the image below. To understand this view from a self-driving car, we need to understand the speed we’re traveling, the speed of cars in front of/around us, the speed of the cyclist on the right, the fact that some cars are moving in our direction, some are moving in the opposite direction, and some are stationary.
What you see in the image isn’t “Artificial Intelligence”. The ability for the car to proceed safely was enabled by AI development techniques. And perhaps that’s the best way to think about AI: it’s more of a “how” than a “what”. AI techniques enable a result (better computer diagnostics of blood samples, better safety features in your new car). It’s the result we see, not AI itself. This distinction is important to remember to help separate current AI progress from Sci-Fi fantasies.
It’s a fascinating world, and one that will bring with it a number of challenges as well as opportunities. One of the first steps in a time of change is to relax, understand the terms a little better, and look forward with optimism.