Learning is Like a Floor-Sweeping Robot
The first floor-sweeping robot was named Roomba. When Roomba starts to work in your home the first day, Roomba is like an intoxicated person who is always striking the wall. However, don’t worry about such behavior; Roomba is just becoming familiar with your home. In a day or two, Roomba will know the layout of your home and be able to clean it well.
The designers of Roomba were particularly challenged when they designed the Roomba because each room has a different size and shape. Some rooms are square, some rectangular, some L-shaped and some rooms are even circular. It is basically impossible to preset the navigation rules for Roomba in the design stage. Finally, the designers gave up on trying to pre-program Roomba’s movement patterns. They let Roomba learn by itself by programming it to roam around and strike the walls of a room the first time it moves about a room. Roomba will record the shape of the room such that it can clean it without striking the walls the next time. If it does make a mistake, it will learn from its mistake and automatically correct its record. In no time at all, Roomba will be like a small dog freely moving about your house.
I used to think that I was a man who was a poor communicator with machines and also poor at mathematics. However, once when I was placed on the same team with a good performing classmate, I observed his way of calculating statistical data. He tried and tried again to arrive at a solution, modifying his calculations repeatedly until he homed in on a solution. At that time, I realized something: I was not so inept at mathematics; I just didn’t know how to learn from my failures to find a good solution.
When IBM was developing a language translation software package, it hired many language experts. The software engineers hoped that these language experts could set many rules for the language translation package. However, language is too complicated to cover every scenario with a finite set of rules. Finally, the engineers gave up on this approach. Instead, they input a huge amount of language data into a computer to let the computer learn by itself. Although such language translation software cannot produce really smooth translations for now, it’s getting better all the time. And now, many people use such translation software to get a pretty good idea of what something means in a foreign language. And it is believed that translation software will become almost as good as a human translator a few years down the line.
These examples show us that learning is a trial-and-error process. The most important thing is to know how to review and correct our mistakes.
When a child takes his or her first steps, he or she usually can only take a step or two before tumbling to the floor. But such a child will stand up and try again. This process will repeat itself many times. And before you know it, the child can take many steps in a row. And soon, the child will learn how to walk smoothly and even run.
The situation is very similar to the way one learns a foreign language. We often make the same mistake a hundred times instead of making one hundred different mistakes one time each. Making mistakes when learning a language shouldn’t cause embarrassment and is a necessary part of the language-acquisition process. That is, we have to make mistakes in order to learn language. That’s how we learn. In many ways, that’s the best way to learn. And this applies to other fields, not just learning language.