Machine Learning with Satellite Data
A blisteringly-fast crash course
Sean Foley
What is Machine Learning?
Linear Algebra
Signal Processing
High-Dimensional Probability & Stats.
Optimization
Data Science
“The unreasonable effectiveness of data” - Peter Norvig
Inputs
Predictions
Targets / Labels
Supervised Learning
Unsupervised Learning
Reinforcement Learning
Loss Function
Model
Data
Method
Classes / clusters
Agent
Environment
Actions
Supervised Learning
Unsupervised Learning
Reinforcement Learning
Variants
Regression vs. Classification
P(x, y)
Inputs
Predictions
Targets / Labels
Supervised Learning
Loss Function
Model
Inputs
Predictions
Targets / Labels
Supervised Learning
Loss Function
Model
Regress chlorophyll-a
Slide credit: Patrick Gray
x
y
Loss
Classify phytoplankton types
phycoerythrin
chlorophyll-a
Prochlorococcus
Synechococcus
Prochlorococcus
Synechococcus
phycoerythrin
chlorophyll-a
Slide credit: Patrick Gray
Neural Network / Multi-Layer Perceptron (MLP)
Neural Network / MLP
Adding more layers?
Uh oh!!
Activation Functions
Et voila…
Loss Function
W1
W2
Backpropagation
Chain rule!
Loss Function
Gradient Descent
W1
W2
Gradient Descent
Evaluation Metrics (Classification)
Evaluation Metrics (Regression)
Instances, Batches, Epochs
Training, Validation, Testing
Training / validation script overview
Over/under fitting, revisited
underfitting
overfitting
Graphics Processing Units (GPUs)
Optimized for large matrix operations
High-level code
NVIDIA Graphics Card
CUDA
Satellite
Imagery
Spatial context!
Translational symmetry!
Convolution
1D, continuous convolution shown here
flip g!
2D discrete convolution
Image Cubes
RGB
OCI
Height
Width
3
Height
Width
~280
A Convolutional Layer: Basics
A Convolutional Layer: More Details
# parameters:
doesn’t depend on image size!!
A Convolutional Layer: Padding
Receptive Field
An Example CNN
Data Augmentation
CNNs + Satellite Data: Caveats
Most CNNs are NOT designed for satellite data.
Especially not for Earth Science data!
Resources / Credit