Learning over Memorizing
There’s a big difference between memorizing and learning. Imagine that you were looking at the eight images in Figure 1.7. You would probably quickly recognize that these are eight different breeds of dogs.
Now imagine I showed you the picture in Figure 1.8.
Figure 1.8 Another dog
Would you know what it is? How would you know? You’ll notice that it’s not exactly the same as any of the pictures in Figure 1.7.
So that means that you’ve learned something about dogs. You might not know what you’ve learned, and you probably have trouble describing how you learned it’s a dog, but chances are your human brain was able to make the connection.
On the other hand, computers are far better at memorization. So you could program a computer to memorize those eight dog illustrations. Then if you show the computer one of the eight, it could quickly make a connection. But it’s much more difficult to have a computer learn. It could easily fumble on this ninth image as it tries to find the perfect match.
Symbolic AI is about memorizing and matching these different symbols. So a symbolic system could easily memorize the eight dog illustrations and make exact matches. But if it couldn’t find an exact match, it cannot give an answer. You also could certainly create a symbolic system that translates written text from different languages. A machine could memorize millions of different typed words and phrases. The challenge is that it wouldn’t really be learning a new language. It would just be a digital version of an old-style language phrasebook.
You’ve also seen that you can use expert systems to match your input to some preprogrammed scenario. Yet these symbolic systems will always be confined to the system’s own memory. It will only know what it’s programmed to know, so these systems rely on humans to seem intelligent. They could respond with canned phrases and memory storage. But these symbolic systems will fail when they encounter any new or unforeseen symbol (Figure 1.9).
So the big challenge going forward is trying to make AI more generalizable. Instead of matching memorized symbols, newer machines will look for features and patterns to create abstract models. These models have the potential to help these machines learn. That way they can better handle new items that the machine might not have seen. If it’s just predicting well on what it already knows, it’s just a simple act of memorization.
Humans have evolved to be very good in both memorization and generalization. We use memorization to quickly fetch information on how to act in a familiar terrain or domain. Generalization is our human ability to use our prior knowledge to work well in unseen or unfamiliar situations. For us, survival is the key, and that is what we try to optimize all the time.
For machines, this is missing. That’s why it’s essential to identify the criteria a machine needs to optimize to generalize the knowledge it learns so that it can perform well in the present or future.