Artificial intelligence agents, depending on their applications use different types of machine learning algorithms. It is important to know how machines learn to be able to gauge the existing capabilities and future potentialities of intelligent machines.
Among the numerous amazing tasks that are performed by artificial intelligence machines of today there is one that can be considered to the most fascinating. While AI can perform complex calculations, apply logic, understand natural language, and even drive vehicles like us, the ability of AI that underpins all these actions, and the ability that makes AI truly impressive is its ability to learn like us humans. Just like we learn from experience and memory, machine learning enables artificially intelligent machines to learn new skills like us -- through trial and practice. Machine learning is the ability of machines to learn and self-improve from data without requiring programming at every step. It is what enables AI researchers to impart human-like skills such as recognizing images or understanding natural language to computers. But, just like we humans learn different skills using different methods, machines learn different things through different means or different types of machine learning algorithms. Understanding these types machines learning algorithms can help us better understand the process of creating AI applications, while also making us aware of the challenges in AI research.
There are very few applications of AI that do not use machine learning today. Be it the image captioning AI used by social media platforms or the AI used to recognize obstacles while driving autonomous vehicles, machine learning has a role to play in the development of almost every real-world AI application. While it is theoretically possible for humans to program every bit of known human behavior and problem solving methodology into a computer or an artificially intelligent robot, it is highly improbable in practice. That’s because just the sheer volume of programming and the time required to do the programming, not to mention the amount of labor that would be expended to do the job are highly unfeasible. To add to that, the complexity of programming required to achieve the task would be impossible to handle for even the most skilled researchers. If all these human limitations were to be overcome somehow, there would still remain the question of memory and other hardware resources that would be required to execute such a massive program. Hence, machine learning offers an alternative way for AI researchers to create artificially intelligent machines. And that is by enabling them to teach themselves.
In machine learning, the algorithm is provided with a large dataset that allows the program to figure out a way to solve the problem. The algorithm creates its own model for solving the problem by using the data that it is trained on. It is also capable of refining its functioning based on the data that it works on. For instance, an algorithm that needs to distinguish cats and dogs is trained by providing it with large numbers of pictures of cats and dogs and everytime the algorithm is told whether the image is that of a cat or a dog. After training the algorithm with enough data (inages in this case), the algorithm identifies patterns that are unique to dogs and cats. It also understands the key visual differences between cats and dogs, which it stores in its memory as a model. Now, this model is used by the algorithm when just the pictures are given to it, without telling what the picture contains. And using the model it has built by itself, the algorithm identifies the animal in the picture. This example demonstrates just one of the many problems that AI and machine can solve and just one of the many types of machine algorithms that can be used. Following are the four broad categories of machine learning algorithms.
Supervised learning is the process of giving the machine learning algorithm labeled data, i.e., pairs of input examples along with the desired output for the specific examples. For instance, the example of the algorithm to differentiate cats and dogs can be considered as a supervised learning algorithm. That’s because the algorithm was given pictures of cats and dogs along with the corresponding labels, i.e., “cat” and “dog”. It is similar to the way we teach kids to identify different objects by pointing them out and labeling them. Once the kid sees the objkect and hears the name for enough number of times, she makes a permanent association between the label and the object. However, the process of learning for the machine is much harder than it is for a human kid, because the human brain is much more complex and hence much more capable than a computer program. However, once fully trained, these systems can identify patterns in images that the human eyes often miss out on.
Semi-supervised learning is the process of using a combination of labeled and unlabeled data for training machine learning algorithms. Usually, the training data for these types of machine learning algorithms is composed of a small amount of labeled data and a larger volume of unlabeled data. This allows the algorithm to learn more effectively than unsupervised learning while not reuiring as much data as supervised learning. Semi-supervised learning can be used when there is a limited availability of labeled data, or if labeling the data takes too much time and effort.
Unsupervised learning, in contrast to supervised learning, is the process of training the machine learning algorithm using only unlabeled data. This allows the algorithm to form its own criteria for classification and identification of different objects. Unsupervised learning algorithms atrempt to find similarities in the inputs to classify them into different groups. Every new input is compared to its existing model of classification and based on the similarities and differences, it is categorized accordingly. It is used in deep neural networks and other applications requiring descriptive analysis of data.
Reinforcement is a different approach towards machine learning. Here, the algorithm is programmed with an in-built reward or reinforcement function that it is required to maximize. The algorithm performs an action based on its in-built decision-making mechanism, causing a change in its environment state. The change is recorded by the algorithm as feedback, and based on the desirability of the change, the agent (algorithm) is provided some quantity of reward points. Thus, the most ideal and desirable action from the agent would result in it getting more reward the least desirable and undesirable actions may result in the deduction of reward. This guides the machine to perform the desired task using the most ideal set of steps possible. This enables the AI agent to train itself and find novel ways of solving problems. A popular application of reinforcement learning is robot navigation and navigation of other AI agents.
Machine learning can be considered as the foundation for all present and future AI applications. While even better and more refined types of machine learning algorithms must be developed for performing more complex tasks, the need for good training data still remains paramount for AI research and development. While new ways of processing data in the forms of algorithms are developed, ways of sourcing and cleaning data should also be simultaneously explored.