Large-Scale Deep Learning
With TensorFlow
Jeff Dean
Google Brain team
g.co/brain
In collaboration with many other people at Google
We can now store and perform computation on large datasets
MapReduce
We can now store and perform computation on large datasets
But what we really want is not just raw data,
but computer systems that understand this data
MapReduce
What do I mean by understanding?
What do I mean by understanding?
What do I mean by understanding?
Neural Networks
“cat”
● A powerful class of machine learning model
● Modern reincarnation of artificial neural networks
● Collection of simple, trainable mathematical functions
What is Deep Learning?
“cat”
● Loosely based on
(what little) we know
about the brain
What is Deep Learning?
What is Deep Learning?
● Each neuron is connected to a
small subset of other neurons.
● Based on what it sees,
it decides what it wants to say.
● Neurons learn to cooperate
to accomplish the task.
Commonalities with real brains:
What is Deep Learning?
Each neuron implements a
relatively simple mathematical
function.
But the composition of 106
- 109
such functions is surprisingly
powerful.
ConvNets
Important Property of Neural Networks
Results get better with
more data +
bigger models +
more computation
(Better algorithms, new insights and improved
techniques always help, too!)
Growing Use of Deep Learning at Google
Android
Apps
drug discovery
Gmail
Image understanding
Maps
Natural language
understanding
Photos
Robotics research
Speech
Translation
YouTube
… many others ...
Across many
products/areas:
# of directories containing model description files
Open, standard software for
general machine learning
Great for Deep Learning in
particular
First released Nov 2015
Apache 2.0 license
http://tensorflow.org/
and
https://github.com/tensorflow/tensorflow
Strong External Adoption
GitHub Launch Nov. 2015
GitHub Launch Sep. 2013
GitHub Launch Jan. 2012
GitHub Launch Jan. 2008
50,000+ binary installs in 72 hours, 500,000+ since Nov, 2015
Most forks of any GitHub repo in 2015, despite only being available starting in Nov, 2015
(source: http://donnemartin.com/viz/pages/2015)
Motivations
● DistBelief (our 1st system) was scalable and good for
production deployment, but not as flexible as we
wanted for research purposes
● Better understanding of problem space allowed us to
make some dramatic simplifications
● Define a standard way of expressing machine learning
ideas and computations
● Short circuit the MapReduce/Hadoop inefficiency
http://tensorflow.org/
http://tensorflow.org/
TensorFlow: Expressing High-Level ML Computations
● Core in C++
○ Very low overhead
Core TensorFlow Execution System
CPU GPU Android iOS ...
TensorFlow: Expressing High-Level ML Computations
● Core in C++
○ Very low overhead
● Different front ends for specifying/driving the computation
○ Python and C++ today, easy to add more
Core TensorFlow Execution System
CPU GPU Android iOS ...
TensorFlow: Expressing High-Level ML Computations
● Core in C++
○ Very low overhead
● Different front ends for specifying/driving the computation
○ Python and C++ today, easy to add more
Core TensorFlow Execution System
CPU GPU Android iOS ...
C++ front end Python front end ...
● Build a graph computing a neural net inference.
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)
x = tf.placeholder("float", shape=[None, 784])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x, W) + b)
Example TensorFlow fragment
● Automatically add ops to calculate symbolic gradients
of variables w.r.t. loss function.
● Apply these gradients with an optimization algorithm
y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
opt = tf.train.GradientDescentOptimizer(0.01)
train_op = opt.minimize(cross_entropy)
Python API for Machine Learning
● Launch the graph and run the training ops in a loop
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
Python API for Machine Learning
MatMul
Add Relu
biases
weights
examples
labels
Xent
Graph of Nodes, also called Operations or ops.
Computation is a dataflow graph
with tensors
MatMul
Add Relu
biases
weights
examples
labels
Xent
Edges are N-dimensional arrays: Tensors
Computation is a dataflow graph
with state
Add Mul
biases
...
learning rate
−=...
'Biases' is a variable −= updates biasesSome ops compute gradients
Computation is a dataflow graph
GPU 0 CPU
Add Mul
biases
learning rate
Assign
Sub
...
...
distributedComputation is a dataflow graph
GPU 0 CPU
Add Mul
biases
learning rate
Assign
Sub
...
...
Assign Devices to Ops
● TensorFlow inserts Send/Recv Ops to transport tensors across devices
● Recv ops pull data from Send ops
Send Recv
GPU 0 CPU
Add Mul
biases
learning rate
Assign
Sub
...
...
Assign Devices to Ops
● TensorFlow inserts Send/Recv Ops to transport tensors across devices
● Recv ops pull data from Send ops
Send Recv
Send Recv
Send
Recv Send
Recv
phones single machines (CPU and/or GPUs) …
distributed systems of 100s
of machines and/or GPU cards
Automatically Runs on Variety of Platforms
custom ML hardware
What are some ways that
deep learning is having
a significant impact at Google?
“How cold is
it outside?”
Deep
Recurrent
Neural Network
Acoustic Input Text Output
Reduced word errors by more than 30%
Speech Recognition
Google Research Blog - August 2012, August 2015
“ocean”
Deep
Convolutional
Neural Network
Your Photo
Automatic Tag
Search personal photos without tags.
Google Photos Search
Google Research Blog - June 2013
Google Photos Search
Google Photos Search
“Wow. The new Google photo search is a bit insane. I didn’t tag those… :)”
We have tons of vision problems
Image search, StreetView, Satellite Imagery,
Translation, Robotics, Self-driving Cars,
www.google.com/sunroof
“Seeing” Go
April 1, 2009: April Fool’s Day joke
Nov 5, 2015: Launched Real Product
Feb 1, 2016: >10% of mobile Inbox replies
Smart Reply
Small Feed-
Forward
Neural Network
Incoming Email
Activate
Smart Reply?
yes/no
Smart Reply
Google Research Blog
- Nov 2015
Small Feed-
Forward
Neural Network
Incoming Email
Activate
Smart Reply?
Deep Recurrent
Neural Network
Generated Replies
yes/no
Smart Reply
Google Research Blog
- Nov 2015
Combined Vision + Translation
Model: A close up of a child
holding a stuffed animal.
Human: A young girl asleep on
the sofa cuddling a stuffed
bear.
Model: A baby is asleep next to
a teddy bear.
Image Captions Research
Large Scale Deep Learning with TensorFlow
Experiment Turnaround Time and Research Productivity
● Minutes, Hours:
○ Interactive research! Instant gratification!
● 1-4 days
○ Tolerable
○ Interactivity replaced by running many experiments in parallel
● 1-4 weeks
○ High value experiments only
○ Progress stalls
● >1 month
○ Don’t even try
Large Scale Deep Learning with TensorFlow
Image Model Training Time
Hours
10 GPUs
50 GPUs
1 GPU
Hours
2.6 hours vs. 79.3 hours (30.5X)
10 GPUs
50 GPUs
1 GPU
Image Model Training Time
How Can You Get Started with Machine Learning?
Four ways, with varying complexity:
(1) Use a Cloud-based API (Vision, Speech, etc.)
(2) Run your own pretrained model
(3) Use an existing model architecture, and
retrain it or fine tune on your dataset
(4) Develop your own machine learning models
for new problems
More
flexible,
but more
effort
required
(1) Use Cloud-based APIs
cloud.google.com/translate
cloud.google.com/speech
cloud.google.com/vision
cloud.google.com/text
(1) Use Cloud-based APIs
cloud.google.com/translate
cloud.google.com/speech
cloud.google.com/vision
cloud.google.com/text
Google Cloud Vision API
https://cloud.google.com/vision/
(2) Using a Pre-trained Image Model yourself with TensorFlow
www.tensorflow.org/tutorials/image_recognition/index.html
For training your own models (3 & 4), two choices:
cloud.google.com/ml
or
Run open-source release on your own physical machines or virtual
machines in a cloud hosting environment
(3) Training a Model on Your Own Image Data
www.tensorflow.org/versions/master/how_tos/image_retraining/index.html
(4) Develop your own machine learning models
https://www.tensorflow.org/versions/master/get_started/basic_usage.html
Example: Combining Vision with Robotics
“Deep Learning for Robots: Learning
from Large-Scale Interaction”, Google
Research Blog, March, 2016
“Learning Hand-Eye Coordination for
Robotic Grasping with Deep Learning
and Large-Scale Data Collection”,
Sergey Levine, Peter Pastor, Alex
Krizhevsky, & Deirdre Quillen,
Arxiv, arxiv.org/abs/1603.02199
https://www.youtube.com/watch?v=iaF43Ze1oeI
What Does the Future Hold?
Deep learning usage will continue to grow and accelerate:
● Across more and more fields and problems:
○ robotics, self-driving vehicles, ...
○ health care
○ video understanding
○ dialogue systems
○ personal assistance
○ ...
Conclusions
Deep neural networks are making significant strides in
understanding:
In speech, vision, language, search, …
If you’re not considering how to use deep neural nets to solve
your vision or understanding problems, you almost certainly
should be
Further Reading
● Dean, et al., Large Scale Distributed Deep Networks, NIPS 2012, research.google.
com/archive/large_deep_networks_nips2012.html.
● TensorFlow white paper, tensorflow.org/whitepaper2015.pdf (clickable links in bibliography)
● TensorFlow: A System for Large-Scale Machine Learning, http://arxiv.org/abs/1605.08695
tensorflow.org
research.google.com/people/jeff
We’re Hiring! See g.co/brain
Questions?

