SlideShare a Scribd company logo
1 of 73
Download to read offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Advisors: Robert Chang, Jeff Ullman, Andreas
Paepcke
November 30, 2016
Automatic Grading of Diabetic
Retinopathy through Deep Learning
Apaar Sadhwani, Leo Tam, and Jason Su
MAC403
Problem, Data and Motivation
 Motivation:
 Affects ~100M, many in developed, ~45% of diabetics
 Make process faster, assist ophthalmologist, self-help
 Widespread disease, enable early diagnosis/care
 Given fundus image
 Rate severity of Diabetic Retinopathy
 5 Classes: 0 (Normal), 1, 2, 3, 4 (Severe)
 Hard classification (may solve as ordinal though)
 Metric: quadratic weighted kappa, (pred – real)2 penalty
 Data from Kaggle (California Healthcare Foundation, EyePACS)
 ~35,000 training images, ~54,000 test images
 High resolution: variable, more than 2560 x 1920
Problem, Data and Motivation
 Motivation:
 Affects ~100M, many in developed, ~45% of diabetics
 Make process faster, assist ophthalmologist, self-help
 Widespread disease, enable early diagnosis/care
 Given fundus image
 Rate severity of Diabetic Retinopathy
 5 Classes: 0 (Normal), 1, 2, 3, 4 (Severe)
 Hard classification (may solve as ordinal though)
 Metric: quadratic weighted kappa, (pred – real)2 penalty
 Data from Kaggle (California Healthcare Foundation, EyePACS)
 ~35,000 training images, ~54,000 test images
 High resolution: variable, more than 2560 x 1920
Example images
Class 0 (normal) Class 4 (severe)
Problem, Data and Motivation
 Motivation:
 Affects ~100M, many in developed, ~45% of diabetics
 Make process faster, assist ophthalmologist, self-help
 Widespread disease, enable early diagnosis/care
 Given fundus image
 Rate severity of Diabetic Retinopathy
 5 Classes: 0 (Normal), 1, 2, 3, 4 (Severe)
 Hard classification (may solve as ordinal though)
 Metric: quadratic weighted kappa, (pred – real)2 penalty
 Data from Kaggle (California Healthcare Foundation, EyePACS)
 ~35,000 training images, ~54,000 test images
 High resolution: variable, more than 2560 x 1920
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
Image size Batch Size
224 x 224 128
2K x 2K 2
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
Class 0 1
2 3
4
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples Class 2
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Mentioned in problem statement
- Confirmed with doctors
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Hard classification non-differentiable
- Backprop difficult
0 1
Truth
2 3 4
Penalty/Loss
Class
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Hard classification non-differentiable
- Backprop difficult
0 1
Truth
2 3 4
Predict
1
Penalty/Loss
Class
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Hard classification non-differentiable
- Backprop difficult
0 1
Truth
2 3 4
Predict
2
Penalty/Loss
Class
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Hard classification non-differentiable
- Backprop difficult
0 1
Truth
2 3 4
Predict
3
Penalty/Loss
Class
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Hard classification non-differentiable
- Backprop difficult
0 1
Truth
2 3 4
Penalty/Loss
Class
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Squared error approximation?
- Differentiable
0 1
Truth
2 3 4
Penalty/Loss
Class2.5
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Naïve: 3 class problem, or all zeros!
- Learn all classes separately: 1 vs All?
- Balanced while training
- At test time?
Challenges
 High resolution images
 Atypical in vision, GPU batch size issues
 Discriminative features small
 Grading criteria:
 not clear (EyePACS guidelines)
 learn from data
 Incorrect labeling
 Artifacts in ~40% images
 Optimizing approach to QWK
 Severe class imbalance
 class 0 dominates
 Too few training examples
- Big learning models take more data!
- Harness test set?
Conventional Approaches
 Literature survey:
 Hand-designed features to pick each
component
 Clean images, small datasets
 Optic disk, exudate segmentation: fail
due to artifacts
 SVM: poor performance
Conventional Approaches
 Literature survey:
 Hand-designed features to pick each
component
 Clean images, small datasets
 Optic disk, exudate segmentation: fail
due to artifacts
 SVM: poor performance
