8. Convolutional NN

Good for graphs. Images = very structured graph

Goals:

  • Want to predict the same label despite image translated/shifted by a few pixels
    • Invariance to translation
  • Want segmentation (labeling pixels) to be translated along input images
    • Equivariance with translation

How?

  • Augment with translated images
  • Special regularization
  • Invariance built into pre-processing
  • Invariance in structure of NN ( convolutional NN)

Convolution Layer

  • Each unit only depends on all “closeby” inputs (eg. pixels
  • Weights are reused (sparse)
  • Convolution: weighted sum of nearby pixels
  • Key idea: learn the filters

c: with padding, d: without padding

Ex.: highlights edges. double check

Stride: Skipping pixels in a convolutionary layers in regular steps

Computing output dimensions:

  • Applying different filters (convoluting by tensor)
  • To an image
  • Padding
  • Stride tensor with

The # of inputs affecting each unit grows with every hidden unit.

Pooling Layers (Subsampling)

  • Aggregate neighboring entries
  • Consider either the average or maximum value of a group of neighboring pixels
    • Average is just another convolution

Common setup