More Related Content

PPTX
Memory management
PPTX
Cache memory
PDF
Computer organization memory
PPTX
Virtualization in cloud computing
PPT
Pipeline hazards in computer Architecture ppt
PPTX
Presentation on risc pipeline
PDF
Optimization in deep learning
PPTX
Cache memory ppt
Memory management
Cache memory
Computer organization memory
Virtualization in cloud computing
Pipeline hazards in computer Architecture ppt
Presentation on risc pipeline
Optimization in deep learning
Cache memory ppt

What's hot (20)

PPT
Database Security & Encryption
PPT
Distributed file systems dfs
PPT
Parallel processing and pipelining
PPTX
PPTX
IOT System Management with NETCONF-YANG.pptx
PDF
Computer organisation -morris mano
PPTX
Cache Memory
PPT
Parallel processing
PPTX
Cloud Reference Model
PPTX
Multiprocessor
PPTX
pipeline in computer architecture design
PDF
parallel Questions & answers
PPTX
Multicore Processor Technology
PPT
Parallel processing
PDF
Deep learning for real life applications
PPT
Computer architecture pipelining
PDF
Deep Learning for Computer Vision: Data Augmentation (UPC 2016)
PPTX
Machine learning
PPTX
Deep learning presentation
PPTX
1.10. pumping lemma for regular sets
Database Security & Encryption
Distributed file systems dfs
Parallel processing and pipelining
IOT System Management with NETCONF-YANG.pptx
Computer organisation -morris mano
Cache Memory
Parallel processing
Cloud Reference Model
Multiprocessor
pipeline in computer architecture design
parallel Questions & answers
Multicore Processor Technology
Parallel processing
Deep learning for real life applications
Computer architecture pipelining
Deep Learning for Computer Vision: Data Augmentation (UPC 2016)
Machine learning
Deep learning presentation
1.10. pumping lemma for regular sets
Ad

