5. Deep Learning vs. Machine Learning
DL
feature learning + classification
Cat
Dog
Other
manual feature extraction
ML
classification algorithm
Cat
Dog
Other
6. Choosing a Deep Neural
Network
● Convolutional Neural Network (CNN)
○ Great machine learning model for image classification
penultimate
layer
RGB channels
of input image
Convolution layer Pooling layer
Fully connected layer
Cat
Dog
Other
9. • 37 category pet dataset
• 200 images for each
class
• http://www.robots.ox.ac.u
k/~vgg/data/pets/
Azure Open Datasets
10. ● Many great tools
● Using notebooks for easy setup
and quick iteration
● Jupyter support in VS Code
○ Power of VS Code brought to
the world of notebooks
○ Intelligent autocompletions
○ Variable explorer
○ Remote development
○ Convert to a Python script
11.
12.
13. Deep
Learning with
small
datasets
● By nature, Deep Learning
requires
○ Massive amounts of training data
○ Huge computation resources
● ~200 images per breed is not
enough
● Possible solutions for working
with small datasets:
○ Get more data – larger datasets
have huge requirement on
compute and time
○ Reuse pre-trained models -
Transfer Learning
14. ● A popular technique in deep learning
that allows you to train Deep Neural
Networks with comparatively little data.
● Reuse a pre-trained model on a new,
but related, problem.
● Retrain the last fully-connected layer
15.
16. Azure Machine Learning service
Bring AI to everyone with an end-to-end, scalable, trusted platform
Built with your needs in mind
Support for open source frameworks
Managed compute
DevOps for machine learning
Simple deployment
Automated machine learning
Seamlessly integrated with the Azure Portfolio
Boost your data science productivity
Increase your rate of experimentation
Deploy and manage your models everywhere
Simplified hyperparameter tuning
17.
18. • Import / export Jupyter Notebooks
• Visualize data frames and plots
• Variable Explorer / Data Viewer
• Integrated IPython/Jupyter console
• Refactoring
• IntelliSense and Debugging
• Real-time collaboration with Live Share
• Remote development (SSH, containers,
WSL)
19.
20. • Connect to AML services
from within VS Code
• Manage workspaces
• Submit experiments
• Register models
• Deploy services
• View pipelines
Microsoft Confidential
21. 1. Explored data and trained model in
Jupyter notebooks
2. Used Azure Machine Learning to
tune our model
3. Converted our notebook into a
Python module
4. Deployed a web service
5. Tested
22. ● Build your own pet detector!
○ Pet Detector Github repo: aka.ms/pet-detector-demo
● Try out the VS Code Jupyter support today:
○ aka.ms/vscode-jupyter
23. ● Pet Detector Github repo: aka.ms/pet-detector-demo
● Python extension for VS Code: aka.ms/python-extension
● Azure Machine Learning extension for VS Code: aka.ms/aml-extension
So, how do we teach machines how to classify dogs? Let’s walkthrough a few things we will need: data source for training, techniques, and the framework to use when it comes to implementation.
Convolutional neural network (CNN) is the best machine learning model for image classification, but in this case, there are not enough training examples to train it. It would not be able to learn generic enough patterns off this dataset to classify different dog breeds. Most likely, it will just overfit to this small amount of training examples so that accuracy on the test set will be low. There are two possible approaches to mitigate the lack of training examples:
Merge dogs dataset with another bigger dataset with images (i.e ImageNet) and train a CNN on these merged examples.
Take an already pre-trained deep neural network on a larger dataset, cut into it, and attach an additional “classification head” i.e. several additional fully connected layers with the Softmax layer on top of them.
CNN popular in image
Good at Preserving depth
3 channels for RGB ( get preserved)
Several important Layer types – conv layer filters through inputs and see which inputs are important
Pooling layers – reduce number of inputs to condense the information so that we don’t use too much memory/ too many parameters expensive and time consuming
Fully connected layer – tell you the classification and probabilities
Introduce the service, the value add of notebooks in this scenario, and then cover compute
Azure Machine Learning Services empowers you to bring AI to everyone with an end-to-end, scalable, trusted platform.
Boost your data science productivity
Python pip-installable extensions for Azure Machine Learning that enable data scientists to build and deploy machine learning and deep learning models
Now available for Computer Vision, Text Analytics and Time-Series Forecasting.
Increase your rate of experimentation
Rapidly prototype on your desktop, then easily scale up on virtual machines or scale out using Spark clusters
Proactively manage model performance, identify the best model, and promote it using data-driven insights
Collaborate and share solutions using popular Git repositories.
Deploy and manage your models everywhere
Use Docker containers to deploy models into production faster in the cloud, on-premises, or at the edge
Promote your best performing models into production and retrain them when their performance degrades
Azure Machine Learning Services are built with your needs in mind, providing:
GPU-enabled virtual machines
Low-latency predictions at scale
Integration with popular Python IDEs
Role-based access controls
Model versioning
Automated model retraining
(Optional: other services)
Azure Machine Learning Workbench integrates with ONNX models
Work with your ONNX models from Visual Studio Code Tools for AI.
Build deep learning models and call services straight from your favorite IDE easier with Azure Machine Learning services built right in.
Create a seamless developer experience across desktop, cloud, or at the edge.
AI Toolkit for Azure IoT Edge
MMLSpark is an open-source Spark package that enables you to quickly create powerful, highly-scalable predictive and analytical models for large image and text datasets by using deep learning and data science tools for Apache Spark.
Azure Machine Learning Services seamlessly integrates with the rest of the Azure portfolio.
<Transition>: Azure Machine Learning Services allows you to deploy models to many different production environments.
Introduce the service, the value add of notebooks in this scenario, and then cover compute