Practical Methodology for Deploying Machine Learning Ian Goodfellow

Practical Methodology for Deploying Machine Learning Ian Goodfellow

Practical Methodology for Deploying Machine Learning Ian Goodfellow (An homage to “Advice for Applying Machine Learning” by Andrew Ng) What drives success in ML? Arcane knowledge Knowing how Mountains of dozens of to apply 3-4 of data? obscure algorithms? standard techniques? (2) (2) (2) h1 h2 h3 (1) (1) (1) (1) h1 h2 h3 h4 v1 v2 v3 Street View Transcription (Goodfellow et al, 2014) 3 Step Process • Use needs to define metric-based goals • Build an end-to-end system • Data-driven refinement Identify needs • High accuracy or low accuracy? • Surgery robot: high accuracy • Celebrity look-a-like app: low accuracy Choose Metrics • Accuracy? (% of examples correct) • Coverage? (% of examples processed) • Precision? (% of detections that are right) • Recall? (% of objects detected) • Amount of error? (For regression problems) End-to-end system • Get up and running ASAP • Build the simplest viable system first • What baseline to start with though? • Copy state-of-the-art from related publication Deep or not? • Lots of noise, little structure -> not deep • Little noise, complex structure -> deep • Good shallow baseline: • Use what you know • Logistic regression, SVM, boosted tree are all good What kind of deep? • No structure -> fully connected • Spatial structure -> convolutional • Sequential structure -> recurrent Fully connected baseline • 2-3 hidden layer feedforward network • AKA “multilayer perceptron” • Rectified linear units V • Dropout W • SGD + momentum Convolutional baseline • Inception • Batch normalization • Fallback option: • Rectified linear convolutional net • Dropout • SGD + momentum Recurrent baseline output × • LSTM output gate self-loop • SGD + × state • Gradient clipping forget gate × input gate • High forget gate bias input Data driven adaptation • Choose what to do based on data • Don’t believe hype • Measure train and test error • “Overfitting” versus “underfitting” High train error • Inspect data for defects • Inspect software for bugs • Don’t roll your own unless you know what you’re doing • Tune learning rate (and other optimization settings) • Make model bigger Checking data for defects • Can a human process it? 26624 Increasing depth Effect of Depth 96.5 96.0 95.5 95.0 94.5 94.0 Test accuracy (%) accuracy Test 93.5 93.0 92.5 92.0 3 4 5 6 7 8 9 10 11 Number of hidden layers High test error • Add dataset augmentation • Add dropout • Collect more data Increasing training set size 20 Bayes error 6 Train (quadratic) Test (quadratic) Test (optimal capacity) 5 15 Train (optimal capacity) 4 10 3 Error (MSE) Error 2 5 Optimal capacity (polynomial degree) (polynomial capacity Optimal 1 0 0 100 101 102 103 104 105 100 101 102 103 104 105 # train examples # train examples Deep Learning textbook Yoshua Bengio Ian Goodfellow Aaron Courville goodfeli.github.io/dlbook.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    19 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us