Viewers also liked (20)

PDF
Introduction to TensorFlow
PDF
Google TensorFlow Tutorial
PPTX
漫談人工智慧:啟發自大腦科學的深度學習網路
PDF
On-device machine learning: TensorFlow on Android
PPTX
Neural Networks with Google TensorFlow
PDF
Machine Intelligence at Google Scale: TensorFlow
PDF
Introducing TensorFlow: The game changer in building "intelligent" applications
PDF
TensorFlow Serving, Deep Learning on Mobile, and Deeplearning4j on the JVM - ...
PPTX
Deep learning
PDF
An Introduction to Deep Learning
PDF
Jeff Dean at AI Frontiers: Trends and Developments in Deep Learning Research
PDF
Deep learning - A Visual Introduction
PPTX
Deep Learning for Data Scientists - Data Science ATL Meetup Presentation, 201...
PDF
[모두의연구소] 쫄지말자딥러닝
PPTX
인공 신경망 구현에 관한 간단한 설명
PPTX
Lie Group Formulation for Robot Mechanics
PDF
Lie Group Formulation for Robot Mechanics
PPTX
R 프로그래밍 기본 문법
PPTX
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
PPTX
기계학습(Machine learning) 입문하기
Introduction to TensorFlow
Google TensorFlow Tutorial
漫談人工智慧:啟發自大腦科學的深度學習網路
On-device machine learning: TensorFlow on Android
Neural Networks with Google TensorFlow
Machine Intelligence at Google Scale: TensorFlow
Introducing TensorFlow: The game changer in building "intelligent" applications
TensorFlow Serving, Deep Learning on Mobile, and Deeplearning4j on the JVM - ...
Deep learning
An Introduction to Deep Learning
Jeff Dean at AI Frontiers: Trends and Developments in Deep Learning Research
Deep learning - A Visual Introduction
Deep Learning for Data Scientists - Data Science ATL Meetup Presentation, 201...
[모두의연구소] 쫄지말자딥러닝
인공 신경망 구현에 관한 간단한 설명
Lie Group Formulation for Robot Mechanics
Lie Group Formulation for Robot Mechanics
R 프로그래밍 기본 문법
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
기계학습(Machine learning) 입문하기
Ad

