Introducing Deep Learning with MATLAB

Similar documents
System Implementation for SemEval-2017 Task 4 Subtask A Based on Interpolated Deep Neural Networks

Semantic Segmentation with Histological Image Data: Cancer Cell vs. Stroma

A Simple VQA Model with a Few Tricks and Image Features from Bottom-up Attention

Python Machine Learning

Forget catastrophic forgetting: AI that learns after deployment

HIERARCHICAL DEEP LEARNING ARCHITECTURE FOR 10K OBJECTS CLASSIFICATION

Deep search. Enhancing a search bar using machine learning. Ilgün Ilgün & Cedric Reichenbach

QuickStroke: An Incremental On-line Chinese Handwriting Recognition System

arxiv: v1 [cs.cv] 10 May 2017

Modeling function word errors in DNN-HMM based LVCSR systems

Training a Neural Network to Answer 8th Grade Science Questions Steven Hewitt, An Ju, Katherine Stasaski

Human Emotion Recognition From Speech

arxiv: v1 [cs.lg] 15 Jun 2015

An Introduction to Simio for Beginners

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Course Outline. Course Grading. Where to go for help. Academic Integrity. EE-589 Introduction to Neural Networks NN 1 EE

Mathematics process categories

Modeling function word errors in DNN-HMM based LVCSR systems

Learning Methods for Fuzzy Systems

Using Deep Convolutional Neural Networks in Monte Carlo Tree Search

Deep Neural Network Language Models

Generative models and adversarial training

Autoregressive product of multi-frame predictions can improve the accuracy of hybrid models

A Neural Network GUI Tested on Text-To-Phoneme Mapping

Diagnostic Test. Middle School Mathematics

Lip reading: Japanese vowel recognition by tracking temporal changes of lip shape

Modeling user preferences and norms in context-aware systems

Lecture 1: Machine Learning Basics

FUZZY EXPERT. Dr. Kasim M. Al-Aubidy. Philadelphia University. Computer Eng. Dept February 2002 University of Damascus-Syria

Unsupervised Learning of Word Semantic Embedding using the Deep Structured Semantic Model

INPE São José dos Campos

Twitter Sentiment Classification on Sanders Data using Hybrid Approach

LEGO MINDSTORMS Education EV3 Coding Activities

Word Segmentation of Off-line Handwritten Documents

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

Testing A Moving Target: How Do We Test Machine Learning Systems? Peter Varhol Technology Strategy Research, USA

Taxonomy-Regularized Semantic Deep Convolutional Neural Networks

OCR for Arabic using SIFT Descriptors With Online Failure Prediction

A study of speaker adaptation for DNN-based speech synthesis

On the Formation of Phoneme Categories in DNN Acoustic Models

Learning, Communication, and 21 st Century Skills: Students Speak Up For use with NetDay Speak Up Survey Grades 3-5

arxiv: v1 [cs.lg] 7 Apr 2015

Artificial Neural Networks written examination

BUILDING CONTEXT-DEPENDENT DNN ACOUSTIC MODELS USING KULLBACK-LEIBLER DIVERGENCE-BASED STATE TYING

Science Olympiad Competition Model This! Event Guidelines

Knowledge Transfer in Deep Convolutional Neural Nets

A student diagnosing and evaluation system for laboratory-based academic exercises

A Compact DNN: Approaching GoogLeNet-Level Accuracy of Classification and Domain Adaptation

Computers Change the World

Time series prediction

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

Test Effort Estimation Using Neural Network

A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval

Assignment 1: Predicting Amazon Review Ratings

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Learning Structural Correspondences Across Different Linguistic Domains with Synchronous Neural Language Models

Diverse Concept-Level Features for Multi-Object Classification

SARDNET: A Self-Organizing Feature Map for Sequences

Circuit Simulators: A Revolutionary E-Learning Platform

Software Maintenance

Model Ensemble for Click Prediction in Bing Search Ads

Paper Reference. Edexcel GCSE Mathematics (Linear) 1380 Paper 1 (Non-Calculator) Foundation Tier. Monday 6 June 2011 Afternoon Time: 1 hour 30 minutes

Cultivating DNN Diversity for Large Scale Video Labelling

Speech Emotion Recognition Using Support Vector Machine

How People Learn Physics

Speak Up 2012 Grades 9 12

Computer Software Evaluation Form

Lip Reading in Profile

Evolutive Neural Net Fuzzy Filtering: Basic Description

One Way Draw a quick picture.

CS Machine Learning

MYCIN. The MYCIN Task

M55205-Mastering Microsoft Project 2016

Dual-Memory Deep Learning Architectures for Lifelong Learning of Everyday Human Behaviors

Research computing Results

A Deep Bag-of-Features Model for Music Auto-Tagging

New Paths to Learning with Chromebooks

Developing True/False Test Sheet Generating System with Diagnosing Basic Cognitive Ability

