Robotics means building and programming robots so that they can operate in complex real-world scenarios. In a way, robotics is the ultimate challenge of AI since it requires a combination of virtually all areas of AI:
- Computer vision and speech recognition for sensing the environment,
- Natural language processing, information retrieval, and reasoning under uncertainty for processing instructions and predicting consequences of potential actions,
- Cognitive modeling and affective computing (systems that respond to expressions of human feelings or that mimic feelings) for interacting and working together with humans.
Many of the robotics-related AI problems are best approached by machine learning, which makes machine learning a central branch of AI for robotics.
Machine learning: a very short introduction
If you were tasked to write down a set of rules that define a cat—what exactly does it look like, how does it move?—you would quickly run into trouble. Yet, you know one when you see one, even if you’ve never seen this particular one before.
The laws governing the nature of the real world are often similarly difficult to write down. This is where machine learning comes in: when it’s difficult to write rules down “by hand”, we build algorithms that learn from example.
For instance, a computer vision model learns to recognize cats when it’s shown many examples of pictures of cats, as well as pictures without cats. Machine learning models can be roughly divided into two categories:
Grouping and classifying existing data: Discriminative modeling
Many AI models recognize objects and persons in the world or make predictions about future outcomes of complex processes. A machine learning model can learn to group data into different categories or find similarities between data instances.
These are called discriminative or regression models.
Creating new data: Generative modeling
What about mimicking the actual complexity of the shapes and sounds of the world? Again, it is hard for a human to write a computer program that would be able to draw a realistic picture of every possible cat in every possible environment in the world. Generative modeling aims to discover such rules by looking at data and distilling it down into a “recipe” that enables creation of new data that follows the same pattern. For example, we can give a generative model a bunch of cat pictures and tell it to make new ones.