Similar to Large Scale Deep Learning with TensorFlow (20)

PDF
"Large-Scale Deep Learning for Building Intelligent Computer Systems," a Keyn...
PDF
Kaz Sato, Evangelist, Google at MLconf ATL 2016
PDF
Track2 02. machine intelligence at google scale google, kaz sato, staff devel...
PDF
Google Cloud Platform Empowers TensorFlow and Machine Learning
PPTX
2017 arab wic marwa ayad machine learning
PPTX
TENSORFLOW liberayin python language.pptx
PDF
Deep learning with TensorFlow
PDF
Persian MNIST in 5 Minutes
PPTX
Getting Started with TensorFlow on Google Cloud
PDF
1645 goldenberg using our laptop
PDF
How to Run TensorFlow Cheaper in the Cloud Using Elastic GPUs
PDF
building intelligent systems with large scale deep learning
PPTX
Neural networks with python
PPTX
Deep Learning on Qubole Data Platform
PPTX
GPU and Deep learning best practices
PDF
TECHNICAL OVERVIEW NVIDIA DEEP LEARNING PLATFORM Giant Leaps in Performance ...
PPTX
Training course lect1
PPTX
Introduction to Tensor Flow-v1.pptx
PPTX
object recognition ppt for minor Project
PDF
ML in the Browser: Interactive Experiences with Tensorflow.js
"Large-Scale Deep Learning for Building Intelligent Computer Systems," a Keyn...
Kaz Sato, Evangelist, Google at MLconf ATL 2016
Track2 02. machine intelligence at google scale google, kaz sato, staff devel...
Google Cloud Platform Empowers TensorFlow and Machine Learning
2017 arab wic marwa ayad machine learning
TENSORFLOW liberayin python language.pptx
Deep learning with TensorFlow
Persian MNIST in 5 Minutes
Getting Started with TensorFlow on Google Cloud
1645 goldenberg using our laptop
How to Run TensorFlow Cheaper in the Cloud Using Elastic GPUs
building intelligent systems with large scale deep learning
Neural networks with python
Deep Learning on Qubole Data Platform
GPU and Deep learning best practices
TECHNICAL OVERVIEW NVIDIA DEEP LEARNING PLATFORM Giant Leaps in Performance ...
Training course lect1
Introduction to Tensor Flow-v1.pptx
object recognition ppt for minor Project
ML in the Browser: Interactive Experiences with Tensorflow.js

