01-Visual Machine Learning 

OVERVIEW


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.


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. 

How Neural Networks Understand Images