Deep learning is one of the buzziest topics in technology at the moment, and for good reason: This subset of machine learning can unearth all kinds of useful new insights in data and teach computers to do things like understand human speech and see things.
It employs the use of artificial neural networks to teach computers things like speech recognition, computer vision, and natural language processing. In the last few years, deep learning has helped forge advances in areas like object perception and machine translation—research topics that have long proven difficult for AI researchers to crack.
Trouble is, deep learning takes a ton of computational power, so its use is limited to companies that have the resources to throw at it. But what if you could achieve this kind of heavy duty artificial intelligence in the browser?
“Deep Learning has relatively recently achieved quite a few really nice results on big, important datasets,” says Andrej Karpathy, the Standard PhD student behind ConvNetJS. “However, the majority of the available libraries and code base are currently geared primarily towards efficiency.”
Caffe, a popular convolutional neural network framework used by Flickr for image recognition (among many others) is written in C++ and is slow to compile. “ConvNetJS is designed with different trade-offs in mind,” says Karpathy.
So how does this actually play out in the real world? Right now, Karpathy’s website points to a couple of basic, live demos: classifying digits and other data using a neural network and using deep learning to dynamically “paint” an image based on any photo you upload. They are admittedly geeky—and not especially practical—examples, but what’s important is the computation that’s happening on the front end and how that’s likely to evolve in the future.
One likely usage is the development of browser extensions that run neural networks directly on websites. This could allow for more easily implemented image recognition or tools that can quickly parse and summarize long articles and perform sentiment analysis on their text. As the client-side technology evolves, the list of possibilities for machine learning in the browser will only grow.
Tech companies have been getting more interested in deep learning only recently. A foreign topic to most, deep learning started inching its way toward mainstream buzzword status earlier this year when Google bought a deep learning startup called DeepMind for $400 million. The learning algorithms of DeepMind fit perfectly into Google Brain, the company’s broader quest to emulate the human mind using machines, something Facebook is known to be working toward as well.
For years to come, the truly groundbreaking work in this subfield of AI will continue to happen on the back end and where the computational power is most potent. But as the field evolves and browsers themselves get more powerful, we can safely expect to see more of this sophisticated machine intelligence shift to the front end and, in all likelihood, supercharge what happens in our ever-expanding sea of browser tabs.
“ConvNetJS is not where I want it to be,” admits Karpathy. “I work on it on a side of my PhD studies and with many deadlines it’s hard to steal time. But I am slowly working on cleaner API, more docs, and WebGL support. Regardless, I think the cool trend here more generally is the possibility of running (or training) neural nets in the browser. Making our tabs smarter.”