AWS Community Day CPH - Three problems of Terraform
Image Classification with Deep Learning | DevFest + GDay, George Town, Malaysia 2017
1. Ta Virot Chiraphadhanakul, PhD (@tvirot)
Google Developer Expert in Machine Learning
Managing Director, Skooldio
Image Classification
with Deep Learning
5. The Google self-driving car project
became Waymo with a mission to make
it easy and safe for people and things to
move around
Waymo
Video: Waymo
6. A deep learning algorithm capable of
interpreting signs of Diabetic
Retinopathy (DR) in retinal photographs.
DR — an eye condition that affects
people with diabetes — is the fastest
growing cause of blindness, with nearly
415 million diabetic patients at risk
worldwide.
Detecting Diabetic
Eye Disease
Photo: Google Blog
7. An artificial intelligence trained to classify images
of skin lesions as benign lesions or malignant skin
cancers achieves the accuracy of board-certified
dermatologists.
In this work, we pretrain a deep neural network at
general object recognition, then fine-tune it on a
dataset of ~130,000 skin lesion images comprised
of over 2000 diseases.
Identifying Skin
Cancer
Photos: Nature
8. "Farmers want to focus and spend their
time on growing delicious vegetables.”
— Makoto Koike
Cucumber
Sorter
Photos: Google Cloud Platform / Kaz Sato
31. Challenges
Doesn’t scale e.g., 300 x 300 RGB image would require 270,000 weights for
each neuron in the first hidden layer of the neural network
Easily overfit
33. • Apply filters to one small region at a time to detect certain
features of an object (edge, circle, or certain shapes)
• A feature of an object is translation invariant, and the filters
applied to each small region can share weights/parameters
• Fewer parameters required. More robust.
Convolutional Neural Network (CNN)
34. Y. Lecun, L. Bottou, Y. Bengio and P. Haffner, "Gradient-based learning applied to document recognition," in Proceedings of the IEEE,
vol. 86, no. 11, pp. 2278-2324, Nov 1998.
Convolutional Neural Network (CNN)
36. 1. Convolutional Layer
2. Pooling Layer
3. Fully Connected Layer
Layers in CNNs
Source: http://cs231n.github.io/convolutional-networks/
INPUT
32x32
Convolutions SubsamplingConvolutions
C1: feature maps
6@28x28
Subsampling
S2: f. maps
6@14x14
S4: f. maps 16@5x5
C5: layer
120
C3: f. maps 16@10x10
F6: layer
84
Full connection
Full connection
Gaussian conne
OUTPUT
10
37. • Apply filters (or kernels) to the input to
produce the output volume
• The filter size (or receptive field) is small
spatially (3x3 or 5x5) but extends through the
full depth of the input volume
• Slide each filter across the width and height
of the input volume and compute dot
products between the filter and the input at
any position
Convolutional Layer
Source: http://cs231n.github.io/convolutional-networks/
5 filters applied to the input
39. • Reduce the spatial size of the
representation to limit the number of
parameters and avoid overfitting
• Downsample the input spatially using
MAX operation
• Operate independently on every depth
slice / feature map of the input (Thus,
the depth remains unchanged)
Pooling Layer
Source: http://cs231n.github.io/convolutional-networks/
47. Understand the content of images
● Label Detection
● Optical Character Recognition
● Explicit Content Detection
● Face Detection
etc.
Google Cloud
Vision API
Photos: Google Cloud Platform / Kaz Sato
@tvirot