Our Approach
1. Registration, Pre-processing
2. Convolutional Neural Nets (CNNs)
3. Hybrid Architecture
Step 1: Pre-processing
 Registration
 Hough circles, remove outside portion
 Downsize to common size (224 x 224, 1K x 1K)
 Color correction
 Normalization (mean, variance)
Step 2: CNNs
3 Conv layers
(depth 96)
MaxPool (stride2)
3 Conv layers
(depth 384)
MaxPool (stride2)
3 Conv layers
(depth 1024)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
3 Conv layers
(depth 256)
MaxPool (stride2)
 Network in Network architecture
 7.5M parameters
 No FC layers, spatial average pooling instead
 Transfer learning (ImageNet)
 Variable learning rates
 Low for “ImageNet” layers
 Schedule
 Combat lack of data, over-fitting
 Dropout, Early stopping
 Data augmentation (flips, rotation)
Step 2: CNNs
3 Conv layers
(depth 96)
MaxPool (stride2)
3 Conv layers
(depth 384)
MaxPool (stride2)
3 Conv layers
(depth 1024)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
3 Conv layers
(depth 256)
MaxPool (stride2)
 Network in Network architecture
 7.5M parameters
 No FC layers, spatial average pooling instead
 Transfer learning (ImageNet)
 Variable learning rates
 Low for “ImageNet” layers
 Schedule
 Combat lack of data, over-fitting
 Dropout, Early stopping
 Data augmentation (flips, rotation)
Step 2: CNNs
3 Conv layers
(depth 96)
MaxPool (stride2)
3 Conv layers
(depth 384)
MaxPool (stride2)
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
3 Conv layers
(depth 256)
MaxPool (stride2)
 Network in Network architecture
 2.2M parameters
 No FC layers, spatial average pooling instead
 Transfer learning (ImageNet)
 Variable learning rates
 Low for “ImageNet” layers
 Schedule
 Combat lack of data, over-fitting
 Dropout, Early stopping
 Data augmentation (flips, rotation)
Step 2: CNNs
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
 Network in Network architecture
 2.2M parameters
 No FC layers, spatial average pooling instead
 Transfer learning (ImageNet)
 Variable learning rates
 Low for “ImageNet” layers
 Schedule
 Combat lack of data, over-fitting
 Dropout, Early stopping
 Data augmentation (flips, rotation)
Step 2: CNNs
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
 Network in Network architecture
 2.2M parameters
 No FC layers, spatial average pooling instead
 Transfer learning (ImageNet)
 Variable learning rates
 Low for “ImageNet” layers
 Schedule
 Combat lack of data, over-fitting
 Dropout, Early stopping
 Data augmentation (flips, rotation)
Step 2: CNNs
 Network in Network architecture
 2.2M parameters
 No FC layers, spatial average pooling instead
 Transfer learning (ImageNet)
 Variable learning rates
 Low for “ImageNet” layers
 Schedule
 Combat lack of data, over-fitting
 Dropout, Early stopping
 Data augmentation (flips, rotation)
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
Step 2: CNN Experiments
 What image size to use?
 Strategize using 224 x 224 -> extend to 1024 x 1024
 What loss function?
 Mean squared error (MSE)
 Negative Log Likelihood (NLL)
 Linear Combination (annealing)
 Class imbalance
 Even sampling -> true sampling
