Top Banner
Introducing Tenso low The game changer in building "intelligent" applications
48

Introducing TensorFlow: The game changer in building "intelligent" applications

Jan 24, 2017

Download

Technology

Rokesh Jankie
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introducing TensorFlow: The game changer in building "intelligent" applications

Introducing TensorflowThe game changer in building "intelligent" applications

Page 2: Introducing TensorFlow: The game changer in building "intelligent" applications

Who Am I• Rokesh Jankie (Computer Science, MSc)

• Google Believer since Gmail (2004)

• Professionally :

• CTO QAFE Inc., Head of R&D Qualogy

• Other:

• Organizer for GDG Netherlands and GDG Cloud Netherlands

• Was introduced to Neural Networks in 1997

Page 3: Introducing TensorFlow: The game changer in building "intelligent" applications

Shift in Strategy at Google

Page 4: Introducing TensorFlow: The game changer in building "intelligent" applications

4th of October 2016

Page 5: Introducing TensorFlow: The game changer in building "intelligent" applications

4th of October 2016

Page 6: Introducing TensorFlow: The game changer in building "intelligent" applications

How Can You Get Started with Machine Learning?

• Three ways, with varying complexity:

• Use a Cloud-based or Mobile API (Vision, Natural Language, etc.)

• Use an existing model architecture, and retrain it or fine tune on your dataset

• Develop your own machine learning models for new problems

Mor

e fle

xibl

e, b

ut m

ore

effort

requ

ired

Page 7: Introducing TensorFlow: The game changer in building "intelligent" applications
Page 8: Introducing TensorFlow: The game changer in building "intelligent" applications

What is TensorFlow

• Open source Machine Learning library

• Especially useful for Deep Learning

• For research and production

• Apache 2.0 license

Page 9: Introducing TensorFlow: The game changer in building "intelligent" applications

TensorFlow History• DistBelief

Page 10: Introducing TensorFlow: The game changer in building "intelligent" applications

Jeff Dean!

Page 11: Introducing TensorFlow: The game changer in building "intelligent" applications

You mentioned Deep Learning? Wazup?• The first question to answer: What’s a Neural Network ?

• Inspired by Biology:

• Two flavours: Supervised an Unsupervised

Page 12: Introducing TensorFlow: The game changer in building "intelligent" applications

Base Idea of Neural Networks

Page 13: Introducing TensorFlow: The game changer in building "intelligent" applications

This is what we are trying to solve

f(x) = y

Page 14: Introducing TensorFlow: The game changer in building "intelligent" applications

Activation Functions

Page 15: Introducing TensorFlow: The game changer in building "intelligent" applications

Neural Networks• Many kinds op NNs

Page 16: Introducing TensorFlow: The game changer in building "intelligent" applications

What happened in the last decade…

• Algorithms: This area has seen some improvements, but most of the early wins came from fairly old ideas. Now that Deep Learning is showing success we are seeing some good advances as well.

• Datasets: Training large networks is hard without large enough datasets. MNIST can only go so far in pushing the limits. Having datasets like ImageNet has really helped pushed the state of the art in vision.

• Compute: the biggest game changer in recent years.

Page 17: Introducing TensorFlow: The game changer in building "intelligent" applications

Convolution NNs• Large Networks

• Lots of Input Nodes

• Lots of Layers

• Each Layer with a special task

Page 18: Introducing TensorFlow: The game changer in building "intelligent" applications

TensorFlow History: The Cat

This was in 2012

It took 16,000 computers to identify a cat!

Page 19: Introducing TensorFlow: The game changer in building "intelligent" applications

“TensorFlow”, the name… Tensors: multidimensional data arrays

[0.3,0.2,0.4,0.5,0.9]

Butalso:[[0.3,0.2,0.4,0.5,0.9],[0.6,0.0,0.8,0.5,0.4],[0.2,0.8,0.8,0.1,0.3]]

Page 20: Introducing TensorFlow: The game changer in building "intelligent" applications

“TensorFlow”, the flow ?• Math Operations

• tf.exp tf.pow tf.tan tf.sign

• Control Flow

• tf.cond tf.do_while

• Tensor Operations

• tf.matmul tf.add tf.reduce_sum tf.cumprod

Page 21: Introducing TensorFlow: The game changer in building "intelligent" applications

“TensorFlow”, the GraphComputation is defined as a directed acyclic graph (DAG) to optimize an objective function

• Graph is defined in high-level language (Python)

• Graph is compiled and optimized

