Anybody who has tried Google Photos would agree that this free photo storage and management service from Google is smart. It packs in various smart features like advanced search, ability to categorize your pictures by locations and dates, automatically create albums and videos based on similarities, and walk you down the memory lane by showing you photos of the same day several years ago. There are many things Google Photos can do that several years ago would be machine-ly impossible. Google Photos is one of the many “smart” services from Google that uses a machine learning technology called TensorFlow. The word learning indicates that the technology will get smarter by time to the point that our current knowledge cannot imagine. But what is TensorFlow? How can a machine learn? What can you do with it? Let’s find out.
What is TensorFlow?
TensorFlow is Google’s open-source and powerful artificial intelligence software, which powers many services and initiatives from Google. It is the second generation of a system for large-scale machine learning implementations, built by the Google Brain team. This library of algorithm succeeds DistBelief – the first generation.
The technology represents computation as stateful data flow graphs. What makes TensorFlow unique is its ability to model computations on a vast range of hardware, from consumer-level mobile devices to world-class multi-GPU servers. It can run on different GPUs and CPUs and promises the scalability of machine learning among the various devices and gadgets without having to alter a significant amount of code.
TensorFlow originated from Google’s need to instruct a computer system to mimic how a human brain works in learning and reasoning. The system, known as neural networks, should be able to perform on multidimensional data arrays referred as “tensors.” The end goal is to train the neural networks to detect and decipher patterns and correlations.
In November 2015, Google made this technology open-source and allowed it to be adopted into all kinds of products and researches. Anybody, including researchers, engineers, and hobbyists, can help speed up the growth of machine learning and take it to a higher level in less time.
This move turned out to be the right one because there are so many contributions from the independent developers to TensorFlow that they far surpass Google’s contributions. Wikipedia mentions that “there are 1500 repositories on GitHub which mention TensorFlow, of which 5 are from Google.” That being said, one of the discussions at Quora suspect that the released open-source code is the “cleaned-up” version from the one that Google uses in its services.
How Does TenserFlow Work?
Using the simple normal human language and a heavy simplification, we might see one side of TensorFlow as an advanced autonomous filtering technology. At its heart, the technology is a huge software library of machine learning. It uses the database to help it “make decision”.
For example, someone uploads a photo to Google Photos. The technology will compare all the details from the picture to its database and decide whether it’s a picture of an animal or human. Then if it’s a human, it will try to determine the gender, age to all the way to who the person is. The same process is repeated for other objects in the photo.
It also uses user’s data such as the identity of the person in the picture and the location where the picture is taken, to enhance its library so that it can give better results in the future – both for the individual who uploaded the photo and for everybody else. Hence the term “learning”. But it doesn’t stop at merely at knowing and learning data from photos. There are so much that the technology can do with information from a photo. For example, it can group photos with similar details such as the same person, the same location, the same date; see the pattern of faces to determine which family and friends the person in the photo belong to, and use the information to make videos of family vacation or animation from continuous shots.
That barely scratches the surface of how TensorFlow works, but I hope it can give you a general picture of the technology. Also, using only one example can’t do justice to what it’s capable of.
And for all the Artificial Intelligence enthusiasts out there, it’s worth mentioning that Google already created a computer chip technology optimized for machine learning and integrating TensorFlow into it. It’s called Tensor Processing Unit (TPU) ASIC chip.
Those who want to learn more about TensorFlow can visit its tutorial page.
Applications of TensorFlow
We are at an early stage of machine learning technology, so nobody knows where it will take us. But there are a few initial applications might give us peek at the future. As it originates from Google, it’s obvious that Google uses the technology for many of its services.
-
More on Image Analysis
We’ve discussed the example of using the technology for image analysis in Google Photos. But the image analysis application is also used in Google Maps’ Street View feature. For example, TensorFlow is used to connect the image with the map coordinates and to automatically blur the license plate number of any car that’s accidentally included in the image.
-
Speech Recognition
Google is also using TensorFlow for its voice assistant speech recognition software. The technology that allows users to speak out instructions is not new, but including the ever-grown library of TensorFlow into the mix might bring the feature up a few notches up. Currently, the speech recognition technology recognizes over 80 languages and variants.
-
Dynamic Translation
Another example of the “learning” part of machine learning technology is Google’s translation feature. Google allows its users to add new vocabularies and fix the mistakes in Google Translate. The ever growing data can be used to automatically detect the input language that other users want to translate. If the machine makes mistakes in language detection process, users can correct them. And the machine will learn from those mistakes to improve its future performance. And the cycle continues.
One fun example of TensorFlow usage is Alpha Go. It is an application that is programmed to play Go. For those unfamiliar with Go, it’s an abstract board game for two players originated in China more than five thousand five hundred years ago, and it’s the oldest board game that is still continuously played today. While the rules are simple – to surround more territory than the opponent, the game is incredibly complex and, according to Wikipedia: “possesses more possibilities than the total number of atoms in the visible universe.”
So, it’s interesting what a learning machine technology can do with the infinite possibilities. In its matches against Lee Sedol – the 18-time Go world champion, Alpha Go won 4 out of 5 games and was given the honorary highest Go grandmaster rank.
Another interesting application of TensorFlow is the Magenta Project. It’s an ambitious project to create machine-generated art. One of the early tangible results of the experiment is the 90 seconds piano melody. In the long term, Google hopes to generate more advanced machine-generated art via its Magenta project and build a community of artists around it.
On February 2016, Google also held an art exhibition and auction in San Fransisco showing off 29 computer generated – with a little help from human – pieces of art. Six of the largest works were sold for as much as $8,000. The computer might still have a very long way to go before it can imitate a real artist, but the amount of money people are willing to pay for the art show us how far the technology has gone.
Support for iOS
While we have already seen the capabilities of TenserFlow on Android, with its latest version, TensorFlow finally adds supports for iOS devices. Since there are tons of great mobile apps available exclusively for iOS, or released first on iOS, it means that we can expect more great mobile apps adopting machine learning in the near future. The same thing can be said for the possibilities of wider adoptions and applications of TensorFlow.
The Future of TensorFlow
What can one possibly do with a machine that is able to learn and make its own decision? As a person who deals with more than one languages as part of the daily life, the first thing that pops into my mind is language translation. Not in the word by word level, but more in the longer text level like documents or even books. Today’s translation technology is limited to the vocabularies. You can easily find out what is “sleeping” in Chinese and vice versa, but try to throw in one chapter of Eiji Yoshikawa’s Musashi in its original Japanese and translate the chapter into English. You’ll see what I’m getting at.
It’s also fun to see what the future of Artificial Intelligence can do with music. While it’s still very basic, Apple’s Music Memo app can already give automatic bass and drum accompanion to your recorded singing. I remember one episode of a SciFi TV show where a character in the show created a machine that analyzes all the top songs in the charts and able to write its own hit songs. Will we ever arrive there?
And as the closing thought, I’d like to mention Sunspring. It’s a short science fiction movie written entirely by an AI screenwriter that called itself Benjamin – which even composed the pop-song musical interlude. The movie was put together by director Oscar Sharp for the 48-hour Film Challenge of Sci-Fi London event.
Now I can’t stop thinking about the Terminator. Welcome to the future.
Image Credit: Wikipedia, TechInsider, The Verge, Wall Street Journal