Step 2: CNN Experiments
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
No
learning
Loss Function Sampling Result
Image size: 224 x 224
Step 2: CNN Experiments
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
No
learning
Loss Function Sampling Result
MSE Fails to learn
Image size: 224 x 224
Step 2: CNN Experiments
Loss Function Sampling Result
MSE Fails to learn
MSE Fails to learn
Image size: 224 x 224
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
No
learning
Step 2: CNN Experiments
Loss Function Sampling Result
MSE Fails to learn
MSE Fails to learn
NLL Kappa < 0.1
Image size: 224 x 224
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
No
learning
Step 2: CNN Experiments
Loss Function Sampling Result
MSE Fails to learn
MSE Fails to learn
NLL Kappa < 0.1
NLL Kappa = 0.29
Image size: 224 x 224
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
No
learning
Step 2: CNN Experiments
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
0.01x
step size
Loss Function Sampling Result
NLL
(top layers only)
Kappa = 0.29
Image size: 224 x 224
Step 2: CNN Experiments
Loss Function Sampling Result
NLL
(top layers only)
Kappa = 0.29
NLL Kappa = 0.42
Image size: 224 x 224
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
0.01x
step size
Step 2: CNN Experiments
Loss Function Sampling Result
NLL
(top layers only)
Kappa = 0.29
NLL Kappa = 0.42
NLL Kappa = 0.51
Image size: 224 x 224
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
0.01x
step size
Step 2: CNN Experiments
Loss Function Sampling Result
NLL
(top layers only)
Kappa = 0.29
NLL Kappa = 0.42
NLL Kappa = 0.51
MSE Kappa = 0.56
Image size: 224 x 224
3 Conv layers
(depth 384, 64, 5)
MaxPool (stride2)
AvgPool
Input Image
Class probabilities
0.01x
step size
Step 2: CNN Results
Step 2: CNN Results
Computing Setup
 Amazon EC2: GPU nodes,VPC, Amazon EBS-optimized
 Single GPU nodes for 224 x 224 (g2.2xlarge)
 Multi-GPU nodes for 1K x 1K (g2.8xlarge)
 EBS, Amazon S3
 Used Python for processing
 Torch library (Lua) for training
Computing Setup
Data EBS (gp2)
Model
Expt.
1 or 4 GPU node on EC2
Computing Setup
Data 1 Data 2EBS (gp2) EBS (gp2)
Snapshot (S3)
Model
Expt.
GPU node on EC2
Computing Setup
Master
Data 1 Data 2
Central Node
Model 2
Model 1
Model 10
EBS (gp2)
…
EBS-optimized
EBS (gp2)
Snapshot (S3)
VPC on EC2
Model
Expt.
GPU node on EC2
Computing Setup
Master
Data 1 Data 2
Central Node
Model 2
Model 1
Model 10
EBS (gp2)
…
EBS-optimized
EBS (gp2)
Snapshot (S3)
VPC on EC2
Model
Expt.
GPU node on EC2
~200 MB/s
Computing Setup
Master 2
Data 1 Data 2
Central Node
Model 12
Model 11
Model 20
EBS (gp2)
…
EBS-optimized
EBS (gp2)
Snapshot (S3)
VPC on EC2
Master 1
Central Node
Model 2
Model 1
Model 10…
EBS-optimized VPC on EC2
Computing Setup
g2.2xlarge
1 GPU node on EC2
4 GBGPU memory
Batch size: 128 images of 224 x 224
Computing Setup
g2.2xlarge
1 GPU node on EC2
4 GBGPU memory
Batch size: 128 images of 224 x 224
!! Batch size: 8 images of 1024 x 1024 !!
Computing Setup
g2.2xlarge
1 GPU node on EC2
4 GBGPU memory
Batch size: 128 images of 224 x 224
!! Batch size: 8 images of 1024 x 1024 !!
g2.8xlarge
4 GPU node on EC2
16 GB GPU memory
Data Parallelism
Batch size: ~28 images of 1024 x 1024
Step 3: Hybrid Architecture
2048 1024
64 tiles of
256 x 256
Main
Network
Fuse
Class probabilities
Lesion
Detector
Lesion Detector
 Web viewer and annotation tool
 Lesion annotation
 Extract image patches
 Train lesion classifier
Viewer and Lesion Annotation
Viewer and Lesion Annotation
Lesion Annotation
Extracted Image Patches
Train Lesion Detector
 Only hemorrhages so far
 Positives: 1866 extracted patches from 216
images/subjects
 Negatives: ~25k class-0 images
 Pre-processing/augmentation
 Crop random 256 x 256 image from input, flips
 Pre-trained Network in Network architecture
 Accuracy: 99% for Negatives, 76% for Positives
Train Lesion Detector
 Only hemorrhages so far
 Positives: 1866 extracted patches from 216
images/subjects
 Negatives: ~25k class-0 images
 Pre-processing/augmentation
 Crop random 256 x 256 image from input, flips
 Pre-trained Network in Network architecture
 Accuracy: 99% for Negatives, 76% for Positives
Train Lesion Detector
 Only hemorrhages so far
 Positives: 1866 extracted patches from 216
