How Games Can Teach Bots
Growing A Training Data Set Sustainably Through Gamification and Mutual Beneficence
Go — a strategy game.
A Go player attains excellence through endless practice. A baby learns to avoid touching hot stoves by feeling, rather than by listening to adults. Both the baby and the Go player learn through experience, rather than rules.
Why is this important for Artificial Intelligence?
Determining the correct rules for any concrete task is often near-impossible due to the huge number of possibilities that exist in real life. That means that this type of approach often falls short.
A Decision Tree (a legacy algorithm)
Therefore, throughout most of AI history, researchers have searched for ways to mimic the learning that occurs through trial-and-error. Nevertheless, for the longest time, these algorithms were too slow, leading to the proliferation of faster, if-then logic and decision tree style systems. The problem with if-then logic, however, is that it’s tedious, inflexible, and limited to the developer’s creativity.
Luckily, with the inception of the back-propagation algorithm, Big Data, and improved computational power, the situation has changed.
A Simple Feed-Forward Neural Network (a type of learning algorithm)
The AI algorithms of today are often referred to as “Machine Learning” algorithms due to their crucial differentiating factor: that they learn from examples, rather than conforming to rules. Their newfound success has led to a revolution in AI applications over the past couple years. And, these algorithms are frighteningly good — even surpassing people. The only kicker is that machines require thousands of examples. Even for a trivial MNIST classifier (an algorithm that tells apart handwritten digits and/or letters by breaking them up into “classes”), it may take over ten to fifty thousand data points to attain human-like ability.
A heat map of what makes and does not make a picture one specific digit in the view of an MNIST classifier. Blue represents the former, and red, the latter.
For some applications this can prove to be a massive hindrance, given that often, one needs humans to manually generate data. Thus, it‘s been difficult for small developers to keep up with large companies with respect to AI models.
We wanted to gamify crowd-sourcing data acquisition. Paid crowd-sourcing data acquisition exists, but we believed we could get data cheaper by inducing fun. The fun of playing a game creates an incentive to keep going, meaning the corpus grows sustainably. The key to success is that both parties benefit.
In the past, we‘ve observed the success of similar “everyone wins” type data acquisition schemes.
Take Captcha, for example. Captcha — the brainchild of CMU professor, Luis Von Ahn — temporarily solved the problem of spam-bots on the web. It forced site visitors to prove their humanity by recognizing handwritten digits, thereby alleviating spam. Simultaneously, the user’s response data was also used to teach learning algorithms to read handwriting (and transcribe text). As such, by benefiting both site creators and researchers, Von Ahn created a sustainable data acquisition scheme.
Even if MNIST classifiers are now as good as humans at Captcha (which has made it obsolete), Captcha still provides us with a compelling example of past success with mutual beneficence.
Another notable case would be Google’s “Quickdraw”. It’s a game in which users draw certain objects under time pressure. Google trains its image recognition algorithms, while providing users with the fun challenge of trying to draw good pictures quickly. As such, both parties gain.
In each of these examples, mutual beneficence lead to sustainable, long-term inflows of data. For the small developer, in the future this may very well be the holy grail to data acquisition.
At Archie.AI we also want to harness the power of mutual beneficence.
Our task was to find variations of the same question, so as to train an intent-based classifier (an algorithm that determines user intent from text) for our chat-bot interface.
To this end, we made a Jeopardy-style game in which the game master provides the “answers” for which the players must provide the “questions”. The types of questions the users give to our game, are those that Archie takes as input (and are typically educational, and related to Data Science/Data Analytics). Therefore, by providing suitable answers, players grow our corpus while having fun. (The game master chooses suitable answers by testing similarity with our current corpus. If they are too different, they are presumed to not be legitimate, while if they are exactly the same, they are discarded to prevent overfitting.)
You can test it here.