• Graph is executed (in parts or fully) on available low level devices (CPU, GPU)

• Data (tensors) flow through the graph

• TensorFlow can compute gradients automatically

Page 22: Introducing TensorFlow: The game changer in building "intelligent" applications

“TensorFlow”, the Graph

Page 23: Introducing TensorFlow: The game changer in building "intelligent" applications

TensorBoard Projector (new)

Recently launched

Projector

Page 24: Introducing TensorFlow: The game changer in building "intelligent" applications

Note on t-SNE

The good news is that by studying how t-SNE behaves in simple cases, it’s possible to develop an intuition for what’s going on.

(see also http://distill.pub/2016/misread-tsne/ )

Page 25: Introducing TensorFlow: The game changer in building "intelligent" applications

“TensorFlow”, Gradients?

Page 26: Introducing TensorFlow: The game changer in building "intelligent" applications

The architecture

Core in C++

Different front ends

Python and C++ today, community may add more

Page 27: Introducing TensorFlow: The game changer in building "intelligent" applications
Page 28: Introducing TensorFlow: The game changer in building "intelligent" applications

Linear Regression & Classification

Page 29: Introducing TensorFlow: The game changer in building "intelligent" applications

TensorFlow Playground

Page 30: Introducing TensorFlow: The game changer in building "intelligent" applications
Page 31: Introducing TensorFlow: The game changer in building "intelligent" applications

what just happened in Linear Regression ?

Page 32: Introducing TensorFlow: The game changer in building "intelligent" applications

Writing your Applications: Where to start ?

• The easiest way to go (nowadays) is Docker image

• When you start the docker image immediately a iPython Notebook is available

• Start playing around with notebooks! (we can do it together!)

Page 33: Introducing TensorFlow: The game changer in building "intelligent" applications

Code Sample 1: Simple

Page 34: Introducing TensorFlow: The game changer in building "intelligent" applications

Code Sample 2: Which processing unit?

Page 35: Introducing TensorFlow: The game changer in building "intelligent" applications

Code Sample 2 : output

Page 36: Introducing TensorFlow: The game changer in building "intelligent" applications

Code Sample 2 : result

Page 37: Introducing TensorFlow: The game changer in building "intelligent" applications

Code Sample 3: Simple NN

Page 38: Introducing TensorFlow: The game changer in building "intelligent" applications

What is the process ?

Page 39: Introducing TensorFlow: The game changer in building "intelligent" applications

Cloud MLAnnounced in October 2016 at Google Horizon Event

Page 40: Introducing TensorFlow: The game changer in building "intelligent" applications

The Power of Cloud ML

Page 41: Introducing TensorFlow: The game changer in building "intelligent" applications

Examples

• https://github.com/tensorflow/models/tree/master/im2txt

• “Lip reading”

• Human-like sound: WaveNet

Page 42: Introducing TensorFlow: The game changer in building "intelligent" applications

Possibilities…many, but I want to highlight one specifically

Page 43: Introducing TensorFlow: The game changer in building "intelligent" applications
Page 44: Introducing TensorFlow: The game changer in building "intelligent" applications

Solution space

Page 45: Introducing TensorFlow: The game changer in building "intelligent" applications

– Aja Huang

“The possibilities and power are innumerable”

Page 46: Introducing TensorFlow: The game changer in building "intelligent" applications

What’s next ?

• tensorflow.org

• github.com/tensorflow

• Want to learn more?

• Udacity class on Deep Learning, goo.gl/iHssII

• Guides, codelabs, videos

• MNIST for Beginners, goo.gl/tx8R2b

• TF Learn Quickstart, goo.gl/uiefRn

• TensorFlow for Poets, goo.gl/bVjFIL

• ML Recipes, goo.gl/KewA03

• TensorFlow and Deep Learning without a PhD, goo.gl/pHeXe7

Page 47: Introducing TensorFlow: The game changer in building "intelligent" applications

And there is more

• GDG Cloud Netherlands is organizing a Viewing Party @Google Amsterdam

• More TensorFlow coming up (hands-on, more in-depth session, training)

Follow twitter: @gdgcloudnl

subscribe to https://www.gdgnetherlands.org

Page 48: Introducing TensorFlow: The game changer in building "intelligent" applications

Let’s create awesome stuff!Rokesh Jankie

[email protected] twitter.com/rjankie

plus.google.com/+RokeshJankie/ Many thanks to Josh Gordon, Yann LeCunn, Chris Olah, Jeff Dean