images/subjects
 Negatives: ~25k class-0 images
 Pre-processing/augmentation
 Crop random 256 x 256 image from input, flips
 Pre-trained Network in Network architecture
 Accuracy: 99% for Negatives, 76% for Positives
Train Lesion Detector
 Only hemorrhages so far
 Positives: 1866 extracted patches from 216
images/subjects
 Negatives: ~25k class-0 images
 Pre-processing/augmentation
 Crop random 256 x 256 image from input, flips
 Pre-trained Network in Network architecture
 Accuracy: 99% for Negatives, 76% for Positives
Train Lesion Detector
 Only hemorrhages so far
 Positives: 1866 extracted patches from 216
images/subjects
 Negatives: ~25k class-0 images
 Pre-processing/augmentation
 Crop random 256 x 256 image from input, flips
 Pre-trained Network in Network architecture
 Accuracy: 99% for Negatives, 76% for Positives
Hybrid Architecture
64 tiles of
256 x 256
2048 1024
Main
Network
Fuse
Class probabilities
Lesion
Detector
Hybrid Architecture
64 tiles of
256 x 256
64 x 31 x 312 x 31 x 31
66 x 31 x 31
2048 1024
2 Conv layers
Main
Network
Fuse
Class probabilities
Lesion
Detector
Hybrid Architecture
64 tiles of
256 x 256
64 x 31 x 312 x 31 x 31
66 x 31 x 31
2048 1024
2 Conv layers
Main
Network
Fuse
Class probabilities
Lesion
Detector
2 x 56 x56
Training Hybrid Architecture
Class probabilities
Training Hybrid Architecture
64 tiles of
256 x 256
2048 1024
Main
Network
Fuse
Lesion
Detector
Training Hybrid Architecture
64 tiles of
256 x 256
Backprop
2048 1024
Main
Network
Fuse
Class probabilities
Lesion
Detector
Training Hybrid Architecture
64 tiles of
256 x 256
Backprop
2048 1024
Main
Network
Fuse
Class probabilities
Lesion
Detector
Other Insights
 Supervised-unsupervised learning
 Distillation
 Hard-negative mining
 Other lesion detectors
 AttentionCNNs
 Both eyes
 Ensemble
Clinical Importance
 3 class problem
 True “4” problem
 Combining imaging modalities (OCT)
 Longitudinal analysis
Many thanks to…
 Amazon Web Services
 AWS Educate
 AWS Cloud Credits for Research
 Robert Chang
 Jeff Ullman
 Andreas Paepcke
Thank you!
Remember to complete your
evaluations!

More Related Content

Similar to AWS re:Invent 2016: Automatic Grading of Diabetic Retinopathy through Deep Learning (MAC403)

Aa diabetic retinopathy-detection
Aa diabetic retinopathy-detectionAa diabetic retinopathy-detection
Aa diabetic retinopathy-detectionIshanDhoble1
 
Barga Data Science lecture 4
Barga Data Science lecture 4Barga Data Science lecture 4
Barga Data Science lecture 4Roger Barga
 
Probability Forecasting - a Machine Learning Perspective
Probability Forecasting - a Machine Learning PerspectiveProbability Forecasting - a Machine Learning Perspective
Probability Forecasting - a Machine Learning Perspectivebutest
 
Probability Forecasting - a Machine Learning Perspective
Probability Forecasting - a Machine Learning PerspectiveProbability Forecasting - a Machine Learning Perspective
Probability Forecasting - a Machine Learning Perspectivebutest
 
Introduction to machine learning
Introduction to machine learningIntroduction to machine learning
Introduction to machine learningKoundinya Desiraju
 
Trinity of AI: data, algorithms and cloud
Trinity of AI: data, algorithms and cloudTrinity of AI: data, algorithms and cloud
Trinity of AI: data, algorithms and cloudAnima Anandkumar
 
Bridging the Gap: Machine Learning for Ubiquitous Computing -- Evaluation
Bridging the Gap: Machine Learning for Ubiquitous Computing -- EvaluationBridging the Gap: Machine Learning for Ubiquitous Computing -- Evaluation
Bridging the Gap: Machine Learning for Ubiquitous Computing -- EvaluationThomas Ploetz
 

