“Artificial intelligence.” “Artificial neural networks.” “Machine learning.” “Deep learning.” “Computer vision.” “Statistical pattern recognition.” There has been a whole lot of artificial intelligence terminology thrown about recently because of the accelerating pace of advancement in the field. These aren't just silly buzzwords we use to sound cool (well, not always). To the uninitiated, all the terms tend to sound alike, and many of them have been used more or less interchangeably in the popular press. However, there are subtle differences, and in this blog I'll sort a few of them out 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 pre-classified as “cat” or “not cat.” 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 “cat” or “not cat” 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.
A human, of course, performs pattern recognition much more quickly and efficiently than a computer. Show a child three pictures of different cats and she will immediately and reliably be able to classify pictures she has never seen before as “cat” or “not cat.” 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 still can tackle only very narrowly defined tasks. But 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.