TRANSFER LEARNING OF WEAKLY LABELLED AUDIO. Aleksandr Diment, Tuomas Virtanen

If we want to measure the amount of cereal inside the box, what tool would we use: string, square tiles, or cubes?

Offline Writer Identification Using Convolutional Neural Network Activation Features

THE enormous growth of unstructured data, including

Semi-supervised methods of text processing, and an application to medical concept extraction. Yacine Jernite Text-as-Data series September 17.

Axiom 2013 Team Description Paper

Learning to Schedule Straight-Line Code

Probabilistic Latent Semantic Analysis

Linking Task: Identifying authors and book titles in verbose queries

Introduction to Causal Inference. Problem Set 1. Required Problems

A Case Study: News Classification Based on Term Frequency

Iep Data Collection Templates

Calibration of Confidence Measures in Speech Recognition

Learning Microsoft Publisher , (Weixel et al)

Artificial Neural Networks

arxiv: v1 [cs.cl] 27 Apr 2016

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Using Web Searches on Important Words to Create Background Sets for LSI Classification

CS 446: Machine Learning

Design Of An Automatic Speaker Recognition System Using MFCC, Vector Quantization And LBG Algorithm

Predicting Student Attrition in MOOCs using Sentiment Analysis and Neural Networks

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

Transcription:

Introducing Deep Learning with MATLAB

What is Deep Learning? Deep learning is a type of machine learning in which a model learns to perform classification tasks directly from images, text, or sound. Deep learning is usually implemented using a neural network architecture. The term deep refers to the number of layers in the network the more layers, the deeper the network. Traditional neural networks contain only 2 or 3 layers, while deep networks can have hundreds.

Deep Learning Applications Here are just a few examples of deep learning at work: A self-driving vehicle slows down as it approaches a pedestrian crosswalk. An ATM rejects a counterfeit bank note. A smartphone app gives an instant translation of a foreign street sign. BIBLIOTECA LIBRARY Deep learning is especially well-suited to identification applications such as face recognition, text translation, voice recognition, and advanced driver assistance systems, including, lane classification and traffic sign recognition. 1 2 3 CANCEL 4 5 6 CLEAR 7 8 9 ENTER 0 3

What Makes Deep Learning State-of-the-Art? In a word, accuracy. Advanced tools and techniques have dramatically improved deep learning algorithms to the point where they can outperform humans at classifying images, win against the world s best GO player, or enable a voice-controlled assistant like Amazon Echo and Google Home to find and download that new song you like. UCLA researchers built an advanced microscope that yields a high-dimensional data set used to train a deep learning network to identify cancer cells in tissue samples. 4

What Makes Deep Learning State-of-the-Art? continued Three technology enablers make this degree of accuracy possible: Easy access to massive sets of labeled data Data sets such as ImageNet and PASCAL VoC are freely available, and are useful for training on many different types of objects. Increased computing power High-performance GPUs accelerate the training of the massive amounts of data needed for deep learning, reducing training time from weeks to hours. Pretrained models built by experts Models such as AlexNet can be retrained to perform new recognition tasks using a technique called transfer learning. While AlexNet was trained on 1.3 million high-resolution images to recognize 1000 different objects, accurate transfer learning can be achieved with much smaller datasets. 5

Inside a Deep Neural Network A deep neural network combines multiple nonlinear processing layers, using simple elements operating in parallel and inspired by biological nervous systems. It consists of an input layer, several hidden layers, and an output layer. The layers are interconnected via nodes, or neurons, with each hidden layer using the output of the previous layer as its input. 6

How A Deep Neural Network Learns Let s say we have a set of images where each image contains one of four different categories of object, and we want the deep learning network to automatically recognize which object is in each image. We label the images in order to have training data for the network. Using this training data, the network can then start to understand the object s specific features and associate them with the corresponding category. Each layer in the network takes in data from the previous layer, transforms it, and passes it on. The network increases the complexity and detail of what it is learning from layer to layer. Notice that the network learns directly from the data we have no influence over what features are being learned. FILTERS INPUT OUTPUT 7

About Convolutional Neural Networks A convolutional neural network (CNN, or ConvNet) is one of the most popular algorithms for deep learning with images and video. Like other neural networks, a CNN is composed of an input layer, an output layer, and many hidden layers in between. Feature Detection Layers These layers perform one of three types of operations on the data: convolution, pooling, or rectified linear unit (ReLU). Convolution puts the input images through a set of convolutional filters, each of which activates certain features from the images. Pooling simplifies the output by performing nonlinear downsampling, reducing the number of parameters that the network needs to learn about. Rectified linear unit (ReLU) allows for faster and more effective training by mapping negative values to zero and maintaining positive values. These three operations are repeated over tens or hundreds of layers, with each layer learning to detect different features. CAR TRUCK VAN BICYCLE INPUT CONVOLUTION + RELU POOLING CONVOLUTION + RELU POOLING FLATTEN FULLY CONNECTED SOFTMAX FEATURE DETECTION LEARNING CLASSIFICATION 8

