In this class we will be looking at Machine Learning as it relates to visuals: images, videos, etc. We’ll examine a few practical applications:
Image Classification
Allowing ML models to distinguish between one class of images and another
Training a model through transfer learning to understand new images through our own guidance.
Real-time classification of recognized objects in video using pre-trained models such as imagenet.
Image Regression
Utilizing a value-based system to interpolate objects based on processed images
Style Transfer
Applying the inferred style of one image to other images
Current State of Visual Machine Learning
Practical examples of ML in the Visual Arts, including GANs, DeepPose, and more.
MACHINE LEARNING WITH IMAGES
Time to put this knowledge to use - starting with images and CNNs.
CNNs
Image learning implementations most commonly use Convolutional Neural Networks. When applied to images, these networks take parts of an image, identify their features, and use those features to make assumptions about the image as a whole based on a comparison of the findings of other neurons.
In a CNN, the convolution is the process of comparing one set of numbers to another based on defined weights and costs to arrive at a single output number.
Weights determine how much influence the input of a neuron has on the output.
Cost is synonymous with error - essentially it’s just how far off we were from an actual value.
The mathematical operation that gives us this output number is the dot product. In image processing, those numbers are the pixel coordinates(x,y), and the color values.
Sampling 8 filters of 25*25 pixel B+W image samples requires 5000 neurons for each layer
Pooling
To reduce the dimensionality and optimize processing we use pooling layers - they analyze the overlap of each layer and reduce them to a less-overlapped matrix.
Starting with an initial set of measured values, we derive features, i.e. generalizations, interpretation, prediction.
Bias is how much influence we want our features to have. Low bias means you allow a neuron to make more assumptions about the target function, high bias means making less assumptions.
OVERVIEW
MACHINE LEARNING WITH IMAGES
CNNs
How Neural Networks Understand Images