Lecture 5 - AsyDynamics/CS231n GitHub Wiki

Convolutional neural network

  • Similar to the neural network, made up of neurons that have learnable weights and bias, and receive inputs then perform dot product

Architecture overview

  • regular neural networks don't scale well to full images, the fully-connected layer require too many neurons
  • CNN, use 3d volumes of neuros.

Other notes

  • zero padding
  • stride
  • depth slice
  • depth column
  • local parameter

Layers used to build CNN

Composed of convolutional layer, pooling layer and fully connected layer

Convolutional layer

Core building block of CNN that does most of the computional heavy lifting.

  • local connectivity - dealing with high dimensional input, connect each neuron to local region
  • spatial arrangement - depth, stride, zero-padding
  • parameter sharing - weights and bias of different region in single slice remain the same; depth slice
  • implementation as matrix multiplication
  • backpropagation

Pooling layer

common to insert pooling layer in-between Conv layers - reduce spatial size of the representation, reduce amount of parameters and computation

  • max pooling, average pooling, L2-norm pooling

Normalization layer

Fully connected layer

difference with CNN, the neurons connect not only local region.

ConvNet Architecture

CONV, POOL, FC

  • common pattern: INPUT->[[CONV->RELU]*N->POOL]*M->[FC->RELU]*K->FC