A decade ago neuroscientist Henry Markram declared to a captive audience at TED Global in Oxford, England that he believed it was possible to simulate the human brain to such a degree that it would represent an artificial general intelligence. His project went on to be called the Human Brain Project (HBP) and reportedly raised some where in the neighborhood of $1 billion in funding. Today Markram and the HBP are no closer to demonstrating an AGI than anyone else on the planet.
No matter how many academic papers on A.I. I read, or how many breath-taking demonstrations of reinforcement learning I see in the news, one glaring omission in many of these approaches has always puzzled me. That omission is innate curiosity. Ask any parent how children learn so fast and they will likely tell you because they’re curious. When my youngest son was 4 years of age, his curiosity about the New York City transit system eventually lead to him commiting much of the transit map to memory. By the age of 6 he was able to give accurate travel directions to family members, including which stops to tranfer trains.
Yet as we struggle to create machines and systems patterned after our own brains (which we ourselves still don’t fully understand) we continue to neglect exploring the concepts of programming curiosity, imagination, and confusion into these pseudo intelligent systems.
“I have no special talent. I am only passionately curious.”
— Albert Einstein
I want to unpack this notion of curiosity in the context of algorithms for a moment. And perhaps straw man a few ideas on what basic characteristics a curious algorithm or system of algorithms might have.
Curiosity without memory would most likely be an unproductive endeavor. A person needs a fast efficient way to store the results of their curiosity. This is not to say that every result is worth committing to long term memory. Where algorithms are concerned an impromptu occurrence of curiosity would be too unpredictable and sporadic to store in a regular database, relational or otherwise.
The algorithm would not be able to foresee the resulting data structure during an occurence of the curiosity. Additionally the occurence could branch and meander in wild and unpredictable ways and require some cross referencing from previous curiosity occurences that are also in some very unstructured state. This sounds like the perfect use case for a RAM accelerated key, value store type of database like Redis.
The hippocampus is the region of the brain where neurosicentist believe we store our memories. It is also the same region of the brain believed to be associated with curiosity.
Question and Answering
Most curious children have ready access to a fallible, yet patient source of information, their parents. Typically the resolution of their curiosity is limited only by their ability to formulate the right question to ask. Also they have no concept of information scarcity so in their young minds every single question could and should potentially have an answer.
For algorithms the substitute for patient parents would be uncapped application programming interfaces (APIs) or large datasets. They would need to be programmed to ask a range of questions or even better given the ability to formulate their own questions on the fly. Whatever resulting answer they receive from the API or dataset query should be stored as its own instance of that question. Ideally future identical questions could have slightly different answers based on if the information has been updated. One example is if an algorithm asks the weather at a particular location. That same question could have a different answer each day it’s asked.
In some of today’s most advanced business applications you will likely find various types of pattern recognition at work. From email spam filtering, to facial recognition to network anomaly detection, these pattern recognizers are being curious in a narrow definition of the word.
What if we let the algorithms create the pattern recognizers themselves without being explicitly trained or programmed to do so. In the machine learning world this particular type of algorithm would be called unsupervised. It’s responsible for identifying, or “labeling” its observations in its own way. Those observations collectively would allow it to compare and contrast some patterns to others and form its own meaning or perspective on them.
The algorithms would require a certain latitude of choice to even partially indulge a curiosity. Not so much freedom as to subvert its primary function, but enough to briefly experience and codify the diversion. Consider the pause many humans experience as they ponder a question posed to them. Maybe their mind wanders for a second or two, and perhaps the question evokes an image or unrelated memory. Our curious algorithm might do something similar.
How would the algorithm know when to invoke its curiosity ability? Personally I’d give it the freedom to decide that itself while others might choose to trigger it manually. It could leverage decision trees or random forest sub-algorithms to determine when and even how. However the algorithmic curiosity is ultimately triggered, the more random and surprising, the better in my opinion.
Now that we’ve touched on the how, I want to elaborate a little more on why. Similar to curiosity, rewards based learning has a proven track record of success as a learning technique for humans and animals. This concept was adopted into a technique called reinforcement learning to build machines that teach themselves to perform complex tasks like playing games.
The most advanced demonstration of reinforcement learning so far has been DeepMind’s AlphaGo game playing AI. It gained worldwide praise and astonishment when it beat world champion Lee Sedol in a game many experts in the field thought was impossible for an AI to learn, not to mention master. According to Kai Fu Lee, A.I pioneer and author of AI Superpowers, AlphaGo’s stunning victory over Sedol, captured the imagination of China and spurred its rapid interest in A.I research.
We are already witnessing the amazing results of rewards based learning and arguably the concept of curiosity is even more powerful in its potential to inspire completely new and creative learning techniques.
Children play an active part in their education by asking questions they genuinely are curious about and listening carefully to the answers. No one programmed them with the questions and no one really knows how their brains are wired around the answers. If we’re going to go about mimicking our brains, all evidence points to the crucial role curiosity plays in early childhood education.
Social scientists who have any interest in artificial intelligence believe the best and most successful approach will come not from simulating the adult brain but from simulating how a child learns. Noam Chompsky, the famed linguist and social scientist dedicated much of his study to how children learned language without explicitly being taught (Why Only Us, 2016). While he remains a staunch critic of the possibility of artificial general intelligence I believe the field can learn a lot from his life’s work.
Another reason to give the algorithms curiosity is to introduce surprising and unexpected observations about a system. Let’s draw an analogy of curious algorithms as human nosey neighbors. In this scenario they act as efficient information gatherers spying on unsuspecting targets and we’re not quite sure why except that they’re very curious. Just as the nosey neighbor may speculate on the wealth of the family next door by watching where they shop or noticing the new car in the garage — the curious algorithm might notice the data type of a function’s inputs and outputs and speculate on the purpose of that function independently.
This type of curiosity could have profound impacts on unit and integration testing in software development, not to mention the possibility of making predictions for efficiency based on information gathered previously. Eventually this could lead to code that can fix itself based on tips from the nosey algorithms. Will curiosity ultimately result in breakthroughs in cognitive computing systems and self learning AI? We won’t know unless we’re curious enough to try it.