Similar to AWS re:Invent 2016: Automatic Grading of Diabetic Retinopathy through Deep Learning (MAC403) (9)

Aa diabetic retinopathy-detection
Aa diabetic retinopathy-detectionAa diabetic retinopathy-detection
Aa diabetic retinopathy-detection
 
Barga Data Science lecture 4
Barga Data Science lecture 4Barga Data Science lecture 4
Barga Data Science lecture 4
 
Probability Forecasting - a Machine Learning Perspective
Probability Forecasting - a Machine Learning PerspectiveProbability Forecasting - a Machine Learning Perspective
Probability Forecasting - a Machine Learning Perspective
 
Probability Forecasting - a Machine Learning Perspective
Probability Forecasting - a Machine Learning PerspectiveProbability Forecasting - a Machine Learning Perspective
Probability Forecasting - a Machine Learning Perspective
 
Introduction to machine learning
Introduction to machine learningIntroduction to machine learning
Introduction to machine learning
 
Day 4
Day 4Day 4
Day 4
 
PillQC-Deep-Learning
PillQC-Deep-LearningPillQC-Deep-Learning
PillQC-Deep-Learning
 
Trinity of AI: data, algorithms and cloud
Trinity of AI: data, algorithms and cloudTrinity of AI: data, algorithms and cloud
Trinity of AI: data, algorithms and cloud
 
Bridging the Gap: Machine Learning for Ubiquitous Computing -- Evaluation
Bridging the Gap: Machine Learning for Ubiquitous Computing -- EvaluationBridging the Gap: Machine Learning for Ubiquitous Computing -- Evaluation
Bridging the Gap: Machine Learning for Ubiquitous Computing -- Evaluation
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

