Transcript
Page 1: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Teaching Recurrent Neural Networks

using Tensorflow Rajiv Shah

twitter: rajcs4 [email protected] www.rajivshah.com

Page 2: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 3: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 4: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Teaching Recurrent Neural Networks using Tensorflow

• How they are used

• Theory - http://playground.tensorflow.org/

• Learn a sine wave - http://tinyurl.com/raj-sine

• Learn to add - http://tinyurl.com/raj-add

• Learn handwriting - https://github.com/hardmaru/write-rnn-tensorflow

Page 5: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 6: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 7: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 8: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 9: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 10: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Theory

Page 11: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 12: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Recurrent Neural Networks: Theory

Page 13: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Unrolling an RNN

Page 14: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 15: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

RNN

Page 16: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

LSTM

Page 17: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 18: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Examples of RNNs

Page 19: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Little more theory . . . but fun

Page 20: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Tensorflow Playground• http://playground.tensorflow.org/

Page 21: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 22: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 23: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Sine Wave

Page 24: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 25: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

High Level Architecture

• Function to get batches

• Determined type of RNN cells and initialize them

• Decide on cost function and hyper parameters (dropout, learning rate, optimizer, batch size, sequence length)

• Run session

Page 26: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Go to the python notebook

Page 27: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Friendly Tensorflow - Using R / Shiny

• Wrapped calls to tensorflow using the rPython language

• Shiny provided a nice visual interface and the ability to quickly change different sorts of inputs / models

• https://github.com/rajshah4/tensorflow_shiny

Page 28: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Adding

Page 29: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Teaching Kids to Add

Page 30: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 31: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Teaching to Add(array([[7], [4], [1], [8], [0], [3], [1], [5], [6], [9], [2], [0], [0], [0], [0]]), 46.0)

Page 32: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Go to the python notebook

Page 33: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Learning Handwriting

Page 34: Teaching Recurrent Neural Networks using Tensorflow (May 2016)
Page 35: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Links

• http://www.cs.toronto.edu/~graves/handwriting.html

• https://github.com/hardmaru/write-rnn-tensorflow

Page 36: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Take Aways

• RNNs are sequential learners and state of the art

• Understand why deep learning is powerful

• See how a RNN learns to model a sine wave, add, learn handwriting . . .

Page 37: Teaching Recurrent Neural Networks using Tensorflow (May 2016)

Teaching Recurrent Neural Networks

using Tensorflow Rajiv Shah

twitter: rajcs4 [email protected] www.rajivshah.com


Top Related