Open sourced in November 2015 by Google, TensorFlow is currently the most popular framework for creating deep learning models.
A few years ago, Deep Learning started to outperform all other machine learning models when given a massive amount of data. Google saw that it could use deep neural networks to improve all of their services, and released the framework to let developers and researchers work together on AI models.
Now almost 3 years later, businesses have taken notice the technology is making its way into the mainstream. Ranked the second fastest growing skill in the Upwork Skills Index, yours truly:
What is TensorFlow?
Loosely based on the biological brain, Deep Learning is a subset of machine learning that uses multi-layer neural networks. What is machine learning, and what are neural networks? We'll get to that in a second.
First you just need to know that TensorFlow is one of the machine learning libraries available to developers and businesses. Others notable frameworks include Caffe - open sourced by Berkely, and PyTorch - Facebook's open source framework.
Alright back to the basics.
What is machine learning?
We're going to assume you have some knowledge of this field already, but here's a quick refresher - machine learning is the science (and art) of teaching computers how to "learn" (i.e. get progressively better at a specific task) from data, without needing to be explicitly programmed.
What are neural networks?
As we mentioned earlier, neural networks are vaguely inspired by biological neural networks. These systems learn to perform tasks by considering examples, which is called the training data.
The difference between traditional machine learning and deep learning is that deep learning typically doesn't need to be programmed with any task-specific rules.
This basically means we don't have to teach our model how the world works, instead it learns "representations" by sorting through huge amounts and can lead to finding new insights and fresh patterns.
As this Machine Learning vs. Deep Learning article puts it:
We use a machine algorithm to parse data, learn from that data, and make informed decisions based on what it has learned. Basically, Deep Learning is used in layers to create an Artificial “Neural Network” that can learn and make intelligent decisions on its own. We can say Deep Learning is a sub-field of Machine Learning.
Now, back to TensorFlow.
Business Applications of TensorFlow
Here's a summary of the topics we'll be covering:
- Image recognition with Convolutional Neural Networks (CNN)
- Natural language processing with Sequence-to-Sequence (Seq2Seq) models
- Product recommendation engines with TensorFlow
Case Study: Coca-Cola, TensorFlow, and Digital Marketing
As presented in this editorial, Coca-Cola used TensorFlow-based image recognition to support one of their largest and most popular digital marketing campaigns.
Since 2006 Coca-Cola has had a loyalty program involving participants submitting a code on the bottle cap for a chance to win rewards.
Fast-forward to the mobile-first world we live in today, and thumb-entering a 14 character code on your phone just isn't a great user experience. Having customers submit photos was a logical solution, but then question became: how can they scan the codes millions of different bottle cap photos?
As you can imagine, each photo would be a slightly different angle, lighting, and a low resolution string of characters. From the editorial:
The answer from their research team: Convolutional Neural Networks.
Part of the deep learning family, CNNs are at the heart of modern artificial intelligence in business.
From reading street address numbers on Google Maps, to recognizing hand written digits, CNNs perform extremely well for image recognition tasks.
Since the goal of Coca-Cola was extracting strings from images that contain small character sets with lots of variance in the appearance of the characters, Convolutional Neural Networks were a perfect match.
In the past it was quite difficult to build a deep neural network like CNNs because of the complexity of the models. Luckily, the TensorFlow framework greatly simplifies the task of building and deploying deep neural networks.
Natural Language Processing, Sequence Prediction, and TensorFlow
Another application of TensorFlow and deep learning is the ability to understand sequential data, such as text which has a sequence of characters. Neural networks built for sequential data are referred to as recurrent neural networks.
One example of this is a natural language processing chatbot for an eCommerce retailer. A deep learning engineer could train a neural network based on past customer conversation data, and the model can learn patterns in the sequences. After learning the patterns, the bots can then generate future sequence predictions based on historical data.
Gartner predicts that by 2020, 85% of all customer interactions will be handled without a human agent.
This type of language modeling is applicable to many more interesting commercial applications, such as:
- Speech recognition for real-time subtitling
- AI-powered chatbots
- Virtual assistants like Siri, Alexa, and Google Assistant
- Machine translation
- Document summarization
- Image captioning
- Product description writing
Sequence prediction has proven itself with a number of different applications in business, and is certainly worth investigating how it can apply to yours.
Product Recommendation Engines with TensorFlow
According to Ram Ramanathan of Google at Google Cloud Next '17 conference, there are three key scenarios in e-commerce that can be improved with machine learning:
- Finding products of interest
- Recommending relevant items
- Analyzing customer feedback
In this presentation, Ram highlights that businesses today are realizing that they can use machine learning to improve customer experience.
With the most recent models, you can simplify product discovery by using Product Image Search, understand customer sentiment, and optimize Inventory Level.
The question: how can we enable customers to search the most relevant and the right product at the right time?
As Ram Ramanathan asks
Have you ever wondered how we can enable customers to search the most relevant and the right product at the right time, and how you can enable them to search easier than just doing the data textual query? Like, the people are more and more visual, how do we enable them to search better?
The answer: Google Cloud machine learning engine and TensorFlow.
We (Google) have cloud machine learning engine that helps you to really drive your machine learning both from a training perspective or prediction perspective. That’s targeted at data scientists and folks who want to really manage the machine learning life cycle from the end-to-end perspective.
How Airbnb Uses TensorFlow
More recently, Airbnb detailed their journey to building an AI-powered search with TensorFlow.
Here is the paper that the companies team of researchers published on "Applying Deep Learning to Airbnb Search".
In the paper, the researchers describe how..
The application to search ranking is one of the biggest machine learning success stories at Airbnb.
To conclude the paper, the researchers write...
So would we recommend deep learning to others? That would be a wholehearted Yes. And it’s not only because of the strong gains in the online performance of the model. Part of it has to do with how deep learning has transformed our roadmap ahead.
A few more examples
Let's look at a few more examples of how Google is using the technology for their own business, from the TensorFlow website:
RankBrain
- Description: A large-scale deployment of deep neural nets for search ranking on www.google.com.
- More info: "Google Turning Over Its Lucrative Search to AI Machines"
Inception Image Classification Model
- Description: Baseline model and follow on research into highly accurate computer vision models, starting with the model that won the 2014 Imagenet image classification challenge
- More Info: Baseline model described in Arxiv paper
SmartReply
- Description: Deep LSTM model to automatically generate email responses
- More Info: Google research blog post
Summary: What is Tensorflow?
The open source TensorFlow framework offers a huge suite of tools that enable developers and businesses an end-to-end pipeline to build profitable AI models with.
Real-world applications of this powerful technology include image recognition, natural language processing, and powerful product recommendation engines.
Companies like Coca-Cola are already using it to support their largest digital marketing campaigns.