Let’s talk about the difference between Artificial Intelligence, Machine Learning, and Deep Learning and their common applications. The three are related and solve related problems, but there are a few distinctions to be aware of.
This content is also available in video form on YouTube
Artificial Intelligence (AI)
Artificial Intelligence, or AI, refers to the capability for computers to emulate the decision-making processes of creatures (including humans).
This is a broad category that encompasses everything in machine learning and deep learning while also adding a few other components.
Things that are specific to artificial intelligence that are not part of either machine learning or deep learning are:
- Chat bots such as an automated support agent on a web page
- Decision Trees and other forms of rules-based logic that evaluate scenarios based on pre-defined rules
- Game AI including pathfinding, behavior trees, goal-oriented action planning (GOAP), and other forms of decision-making
- Flocking algorithms including ant algorithms and other forms of algorithms that emulate the movement of groups of animals
These tasks are typically done via traditional programming techniques, though they may be heavily driven by external data such as that in a database or file.
In addition to these things, everything inside of machine learning can be considered artificial intelligence.
Machine Learning (ML)
Machine learning is a subset of artificial intelligence. Machine learning uses mathematical techniques to train a computer to classify, predict, or cluster values either with or without historical data to base these decisions on.
Machine learning typically falls into one of several buckets:
- Regression tasks involving predicting a numeric value such as a temperature, revenue total, or student grade.
- Classification tasks involving determining which of several categories something falls into.
- Clustering tasks involving identifying similarities in pieces of data and grouping things together without prior training.
- Reinforcement learning tasks involving computers learning to do things based on scored attempts without prior training.
Many different algorithms are used for machine learning and these are beyond the scope of this article though I hope to cover many of them on this blog in the future.
It is worth noting that many machine learning algorithms involve neural networks (also called “neural nets”) that do mathematical calculations while mimicking the layered structure of the brain.
Neural networks are a network of simulated neurons that take in at least one input and result in an output. Neural nets use hidden layers of neurons and weighted connections between each neuron to perform calculations. These weights numbers that get multiplied by the input to determine the output. The value of each weight is adjusted through machine learning training techniques that “coach” the network to produce an optimal output.
There are many variations of neural networks and different activation functions that can be specified to neural networks that change the way they behave, but at a general level they all take in inputs and produce outputs via weighted mathematical evaluation.
Neural nets are powerful structures that can find hidden relationships in data, but it also becomes difficult to understand exactly how they arrive at their decisions. This can result in a loss of transparency to both end-users and AI developers and can result in bias hiding in AI solutions if experiments are not carefully constructed.
Deep learning is a specialized form of machine learning (and artificial intelligence by extension) that involves neural networks of additional depth and complexity that they can come to more advanced solutions to the tasks they’re given.
This additional depth and complexity does have some downsides, however, as it often takes longer for these neural networks to be trained to solve a problem and it becomes harder to understand the generated neural networks they produce which increases some of the drawbacks related to transparency around neural networks.
More advanced machine learning techniques don’t formally require deep learning, however they tend to take advantage of deep learning so I’m listing some types of them here:
- Image Recognition analyzing and interpreting images, including object recognition, facial analysis, and generating textual descriptions of images
- Text Analysis including sentiment analysis, named entity extraction, key point extraction, and advanced language understanding
- Speech Recognition including generating live captions from ongoing videos
- Speech Synthesis - particularly for more natural human-like generation of human speech
- Language Translation involving the dynamic translation from one language to another
There’s obviously a lot to like about artificial intelligence, machine learning, and deep learning. This field is very deep and evolving constantly, but there’s bound to be something for everyone interested in learning more and experimenting with these technologies.
In future articles I’ll go into depth on how to get started with these types of applications and highlight how to work effectively with each using Python and the Azure AI Platform.
For now, know that artificial intelligence is incredibly powerful but is not as difficult to get started with as you might expect.
Stay tuned and happy coding!