More from Jen Aman (20)

PPTX
Deep Learning and Streaming in Apache Spark 2.x with Matei Zaharia
PDF
Snorkel: Dark Data and Machine Learning with Christopher Ré
PDF
Deep Learning on Apache® Spark™: Workflows and Best Practices
PDF
Deep Learning on Apache® Spark™ : Workflows and Best Practices
PDF
RISELab:Enabling Intelligent Real-Time Decisions
PDF
Spatial Analysis On Histological Images Using Spark
PDF
Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...
PDF
A Graph-Based Method For Cross-Entity Threat Detection
PDF
Yggdrasil: Faster Decision Trees Using Column Partitioning In Spark
PDF
Time-Evolving Graph Processing On Commodity Clusters
PDF
Deploying Accelerators At Datacenter Scale Using Spark
PDF
Re-Architecting Spark For Performance Understandability
PDF
Re-Architecting Spark For Performance Understandability
PDF
Low Latency Execution For Apache Spark
PDF
Efficient State Management With Spark 2.0 And Scale-Out Databases
PDF
Livy: A REST Web Service For Apache Spark
PDF
GPU Computing With Apache Spark And Python
PDF
Spark And Cassandra: 2 Fast, 2 Furious
PDF
Building Custom Machine Learning Algorithms With Apache SystemML
PDF
Spark on Mesos
Deep Learning and Streaming in Apache Spark 2.x with Matei Zaharia
Snorkel: Dark Data and Machine Learning with Christopher Ré
Deep Learning on Apache® Spark™: Workflows and Best Practices
Deep Learning on Apache® Spark™ : Workflows and Best Practices
RISELab:Enabling Intelligent Real-Time Decisions
Spatial Analysis On Histological Images Using Spark
Massive Simulations In Spark: Distributed Monte Carlo For Global Health Forec...
A Graph-Based Method For Cross-Entity Threat Detection
Yggdrasil: Faster Decision Trees Using Column Partitioning In Spark
Time-Evolving Graph Processing On Commodity Clusters
Deploying Accelerators At Datacenter Scale Using Spark
Re-Architecting Spark For Performance Understandability
Re-Architecting Spark For Performance Understandability
Low Latency Execution For Apache Spark
Efficient State Management With Spark 2.0 And Scale-Out Databases
Livy: A REST Web Service For Apache Spark
GPU Computing With Apache Spark And Python
Spark And Cassandra: 2 Fast, 2 Furious
Building Custom Machine Learning Algorithms With Apache SystemML
Spark on Mesos

Recently uploaded (20)