About Convolutional Neural Networks continued Classification Layers After feature detection, the architecture of a CNN shifts to classification. The next-to-last layer is a fully connected layer (FC) that outputs a vector of K dimensions where K is the number of classes that the network will be able to predict. This vector contains the probabilities for each class of any image being classified. There is no exact formula for selecting layers. The best approach is to try a few and see how well they work or to use a pretrained network. The final layer of the CNN architecture uses a softmax function to provide the classification output. CAR TRUCK VAN BICYCLE INPUT CONVOLUTION + RELU POOLING CONVOLUTION + RELU POOLING FLATTEN FULLY CONNECTED SOFTMAX FEATURE DETECTION LEARNING CLASSIFICATION Explore the architecture of a CNN 9

What is the Difference Between Deep Learning and Machine Learning? Deep learning is a subtype of machine learning. With machine learning, you manually extract the relevant features of an image. With deep learning, you feed the raw images directly into a deep neural network that learns the features automatically. Deep learning often requires hundreds of thousands or millions of images for the best results. It s also computationally intensive and requires a high-performance GPU. Machine Learning Deep Learning + Good results with small data sets Requires very large data sets + Quick to train a model Computationally intensive CONVOLUTIONAL NEURAL NETWORK (CNN) Need to try different features and classifiers to achieve best results + Learns features and classifiers automatically Accuracy plateaus + Accuracy is unlimited END-TO-END LEARNING FEATURE LEARNING AND CLASSIFICATION 10

Getting Started with Deep Learning If you re new to deep learning, a quick and easy way to get started is to use an existing network, such as AlexNet, a CNN trained on more than a million images. AlexNet is most commonly used for image classification. It can classify images into 1000 different categories, including keyboards, computer mice, pencils, and other office equipment, as well as various breeds of dogs, cats, horses, and other animals. AlexNet was first published in 2012, and has become a well-known model in the research community. Learn more about pretrained networks 11

An Example Using AlexNet You can use AlexNet to classify objects in any image. In this example, we ll use it to classify objects in an image from a webcam installed on a desktop. In addition to MATLAB, we ll be using the following: Neural Network Toolbox Support package for using webcams in MATLAB Support package for using AlexNet After loading AlexNet we connect to the webcam and capture a live image. camera = webcam; % Connect to the camera Next, we resize the image to 227x227 pixels, the size required by AlexNet. picture = imresize(picture,[227,227]); % Resize the picture AlexNet can now classify our image. label = classify(nnet, picture); % Classify the picture image(picture); % Show the picture title(char(label)); % Show the label nnet = alexnet; % Load the neural net picture = camera.snapshot; % Take a picture Watch how-to video: Deep Learning in 11 Lines of MATLAB Code 12

Retraining an Existing Network In the previous example, we used the network straight out of the box. We didn t modify it in any way because AlexNet was trained on images similar to the ones we wanted to classify. To use AlexNet for objects not trained in the original network, we can retrain it through transfer learning. Transfer learning is an approach that applies knowledge of one type of problem to a different but related problem. In this case, we simply trim off the last 3 layers of the network and retrain them with our own images. If transfer learning doesn t suit your application, you may need to train your own network from scratch. This method produces the most accurate results, but it generally requires hundreds of thousands of labeled images and considerable computational resources. Get started with transfer learning 13

Computational Resources for Deep Learning Training a deep learning model can take hours, days, or weeks, depending on the size of the data and the amount of processing power you have available. Selecting a computational resource is a critical consideration when you set up your workflow. Currently, there are three computation options: CPU-based, GPUbased, and cloud-based. CPU-based computation is the simplest and most readily available option. The example described in the previous section works on a CPU, but we recommend using CPU-based computation only for simple examples using a pretrained network. Using a GPU reduces network training time from days to hours. You can use a GPU in MATLAB without doing any additional programming. We recommend an NVidia 3.0 compute-capable GPU. Multiple GPUs can speed up processing even more. Cloud-based GPU computation means that you don t have to buy and set up the hardware yourself. The MATLAB code you write for using a local GPU can be extended to use cloud resources with just a few settings changes. Learn more about deep learning with big data on GPUs 14

More Deep Learning Resources Introduction to Deep Learning Deep Learning: Top 7 Ways to Get Started with MATLAB Deep Learning with MATLAB: Quick-Start Videos Start Deep Learning Faster Using Transfer Learning Transfer Learning Using AlexNet Introduction to Convolutional Neural Networks Create a Simple Deep Learning Network for Classification Deep Learning for Computer Vision with MATLAB Cancer Diagnostics with Deep Learning and Photonic Time Stretch 2017 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders. 80789v00