Share
Embed
Transcript
23 slides
-
About me Anand Ganesh - infra engineer trying to
learn ML. Several years at Microsoft, recently software engineer in the search team at Facebook. Fascinated by functional programming and key value stores. Trying to come up with the right abstractions for machine learning. email: first name dot last name at gmail -
Agenda Theory: Intro to ML and NN Engineering:
TensorFlow Product: Self Driving Cars Example: ML model for self driving car Q&A -
State of the Art MNIST softmax: 92% ocr
accuracy cnn: 99.67% imagenet softmax: 35% image detection accuracy cnn: 67% speech recognition hmm: 65% word error rate lstm: 92% -
Architecture Online regression/classification algorithm NN, SVM, HMM
Configuration = Model Offline Learning Algorithms: Data->Model Gradient Descent, SGD, Adam -
Differentiable Program Computation Graphs Neural Net, SVM
backpropagation = reverse mode differentiation Gradient Descent optimize programs using derivatives -
Neural Networks Recurrent Neural Networks are Turing Complete
Learning is hard Optimization has too many parameters Simplify using tricks like convolution vanishing gradients – derivatives are hard to compute -
TensorFlow A TensorFlow graph contains a set of Operation
objects, which represent units of computation; and Tensor objects, which represent the units of data that flow between operations. Lazy computation Offload series of computations to GPU without shuttling data back and forth -
TensorFlow Example a = tf.constant([2, 1], shape=[2, 1])
b = tf.constant([2, 1], shape=[1, 2]) op = tf.matmul(a, b) ss.run(op) constructs: constant, variable, placeholder, tensor -
TensorFlow Neural Network Neuron Layer = Matrix Multiplication
Offline Hyper Parameters (playground.tensorflow) Type (classification/regression) Learning Rate Activation Function (sigmoid, tanh, relu) Regularization (L1 / L2) Overall Flow setup hyper-parameters train – iterate based on error and derivatives test – to compute accuracy -
Self Driving Cars Work started in 1929, first autonomous
cars in 1984 As of 2016, Tesla had 200M km and Google 2.5M km of autonomous driving Advantages Eliminate 90% of accidents Increase throughput from 2200 cars per lane per hour to 8800 cars per lane per hour (highways) -
Basic Architecture Recognition Identify objects around the car
Location Determine self-location of car, surrounding objects and roads Motion Predict motion of objects around the car Control Low level control of brakes, gas, steering, etc. -
Steering Wheel Control Udacity Challenge: predict steering wheel angle
from past image data offline: unlimited training time online: prediction per frame < 1/20th second -
Steering Wheel Model map sequence of images to sequence
of steering wheel angles Setup Type: regression 3-D convolution for motion detection LSTM + RNN Regularization via dropout Gradient clipping Optimizer Homework: run and verify this model -
Points to Ponder Can a self driving car work
with 67% image detection accuracy ? Can we use linear programming (e.g. simplex) for learning ? -
References Udacity – course and challenges steering wheel
problem Google TensorFlow playground.tensorflow.org aimotive (self driving car architecture) Thanks a lot to Dhilip and everyone here for this opportunity, and to AppKnox for hosting this event. -
Problem Structure Classification Regression Domains Image
Object Detection Speech Recognition Search Ranking Finance -
Solution Structure Code Structure Decision Trees Neural
Networks Support Vector Machines Hidden Markov Models Running Binary = code + configuration Learning the configuration Gradient Descent