PPTX
Machine Learning: An Introduction to Smart AI
PPTX
Understanding AI: Basics on Artificial Intelligence and Machine Learning
PDF
Stochastic Programming problem presentationLuedtke.pdf
PDF
Machine Learning Final Summary Cheat Sheet
PDF
American Journal of Multidisciplinary Research and Review
PDF
MISO Deep-NARX Forecasting for Energy and Electricity Demand/Price Data
PDF
Library Hi Tech, technology of the world
PPTX
Fkrjrkrkekekekeekkekswkjdjdjddwkejje.pptx
PPTX
Data Journalism and browsing with Google.pptx
PPTX
Power BI - Microsoft Power BI is an interactive data visualization software p...
PPTX
logistic__regression_for_beginners_.pptx
PPT
Drug treatment of Malbbbbbhhbbbbhharia.ppt
PPTX
Chapter_5_ network layer control plan v8.2.pptx
PPT
Handout for Lean and Six Sigma application
PDF
Lesson 1 - intro Cybersecurity and Cybercrime.pptx.pdf
PPTX
Dkdkskakkakakakskskdjddidiiffiiddakaka.pptx
PPTX
Evaluasi program Bhs Inggris th 2023-2024 dan prog th 2024-2025-1.pptx
PPTX
An Introduction to Lean Six Sigma for Bilginer
PPTX
Microsoft Fabric Modernization Pathways in Action: Strategic Insights for Dat...
PDF
NU-MEP-Standards معايير تصميم جامعية .pdf
Machine Learning: An Introduction to Smart AI
Understanding AI: Basics on Artificial Intelligence and Machine Learning
Stochastic Programming problem presentationLuedtke.pdf
Machine Learning Final Summary Cheat Sheet
American Journal of Multidisciplinary Research and Review
MISO Deep-NARX Forecasting for Energy and Electricity Demand/Price Data
Library Hi Tech, technology of the world
Fkrjrkrkekekekeekkekswkjdjdjddwkejje.pptx
Data Journalism and browsing with Google.pptx
Power BI - Microsoft Power BI is an interactive data visualization software p...
logistic__regression_for_beginners_.pptx
Drug treatment of Malbbbbbhhbbbbhharia.ppt
Chapter_5_ network layer control plan v8.2.pptx
Handout for Lean and Six Sigma application
Lesson 1 - intro Cybersecurity and Cybercrime.pptx.pdf
Dkdkskakkakakakskskdjddidiiffiiddakaka.pptx
Evaluasi program Bhs Inggris th 2023-2024 dan prog th 2024-2025-1.pptx
An Introduction to Lean Six Sigma for Bilginer
Microsoft Fabric Modernization Pathways in Action: Strategic Insights for Dat...
NU-MEP-Standards معايير تصميم جامعية .pdf

