Whether you're trying to translate something into a different language, turn your spoken words into text or sift through thousands of saved photos for that one special snapshot, Google has built a "smarter" artificial intelligence system to help, company representatives announced this week.
Google's new "TensorFlow" system is the backbone of many of the company's core functions, ranging from "Smart Reply," which suggests up to three responses to emails, to speech recognition functions in the Google app.
"TensorFlow is faster, smarter and more flexible than our old system, so it can be adapted much more easily to new products and research," Google representatives said in the company's blog post announcing the new system. [Super-Intelligent Machines: 7 Robotic Futures]
The tool is an exciting development for artificial-intelligence enthusiasts and researchers.
"TensorFlow is the first serious implementation of a framework for 'deep learning,' backed by both [a] very experienced and very capable team at Google," said Andrej Karpathy, a Ph.D. student at Stanford University who studies machine learning.
Deep learning is a concept in artificial intelligence that means computers can learn more abstract concepts that humans traditionally perform better than computers do. For example, a human can recognize an image of the Taj Mahal without thinking much about it; people don't need to be told that it isn't an elephant or another monument. But computers have a lot of trouble with that kind of task — asking a computer to identify the Taj Mahal would require it to go through an entire library of images and hope it gets a match.
It gets even worse when you want a computer to recognize activity, said Aaron Courville, an associate professor of computer science at the University of Montreal. Humans can see in an instant that a person is walking down the street, and make assumptions about the person's destination or purpose. A computer, on the other hand, can only tell which direction the walker is going in, and that's about it — for now.
TensorFlow simplifies a lot of that research, Courville said, and allows researchers to build their machine learning systems more easily. "With TensorFlow, it's a set of tools, or a library, that allows you to construct these things and run them in an efficient way."
It all starts with a concept called a neural network, an idea that dates back to the early days of computing. The simplest neural network consists of three layers: one for input, one for processing and one for output. Each layer consists of nodes connected to all the nodes in the next layer. [A Brief History of Artificial Intelligence]
Neural networks are designed to learn by strengthening connections between certain nodes. When a neural network is presented with something to learn — the shape of a letter, for instance — the input nodes send signals to the processing layer, which, in turn, sends signals to the output. If the output is correct, then one set of connections becomes stronger; the threshold for turning "on" gets lower as the connections strengthen. This is similar to the way human and animal brains work, by strengthening connections between neurons.
A search engine could do something similar by tracking a user's preferences. With TensorFlow, the connections between nodes are matrices of numbers. A matrix can be a one-, two-, or multidimensional set of numbers. This allows for more complicated processing because each connection embodies several things that can be measured. For example, instead of just encoding whether there is light or dark on a pixel, it can also encode the color and intensity.
Google was originally inspired by a system created at the University of Montreal called Theano, Courville said. But TensorFlow is an improvement, and the upgraded system fixes a lot of the bugs in what was originally a research project, he added.
Google says TensorFlow will work on just about any machine, including a smartphone, though there are some minimum amounts of processing power necessary. It is most compatible with computers that have good graphics processing units — the kind of machines used by gamers.
Karpathy added that the tool is very flexible. "Due to its generality, you can use TensorFlow for any deep-learning application: image recognition, machine translation, sentiment analysis — there are really very few constraints," he said.
Google also announced that, for the first time, it is making some of its TensorFlow code open-source. By publicly releasing the code, the company is allowing outside researchers to use it and build yet more tools, to solve other kinds of problems.