Introduction
Before discussing the different AI techniques and algorithms, we will look at the fundamentals of AI and machine learning and go through a few basic definitions. Real-world examples will be used to present the basic concepts of AI in an easy-to-digest way.
AI attempts to replicate human intelligence using hardware and software solutions. It is based on reverse engineering. For example, artificial neural networks are modeled after the way the human brain works. Beyond neural networks, there are many other models in neuroscience that can be used to solve real-world problems using AI. Companies that are known to be using AI in their fields include Google, with Google Translate, Apple, with Face ID, Amazon, with its Alexa products, and even Uber and Tesla, who are still working on building self-driving cars.
On the other hand, machine learning is a term that is often confused with AI. It originates from the 1950s and was first defined by Arthur Lee Samuel in 1959.
In his book called Machine Learning, Tom Mitchell proposed a simple definition of it: "The field of machine learning is concerned with the question of how to construct computer programs that automatically improve with experience."
We can understand this as machine learning being the field where the goal is to build a computer program capable of learning patterns from data and improve its learning ability with more data.
He also proposed a more formal definition, which is that a computer program is said to learn from experience, E, with respect to a task, T, and a performance measure, P, if its performance on T, as measured by P, improves with experience, E. This can be translated as what a computer program requires in order for it to be learning. We can see E (the experience) as the data that needs to be fed to the machine, T, as the type of decision that the machine needs to perform, and P as the measure of its performance.
From these two definitions, we can conclude that machine learning is one way to achieve AI. However, you can have AI without machine learning. For instance, if you hardcode rules and decision trees, or you apply search techniques, you can create an AI agent, even though your approach has little to do with machine learning.
AI and machine learning have helped the scientific community harness the explosion of big data with more and more data being created every second. With AI and machine learning, scientists can extract information that human eyes cannot process fast enough on these huge datasets.
Now that we have been introduced to AI and machine learning, let's focus on AI.
How Does AI Solve Problems?
AI automates human intelligence based on the way a human brain processes information.
Whenever we solve a problem or interact with people, we go through a process. By doing this, we limit the scope of a problem or interaction. This process can often be modeled and automated in AI.
AI makes computers appear to think like humans.
Sometimes, it feels like the AI knows what we need. Just think about the personalized coupons you receive after shopping online. AI knows which product we will most likely be purchasing. Machines are able to learn your preferences through the implementation of different techniques and models, which we will look at later in this book.
AI is performed by computers that are executing low-level instructions.
Even though a solution may appear to be intelligent, we write code, just like with any other software solution in AI. Even if we are simulating neurons, simple machine code and computer hardware executes the thinking process.
Most AI applications have one primary objective. When we interact with an AI application, it seems human-like because it can restrict a problem domain to a primary objective. Therefore, the process whereby the AI reaches the objective can be broken down into smaller and simpler low-level instructions.
AI may stimulate human senses and thinking processes for specialized fields.
You must be able to simulate human senses and thoughts, and sometimes trick AI into believing that we are interacting with another human. In some special cases, we can even enhance our own senses.
Similarly, when we interact with a chatbot, for instance, we expect the bot to understand us. We expect the chatbot or even a voice recognition system to provide a computer-human interface that fulfills our expectations. In order to meet these expectations, computers need to emulate human thought processes.
Diversity of Disciplines in AI
A self-driving car that cannot sense other cars driving on the same highway would be incredibly dangerous. The AI agent needs to process and sense what is around it in order to drive the car. However, this is not enough since, without understanding the physics of moving objects, driving the car in a normal environment would be an almost impossible, not to mention deadly, task.
In order to create a usable AI solution, different disciplines are involved, such as the following:
- Robotics: To move objects in space
- Algorithm theory: To construct efficient algorithms
- Statistics: To derive useful results, predict the future, and analyze the past
- Psychology: To model how the human brain works
- Software engineering: To create maintainable solutions that endure the test of time
- Computer science or computer programming: To implement our software solutions in practice
- Mathematics: To perform complex mathematical operations
- Control theory: To create feed-forward and feedback systems
- Information theory: To represent, encode, decode, and compress information
- Graph theory: To model and optimize different points in space and to represent hierarchies
- Physics: To model the real world
- Computer graphics and image processing: To display and process images and movies
In this book, we will cover a few of these disciplines, including algorithm theory, statistics, computer science, mathematics, and image processing.