Large Scale Deep Learning with TensorFlow

  • 1. Large-Scale Deep Learning With TensorFlow Jeff Dean Google Brain team g.co/brain In collaboration with many other people at Google
  • 2. We can now store and perform computation on large datasets MapReduce
  • 3. We can now store and perform computation on large datasets But what we really want is not just raw data, but computer systems that understand this data MapReduce
  • 4. What do I mean by understanding?
  • 5. What do I mean by understanding?
  • 6. What do I mean by understanding?
  • 8. “cat” ● A powerful class of machine learning model ● Modern reincarnation of artificial neural networks ● Collection of simple, trainable mathematical functions What is Deep Learning?
  • 9. “cat” ● Loosely based on (what little) we know about the brain What is Deep Learning?
  • 10. What is Deep Learning? ● Each neuron is connected to a small subset of other neurons. ● Based on what it sees, it decides what it wants to say. ● Neurons learn to cooperate to accomplish the task. Commonalities with real brains:
  • 11. What is Deep Learning? Each neuron implements a relatively simple mathematical function. But the composition of 106 - 109 such functions is surprisingly powerful.
  • 13. Important Property of Neural Networks Results get better with more data + bigger models + more computation (Better algorithms, new insights and improved techniques always help, too!)
  • 14. Growing Use of Deep Learning at Google Android Apps drug discovery Gmail Image understanding Maps Natural language understanding Photos Robotics research Speech Translation YouTube … many others ... Across many products/areas: # of directories containing model description files
  • 15. Open, standard software for general machine learning Great for Deep Learning in particular First released Nov 2015 Apache 2.0 license http://tensorflow.org/ and https://github.com/tensorflow/tensorflow
  • 16. Strong External Adoption GitHub Launch Nov. 2015 GitHub Launch Sep. 2013 GitHub Launch Jan. 2012 GitHub Launch Jan. 2008 50,000+ binary installs in 72 hours, 500,000+ since Nov, 2015 Most forks of any GitHub repo in 2015, despite only being available starting in Nov, 2015 (source: http://donnemartin.com/viz/pages/2015)
  • 17. Motivations ● DistBelief (our 1st system) was scalable and good for production deployment, but not as flexible as we wanted for research purposes ● Better understanding of problem space allowed us to make some dramatic simplifications ● Define a standard way of expressing machine learning ideas and computations ● Short circuit the MapReduce/Hadoop inefficiency
  • 20. TensorFlow: Expressing High-Level ML Computations ● Core in C++ ○ Very low overhead Core TensorFlow Execution System CPU GPU Android iOS ...
  • 21. TensorFlow: Expressing High-Level ML Computations ● Core in C++ ○ Very low overhead ● Different front ends for specifying/driving the computation ○ Python and C++ today, easy to add more Core TensorFlow Execution System CPU GPU Android iOS ...
  • 22. TensorFlow: Expressing High-Level ML Computations ● Core in C++ ○ Very low overhead ● Different front ends for specifying/driving the computation ○ Python and C++ today, easy to add more Core TensorFlow Execution System CPU GPU Android iOS ... C++ front end Python front end ...
  • 23. ● Build a graph computing a neural net inference. import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('MNIST_data', one_hot=True) x = tf.placeholder("float", shape=[None, 784]) W = tf.Variable(tf.zeros([784,10])) b = tf.Variable(tf.zeros([10])) y = tf.nn.softmax(tf.matmul(x, W) + b) Example TensorFlow fragment
  • 24. ● Automatically add ops to calculate symbolic gradients of variables w.r.t. loss function. ● Apply these gradients with an optimization algorithm y_ = tf.placeholder(tf.float32, [None, 10]) cross_entropy = -tf.reduce_sum(y_*tf.log(y)) opt = tf.train.GradientDescentOptimizer(0.01) train_op = opt.minimize(cross_entropy) Python API for Machine Learning
  • 25. ● Launch the graph and run the training ops in a loop init = tf.initialize_all_variables() sess = tf.Session() sess.run(init) for i in range(1000): batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) Python API for Machine Learning
  • 26. MatMul Add Relu biases weights examples labels Xent Graph of Nodes, also called Operations or ops. Computation is a dataflow graph
  • 27. with tensors MatMul Add Relu biases weights examples labels Xent Edges are N-dimensional arrays: Tensors Computation is a dataflow graph
  • 28. with state Add Mul biases ... learning rate −=... 'Biases' is a variable −= updates biasesSome ops compute gradients Computation is a dataflow graph
  • 29. GPU 0 CPU Add Mul biases learning rate Assign Sub ... ... distributedComputation is a dataflow graph
  • 30. GPU 0 CPU Add Mul biases learning rate Assign Sub ... ... Assign Devices to Ops ● TensorFlow inserts Send/Recv Ops to transport tensors across devices ● Recv ops pull data from Send ops Send Recv
  • 31. GPU 0 CPU Add Mul biases learning rate Assign Sub ... ... Assign Devices to Ops ● TensorFlow inserts Send/Recv Ops to transport tensors across devices ● Recv ops pull data from Send ops Send Recv Send Recv Send Recv Send Recv
  • 32. phones single machines (CPU and/or GPUs) … distributed systems of 100s of machines and/or GPU cards Automatically Runs on Variety of Platforms custom ML hardware
  • 33. What are some ways that deep learning is having a significant impact at Google?
  • 34. “How cold is it outside?” Deep Recurrent Neural Network Acoustic Input Text Output Reduced word errors by more than 30% Speech Recognition Google Research Blog - August 2012, August 2015
  • 35. “ocean” Deep Convolutional Neural Network Your Photo Automatic Tag Search personal photos without tags. Google Photos Search Google Research Blog - June 2013
  • 37. Google Photos Search “Wow. The new Google photo search is a bit insane. I didn’t tag those… :)”
  • 38. We have tons of vision problems Image search, StreetView, Satellite Imagery, Translation, Robotics, Self-driving Cars, www.google.com/sunroof
  • 40. April 1, 2009: April Fool’s Day joke Nov 5, 2015: Launched Real Product Feb 1, 2016: >10% of mobile Inbox replies Smart Reply
  • 41. Small Feed- Forward Neural Network Incoming Email Activate Smart Reply? yes/no Smart Reply Google Research Blog - Nov 2015
  • 42. Small Feed- Forward Neural Network Incoming Email Activate Smart Reply? Deep Recurrent Neural Network Generated Replies yes/no Smart Reply Google Research Blog - Nov 2015
  • 43. Combined Vision + Translation
  • 44. Model: A close up of a child holding a stuffed animal. Human: A young girl asleep on the sofa cuddling a stuffed bear. Model: A baby is asleep next to a teddy bear. Image Captions Research
  • 46. Experiment Turnaround Time and Research Productivity ● Minutes, Hours: ○ Interactive research! Instant gratification! ● 1-4 days ○ Tolerable ○ Interactivity replaced by running many experiments in parallel ● 1-4 weeks ○ High value experiments only ○ Progress stalls ● >1 month ○ Don’t even try
  • 48. Image Model Training Time Hours 10 GPUs 50 GPUs 1 GPU
  • 49. Hours 2.6 hours vs. 79.3 hours (30.5X) 10 GPUs 50 GPUs 1 GPU Image Model Training Time
  • 50. How Can You Get Started with Machine Learning? Four ways, with varying complexity: (1) Use a Cloud-based API (Vision, Speech, etc.) (2) Run your own pretrained model (3) Use an existing model architecture, and retrain it or fine tune on your dataset (4) Develop your own machine learning models for new problems More flexible, but more effort required
  • 51. (1) Use Cloud-based APIs cloud.google.com/translate cloud.google.com/speech cloud.google.com/vision cloud.google.com/text
  • 52. (1) Use Cloud-based APIs cloud.google.com/translate cloud.google.com/speech cloud.google.com/vision cloud.google.com/text
  • 53. Google Cloud Vision API https://cloud.google.com/vision/
  • 54. (2) Using a Pre-trained Image Model yourself with TensorFlow www.tensorflow.org/tutorials/image_recognition/index.html
  • 55. For training your own models (3 & 4), two choices: cloud.google.com/ml or Run open-source release on your own physical machines or virtual machines in a cloud hosting environment
  • 56. (3) Training a Model on Your Own Image Data www.tensorflow.org/versions/master/how_tos/image_retraining/index.html
  • 57. (4) Develop your own machine learning models https://www.tensorflow.org/versions/master/get_started/basic_usage.html
  • 58. Example: Combining Vision with Robotics “Deep Learning for Robots: Learning from Large-Scale Interaction”, Google Research Blog, March, 2016 “Learning Hand-Eye Coordination for Robotic Grasping with Deep Learning and Large-Scale Data Collection”, Sergey Levine, Peter Pastor, Alex Krizhevsky, & Deirdre Quillen, Arxiv, arxiv.org/abs/1603.02199 https://www.youtube.com/watch?v=iaF43Ze1oeI
  • 59. What Does the Future Hold? Deep learning usage will continue to grow and accelerate: ● Across more and more fields and problems: ○ robotics, self-driving vehicles, ... ○ health care ○ video understanding ○ dialogue systems ○ personal assistance ○ ...
  • 60. Conclusions Deep neural networks are making significant strides in understanding: In speech, vision, language, search, … If you’re not considering how to use deep neural nets to solve your vision or understanding problems, you almost certainly should be
  • 61. Further Reading ● Dean, et al., Large Scale Distributed Deep Networks, NIPS 2012, research.google. com/archive/large_deep_networks_nips2012.html. ● TensorFlow white paper, tensorflow.org/whitepaper2015.pdf (clickable links in bibliography) ● TensorFlow: A System for Large-Scale Machine Learning, http://arxiv.org/abs/1605.08695 tensorflow.org research.google.com/people/jeff We’re Hiring! See g.co/brain Questions?