Bay area start-up Vicarious improved on a machine learning technique capable of solving CAPTCHA challenges using a novel network layout called Recursive Cortical Network.
The goal of Vicarious is to develop an algorithm that can always, in every setting, detect certain letters. Detecting letters under various circumstances is something considered to be difficult for machines. For this reason, the CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) was invented to tell humans and robots apart. In 2013 Vicarious was one of the first to crack CAPTCHA systems using deep neural networks.
Now they improved their software to require less data to better generalize to all CAPTCHAs. Normally neural networks need thousands to millions of examples to generalize to new, unseen, data. Their new system generalizes better, with 300 times less data necessary for training.
To do this they invented the Recursive Cortical Network (RCN). In contrast to a normal neural network, which starts without any knowledge before training, an RCN starts with knowledge of contours and surfaces. This prior knowledge facilitates model building and generalisability. Where a normal neural network has to learn what contours and surfaces exist and has to learn the difference between objects and background, an RCN starts with such knowledge. Thanks to this you can train an RCN on several individual objects and use the network to represent scenes with multiple of these objects.
The idea behind the RCN stems from cognitive science and neuroscience. When humans are born their neocortex can already differentiate foreground and background. This makes it easier for us to learn the representations in our world than if we had to start learning everything from a blank slate.
An RCN is modeled as a combination of contours and surfaces. Surfaces are models using a conditional random field. Contours are modeled using a compositional hierarchy of features. This way the RCN can recognize object shapes with different appearances without training on every shape and appearance combination. An additional advantage of RCNs is that they don't overfit to extraneous details of the training set. This means that an RCN has a strong generalization to other similar scenes.
Solving CAPTCHA's is a domain where the generalization of machine learning techniques is really important. Vicarious observed that a slight disturbance in the CAPTCHA renders their traditional neural network approach useless. This can be observed in the image below, where the deep learning approach fails if after training both networks the representation of the CAPTCHA is edited. Their new approach, trained with only 260 training samples, performs way better.
To generate training and testing data the researchers generated their own CAPTCHAs. For these CAPTCHAs they replicated the fonts of several well-known CAPTCHA generation systems. The download links to these datasets can be found at the bottom of their blogpost.
Vicarious is an American artificial intelligence company. They want to generalize from a few training examples, just like we as humans are able to do. Their eventual goal is applying this intelligence in robotics. The article about the recursive cortical network was published as an article in Science, and a blogpost on their website.