AWS re:Invent 2016: Automatic Grading of Diabetic Retinopathy through Deep Learning (MAC403)

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Advisors: Robert Chang, Jeff Ullman, Andreas Paepcke November 30, 2016 Automatic Grading of Diabetic Retinopathy through Deep Learning Apaar Sadhwani, Leo Tam, and Jason Su MAC403
  • 2. Problem, Data and Motivation  Motivation:  Affects ~100M, many in developed, ~45% of diabetics  Make process faster, assist ophthalmologist, self-help  Widespread disease, enable early diagnosis/care  Given fundus image  Rate severity of Diabetic Retinopathy  5 Classes: 0 (Normal), 1, 2, 3, 4 (Severe)  Hard classification (may solve as ordinal though)  Metric: quadratic weighted kappa, (pred – real)2 penalty  Data from Kaggle (California Healthcare Foundation, EyePACS)  ~35,000 training images, ~54,000 test images  High resolution: variable, more than 2560 x 1920
  • 3. Problem, Data and Motivation  Motivation:  Affects ~100M, many in developed, ~45% of diabetics  Make process faster, assist ophthalmologist, self-help  Widespread disease, enable early diagnosis/care  Given fundus image  Rate severity of Diabetic Retinopathy  5 Classes: 0 (Normal), 1, 2, 3, 4 (Severe)  Hard classification (may solve as ordinal though)  Metric: quadratic weighted kappa, (pred – real)2 penalty  Data from Kaggle (California Healthcare Foundation, EyePACS)  ~35,000 training images, ~54,000 test images  High resolution: variable, more than 2560 x 1920
  • 4. Example images Class 0 (normal) Class 4 (severe)
  • 5. Problem, Data and Motivation  Motivation:  Affects ~100M, many in developed, ~45% of diabetics  Make process faster, assist ophthalmologist, self-help  Widespread disease, enable early diagnosis/care  Given fundus image  Rate severity of Diabetic Retinopathy  5 Classes: 0 (Normal), 1, 2, 3, 4 (Severe)  Hard classification (may solve as ordinal though)  Metric: quadratic weighted kappa, (pred – real)2 penalty  Data from Kaggle (California Healthcare Foundation, EyePACS)  ~35,000 training images, ~54,000 test images  High resolution: variable, more than 2560 x 1920
  • 6. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples Image size Batch Size 224 x 224 128 2K x 2K 2
  • 7. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples Class 0 1 2 3 4
  • 8. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples Class 2
  • 9. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples
  • 10. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Mentioned in problem statement - Confirmed with doctors
  • 11. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples
  • 12. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Hard classification non-differentiable - Backprop difficult 0 1 Truth 2 3 4 Penalty/Loss Class
  • 13. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Hard classification non-differentiable - Backprop difficult 0 1 Truth 2 3 4 Predict 1 Penalty/Loss Class
  • 14. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Hard classification non-differentiable - Backprop difficult 0 1 Truth 2 3 4 Predict 2 Penalty/Loss Class
  • 15. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Hard classification non-differentiable - Backprop difficult 0 1 Truth 2 3 4 Predict 3 Penalty/Loss Class
  • 16. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Hard classification non-differentiable - Backprop difficult 0 1 Truth 2 3 4 Penalty/Loss Class
  • 17. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Squared error approximation? - Differentiable 0 1 Truth 2 3 4 Penalty/Loss Class2.5
  • 18. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Naïve: 3 class problem, or all zeros! - Learn all classes separately: 1 vs All? - Balanced while training - At test time?
  • 19. Challenges  High resolution images  Atypical in vision, GPU batch size issues  Discriminative features small  Grading criteria:  not clear (EyePACS guidelines)  learn from data  Incorrect labeling  Artifacts in ~40% images  Optimizing approach to QWK  Severe class imbalance  class 0 dominates  Too few training examples - Big learning models take more data! - Harness test set?
  • 20. Conventional Approaches  Literature survey:  Hand-designed features to pick each component  Clean images, small datasets  Optic disk, exudate segmentation: fail due to artifacts  SVM: poor performance
  • 21. Conventional Approaches  Literature survey:  Hand-designed features to pick each component  Clean images, small datasets  Optic disk, exudate segmentation: fail due to artifacts  SVM: poor performance
  • 22. Our Approach 1. Registration, Pre-processing 2. Convolutional Neural Nets (CNNs) 3. Hybrid Architecture
  • 23. Step 1: Pre-processing  Registration  Hough circles, remove outside portion  Downsize to common size (224 x 224, 1K x 1K)  Color correction  Normalization (mean, variance)
  • 24. Step 2: CNNs 3 Conv layers (depth 96) MaxPool (stride2) 3 Conv layers (depth 384) MaxPool (stride2) 3 Conv layers (depth 1024) MaxPool (stride2) AvgPool Input Image Class probabilities 3 Conv layers (depth 256) MaxPool (stride2)  Network in Network architecture  7.5M parameters  No FC layers, spatial average pooling instead  Transfer learning (ImageNet)  Variable learning rates  Low for “ImageNet” layers  Schedule  Combat lack of data, over-fitting  Dropout, Early stopping  Data augmentation (flips, rotation)
  • 25. Step 2: CNNs 3 Conv layers (depth 96) MaxPool (stride2) 3 Conv layers (depth 384) MaxPool (stride2) 3 Conv layers (depth 1024) MaxPool (stride2) AvgPool Input Image Class probabilities 3 Conv layers (depth 256) MaxPool (stride2)  Network in Network architecture  7.5M parameters  No FC layers, spatial average pooling instead  Transfer learning (ImageNet)  Variable learning rates  Low for “ImageNet” layers  Schedule  Combat lack of data, over-fitting  Dropout, Early stopping  Data augmentation (flips, rotation)
  • 26. Step 2: CNNs 3 Conv layers (depth 96) MaxPool (stride2) 3 Conv layers (depth 384) MaxPool (stride2) 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities 3 Conv layers (depth 256) MaxPool (stride2)  Network in Network architecture  2.2M parameters  No FC layers, spatial average pooling instead  Transfer learning (ImageNet)  Variable learning rates  Low for “ImageNet” layers  Schedule  Combat lack of data, over-fitting  Dropout, Early stopping  Data augmentation (flips, rotation)
  • 27. Step 2: CNNs 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities  Network in Network architecture  2.2M parameters  No FC layers, spatial average pooling instead  Transfer learning (ImageNet)  Variable learning rates  Low for “ImageNet” layers  Schedule  Combat lack of data, over-fitting  Dropout, Early stopping  Data augmentation (flips, rotation)
  • 28. Step 2: CNNs 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities  Network in Network architecture  2.2M parameters  No FC layers, spatial average pooling instead  Transfer learning (ImageNet)  Variable learning rates  Low for “ImageNet” layers  Schedule  Combat lack of data, over-fitting  Dropout, Early stopping  Data augmentation (flips, rotation)
  • 29. Step 2: CNNs  Network in Network architecture  2.2M parameters  No FC layers, spatial average pooling instead  Transfer learning (ImageNet)  Variable learning rates  Low for “ImageNet” layers  Schedule  Combat lack of data, over-fitting  Dropout, Early stopping  Data augmentation (flips, rotation) 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities
  • 30. Step 2: CNN Experiments  What image size to use?  Strategize using 224 x 224 -> extend to 1024 x 1024  What loss function?  Mean squared error (MSE)  Negative Log Likelihood (NLL)  Linear Combination (annealing)  Class imbalance  Even sampling -> true sampling
  • 31. Step 2: CNN Experiments 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities No learning Loss Function Sampling Result Image size: 224 x 224
  • 32. Step 2: CNN Experiments 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities No learning Loss Function Sampling Result MSE Fails to learn Image size: 224 x 224
  • 33. Step 2: CNN Experiments Loss Function Sampling Result MSE Fails to learn MSE Fails to learn Image size: 224 x 224 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities No learning
  • 34. Step 2: CNN Experiments Loss Function Sampling Result MSE Fails to learn MSE Fails to learn NLL Kappa < 0.1 Image size: 224 x 224 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities No learning
  • 35. Step 2: CNN Experiments Loss Function Sampling Result MSE Fails to learn MSE Fails to learn NLL Kappa < 0.1 NLL Kappa = 0.29 Image size: 224 x 224 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities No learning
  • 36. Step 2: CNN Experiments 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities 0.01x step size Loss Function Sampling Result NLL (top layers only) Kappa = 0.29 Image size: 224 x 224
  • 37. Step 2: CNN Experiments Loss Function Sampling Result NLL (top layers only) Kappa = 0.29 NLL Kappa = 0.42 Image size: 224 x 224 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities 0.01x step size
  • 38. Step 2: CNN Experiments Loss Function Sampling Result NLL (top layers only) Kappa = 0.29 NLL Kappa = 0.42 NLL Kappa = 0.51 Image size: 224 x 224 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities 0.01x step size
  • 39. Step 2: CNN Experiments Loss Function Sampling Result NLL (top layers only) Kappa = 0.29 NLL Kappa = 0.42 NLL Kappa = 0.51 MSE Kappa = 0.56 Image size: 224 x 224 3 Conv layers (depth 384, 64, 5) MaxPool (stride2) AvgPool Input Image Class probabilities 0.01x step size
  • 40. Step 2: CNN Results
  • 41. Step 2: CNN Results
  • 42. Computing Setup  Amazon EC2: GPU nodes,VPC, Amazon EBS-optimized  Single GPU nodes for 224 x 224 (g2.2xlarge)  Multi-GPU nodes for 1K x 1K (g2.8xlarge)  EBS, Amazon S3  Used Python for processing  Torch library (Lua) for training
  • 43. Computing Setup Data EBS (gp2) Model Expt. 1 or 4 GPU node on EC2
  • 44. Computing Setup Data 1 Data 2EBS (gp2) EBS (gp2) Snapshot (S3) Model Expt. GPU node on EC2
  • 45. Computing Setup Master Data 1 Data 2 Central Node Model 2 Model 1 Model 10 EBS (gp2) … EBS-optimized EBS (gp2) Snapshot (S3) VPC on EC2 Model Expt. GPU node on EC2
  • 46. Computing Setup Master Data 1 Data 2 Central Node Model 2 Model 1 Model 10 EBS (gp2) … EBS-optimized EBS (gp2) Snapshot (S3) VPC on EC2 Model Expt. GPU node on EC2 ~200 MB/s
  • 47. Computing Setup Master 2 Data 1 Data 2 Central Node Model 12 Model 11 Model 20 EBS (gp2) … EBS-optimized EBS (gp2) Snapshot (S3) VPC on EC2 Master 1 Central Node Model 2 Model 1 Model 10… EBS-optimized VPC on EC2
  • 48. Computing Setup g2.2xlarge 1 GPU node on EC2 4 GBGPU memory Batch size: 128 images of 224 x 224
  • 49. Computing Setup g2.2xlarge 1 GPU node on EC2 4 GBGPU memory Batch size: 128 images of 224 x 224 !! Batch size: 8 images of 1024 x 1024 !!
  • 50. Computing Setup g2.2xlarge 1 GPU node on EC2 4 GBGPU memory Batch size: 128 images of 224 x 224 !! Batch size: 8 images of 1024 x 1024 !! g2.8xlarge 4 GPU node on EC2 16 GB GPU memory Data Parallelism Batch size: ~28 images of 1024 x 1024
  • 51. Step 3: Hybrid Architecture 2048 1024 64 tiles of 256 x 256 Main Network Fuse Class probabilities Lesion Detector
  • 52. Lesion Detector  Web viewer and annotation tool  Lesion annotation  Extract image patches  Train lesion classifier
  • 53. Viewer and Lesion Annotation
  • 54. Viewer and Lesion Annotation
  • 57. Train Lesion Detector  Only hemorrhages so far  Positives: 1866 extracted patches from 216 images/subjects  Negatives: ~25k class-0 images  Pre-processing/augmentation  Crop random 256 x 256 image from input, flips  Pre-trained Network in Network architecture  Accuracy: 99% for Negatives, 76% for Positives
  • 58. Train Lesion Detector  Only hemorrhages so far  Positives: 1866 extracted patches from 216 images/subjects  Negatives: ~25k class-0 images  Pre-processing/augmentation  Crop random 256 x 256 image from input, flips  Pre-trained Network in Network architecture  Accuracy: 99% for Negatives, 76% for Positives
  • 59. Train Lesion Detector  Only hemorrhages so far  Positives: 1866 extracted patches from 216 images/subjects  Negatives: ~25k class-0 images  Pre-processing/augmentation  Crop random 256 x 256 image from input, flips  Pre-trained Network in Network architecture  Accuracy: 99% for Negatives, 76% for Positives
  • 60. Train Lesion Detector  Only hemorrhages so far  Positives: 1866 extracted patches from 216 images/subjects  Negatives: ~25k class-0 images  Pre-processing/augmentation  Crop random 256 x 256 image from input, flips  Pre-trained Network in Network architecture  Accuracy: 99% for Negatives, 76% for Positives
  • 61. Train Lesion Detector  Only hemorrhages so far  Positives: 1866 extracted patches from 216 images/subjects  Negatives: ~25k class-0 images  Pre-processing/augmentation  Crop random 256 x 256 image from input, flips  Pre-trained Network in Network architecture  Accuracy: 99% for Negatives, 76% for Positives
  • 62. Hybrid Architecture 64 tiles of 256 x 256 2048 1024 Main Network Fuse Class probabilities Lesion Detector
  • 63. Hybrid Architecture 64 tiles of 256 x 256 64 x 31 x 312 x 31 x 31 66 x 31 x 31 2048 1024 2 Conv layers Main Network Fuse Class probabilities Lesion Detector
  • 64. Hybrid Architecture 64 tiles of 256 x 256 64 x 31 x 312 x 31 x 31 66 x 31 x 31 2048 1024 2 Conv layers Main Network Fuse Class probabilities Lesion Detector 2 x 56 x56
  • 66. Class probabilities Training Hybrid Architecture 64 tiles of 256 x 256 2048 1024 Main Network Fuse Lesion Detector
  • 67. Training Hybrid Architecture 64 tiles of 256 x 256 Backprop 2048 1024 Main Network Fuse Class probabilities Lesion Detector
  • 68. Training Hybrid Architecture 64 tiles of 256 x 256 Backprop 2048 1024 Main Network Fuse Class probabilities Lesion Detector
  • 69. Other Insights  Supervised-unsupervised learning  Distillation  Hard-negative mining  Other lesion detectors  AttentionCNNs  Both eyes  Ensemble
  • 70. Clinical Importance  3 class problem  True “4” problem  Combining imaging modalities (OCT)  Longitudinal analysis
  • 71. Many thanks to…  Amazon Web Services  AWS Educate  AWS Cloud Credits for Research  Robert Chang  Jeff Ullman  Andreas Paepcke
  • 73. Remember to complete your evaluations!