From artificial intelligence to artificial neural networks, from machine learning to deep learning and from computer vision to statistical pattern recognition, the nearly endless array of artificial intelligence terminology and – some might argue – buzzwords, is nothing but the inevitable side-effect of a highly accelerated advancement of this field.
But these aren’t just silly buzzwords we use to sound cool (well, not always), and while to the average Joe, all these terms tend to sound alike, it’s simply because many of them have been used more or less interchangeably in the popular press. However, there are subtle and not so subtle differences, and in this article, I’ll untangle and demystify some of these concepts for you.
Machine learning is an umbrella term that covers all technologies in which a machine is able to “learn” on its own, without having that knowledge explicitly programmed into it. Most types of machine learning are iterative in nature and become better over time at whatever task they are being asked to perform.
To understand the difference between machine learning and other forms of artificial intelligence, consider two game-playing computers: IBM’s Deep Blue, which defeated world champion Garry Kasparov at chess, and Google’s AlphaGo, which defeated world-champion Go player Lee Sedol.
Deep Blue didn’t “learn” the best moves to make; instead, it performed a sophisticated search during every one of its moves, evaluating every possible move for the current board position, the possible moves after that, and so on. From this analysis, Deep Blue selected the one move most likely to result in victory. It then repeated the process at its next turn.
By contrast, AlphaGo learned the best moves by playing thousands of matches against other computerized Go players and other instances of itself. Its proficiency increased with experience.
Deep learning is a special case of machine learning and is a type of artificial neural network. Artificial neural networks attempt to mimic, on an extremely limited scale, the workings of a biological brain. An artificial neural network is a collection of software objects, or “neurons,” each of which produces an output value according to a formula that accounts for the number of input signals and the strength of each.
When an artificial neural network “learns,” it starts with a set of training data that a human has already annotated; for example, a set of images that are re-classified as “dog” or “not dog.” An artificial neural network identifies patterns in the images, and, without human intervention, tweaks the formulas of its neurons until it settles on a set of formulas that takes the input images and reliably outputs a “dog” or “not dog” value.
In a deep learning system, the neurons are organized into sets called layers: usually an input layer, an output layer, and one or more “hidden” layers.
Neurons in one layer typically are connected only to neurons in an adjacent layer; they don’t “skip” layers or communicate with other neurons in their own layer. However, depending on the design, signals can either travel in only one direction (input to output) or travel both forward and back.
Statistical Pattern Recognition
Statistical pattern recognition has more to do with the task a machine learning system is trying to accomplish. As with humans, one way that a machine “learns” is by recognizing patterns. These can be visual patterns in images, patterns in sound or other types of signals, or patterns in text, financial data, weather data, or anything else where every example of a thing is different but they all possess certain similarities.
A machine learning system can be configured to recognize patterns using sophisticated statistical analysis to classify the data objects (images, transactions, or what have you). The results might be in the form of a likelihood value or probability percentage, rather than a strict “yes” or “no.”
At first, this approach might result in many “false positives” and “false negatives,” but over time and with additional training, those percentages should increase.
As might be expected, a human performs pattern recognition much more quickly and efficiently than a computer. Show a child three pictures of different dogs and she will immediately and reliably be able to classify pictures she has never seen before as “dog” or “not dog.”
Computers achieve this level of proficiency only after examining thousands of pictures, taking a stupendous amount of time and computing power to do so.
Machine learning and all of its types and variations are still in their infancy, and can only tackle very narrowly defined tasks. Yet, given the tremendous strides made in recent years, it is only a matter of time before practical machine learning systems are available for the average PC, laptop, or smartphone devices.