A human sits across from a robot having a deep conversation. From the outside, it’s impossible to tell which is the human and which is the machine. This scenario is the theme of many a sci-fi story and the dream of many artificial intelligence (AI) engineers.
Artificial intelligence is the concept of machines being able to carry out tasks in a way that we would consider “smart.” It emulates human cognition through the use of machine learning. In this post, I will discuss the various neural network learning strategies for machine learning, and the unexpected programming scenarios that AI engineers must face.
What is Machine Learning?
Machine learning is the application of statistical learning techniques or algorithms to automatically identify patterns in data. These techniques can be used to make highly accurate predictions. While we are still nowhere near artificial general intelligence, machine learning neural network learning strategies are getting us closer.
There are four neural network learning strategies used to create AI applications:
- Supervised learning
- Unsupervised learning
- Reinforcement learning
- Deep learning
These four strategies are used to create all the AI applications we see today.
Supervised learning is the machine learning task of inferring a function (solution) from labeled training data. It is called supervised learning because a person has to physically create the training data that the software employs.
The training data consist of a set of training examples that a person manually applies a label to. The computer then processes the training data and labels together and learns to associate the training data with the label. For example, if you show the computer photos of dogs with the label “dog” and photos of rabbits with the label “rabbit,” it will eventually be able to differentiate between dog and rabbit photos.
Supervised learning results in things such as Google search. When you search Google images for “dog,” you are given a lot of varied photos of dogs. Though the photos are all different, Google is able to identify photos of dogs based on its supervised learning algorithm.
Unsupervised learning represents a more difficult strategy because there is no human describing what the objects represent; instead, the learning algorithm determines which objects go together. Unsupervised learning can discover hidden patterns in data as well as similar items in a dataset, but it requires a larger data set for training.
For example, you give your computer system a large number of unknown objects, such as photos of rabbits, dogs, chickens, and fish. The computer sorts the objects based on similarities it sees within the data. Once the data has been grouped, a person can then come in and label each of the groups that the computer identified. This is an example of a hybrid between supervised and unsupervised learning because a human is still part of the process.
Another interesting example of Unsupervised Learning is used by Netflix and other online video companies. When videos are added to online streaming platforms, the computer scans each video frame of every video. The data from these scans are then analyzed and patterns are identified. When you watch a movie (e.g., a kung-fu movie) the computer uses the results of its Unsupervised Learning to find other kung-fu videos to recommend based on the patterns it identified.
Unsupervised Learning can also be used to create generativeart. Generative Adversarial Networks (GAN) are a relatively new type of Unsupervised Learning that were originally used in computer vision. However, its applications have expanded, and it is now commonly used in mobile applications to manipulate photos.
Reinforcement learning allows software to automatically determine the ideal behavior, within a specific context, to maximize performance. It assumes that a computer program interacts with a dynamic environment to achieve a specific goal. The environment is described with a set of states and the software can take different actions to move from one state to another. The goal of Reinforcement Learning is to find an optimal model that specifies what action to take in each of the states without a human stating whether this leads to the goal state or not.
Reinforcement Learning represents many of the more well-known examples of AI:
- In March 2016, AlphaGo beat Go World Champion Lee Sedol in a five-game match. AlphaGo was trained to play Go using Reinforcement Learning.
- Military drones are trained, at least in part, using Reinforcement Learning. This training method is allowing us to move towards autonomous weapons.
- Self-driving cars are taught to drive using Reinforcement Learning. Each of the actions they can take (e.g., I turn left, I stop, etc.) are goals, and the road environment represents the countless states that they can encounter and respond to.
Deep learning is used in Supervised Learning, Unsupervised Learning, and Reinforcement Learning. Any time the output or solution of the system is used to train the same system, this is Deep Learning. The results or solutions are called “layers” and as new layers are created, the learning becomes “deeper.” Most AI systems we see today are Deep Learning Systems.
Machine Learning Scenarios
Finally, let’s look at some scenarios and determine the appropriate machine learning strategy for each of them.
Detecting Credit Card Fraud
A bank trains a machine learning model with historical data labeled as “normal” or “suspicious.” After the model is trained, it is used to detect new suspicious transactions.
Using a Supervised Learning strategy, the bank used labeled data to train a machine-learning algorithm. The bank defined “suspicious” transactions and the model then detected similar transactions.
Stopping a Computer Hack
A computer system attack is detected and the system responds by identifying the hacking method and changing the system’s configurations to stop the hack.
Using a Reinforcement Learning strategy, the system determined the optimum solution to stop the hacking attack.
Discovering Fast Radio Bursts
Fast radio bursts (FRBs) are mysterious and rarely detected bursts of energy from space. Analyzing 400 TB of data, astronomers originally found only 21 bursts.
Using a Semi-Supervised Learning strategy, another 91 bursts were discovered in the data. Problems where you have a large amount of data and only some of the data is labeled are called semi-supervised learning problems.
Programming for the Unexpected
One of the greatest challenges of designing neural network learning strategies is accounting for every possible outcome. Let’s look at self-driving cars as an example.
On the night of March 20, 2018, a pedestrian walking their bicycle across the street was hit and killed by a self-driving car. When the car encountered the pedestrian, it was a state that it had not been prepared for. As a result, it was not sure which action would most efficiently help it reach its goal, and it chose the wrong incorrectly. These types of issues cannot be fully prevented, as no one can account for every unexpected situation.
How do you train a computer to make impossible choices? For example, what happens when a child runs into the street? Does the car swerve into the old lady on the sidewalk or hit the child?
These impossible choices become even more complicated when you consider the neural learning strategies the computer is employing. As most self-driving cars are being designed in the United States, the training data that the computer is utilizing is based on information obtained from American roadways. What happens to the model when you then take the car to a country with different driving laws and pedestrian behaviors?
Self-driving car manufacturers are working to answer these questions while minimizing risks. Mercedes has an ethics group that provides guidance to its self-driving car team. They’ve identified that:
- Personal safety is more important than property damage.
- The car cannot classify people based on age or other attributes
- The manufacturer is always liable
While these are commendable goals, turning them into practical learning strategies can be more complicated. Overall, it is up to engineers to keep finding creative ways to program for the unexpected as AI continues to evolve.