Cs231n lecture 9 10 cnn architectures, rnns

**CNN History - **

** **

AlexNet

IMG_0001.PNG

IMG_0002.PNG

IMG_0003.PNG

IMG_0005.PNG

IMG_0006.PNG

IMG_0007.PNG

ZFNet

Basically just improving hypterparameters over AlexNet (changing stride size, changing the number of filters). Not really worth knowing.

VGG

Smaller Filters, Deeper networks - They essentially used 3x3 conv layers for everything, and tried to see if they could stack it deeper.

All their Pools were 2x2 MAX POOL stride 2, they did

((3x3 conv) x2 + Pool) x 3 + ((3x3 conv) x (3 or 4) + Pool) x2 + FC x3

The number of filters doubles in each group of CONV layers.

Note: 3x3 conv stacked twice has same receptive field as 7x7 single conv layer. However, it has fewer parameters (3 * 3^2C^2 vs 7^2C^2)

The reason why as you go deeper into the network the number of filters increases (you don’t have to do this) is because people want to keep a constant amount of comute, after downpooling you perform less compute so you can use more filters to keep it about constant, but you don’t have to do this.

IMG_0011.PNG

Screenshot 2020-02-28 at 6.37.11 PM.png

Uses a lot of memory! ~100MB / image *2. Total params - 138M params!

IMG_0014.PNG

** **

GoogLeNet

Really looked at computational efficiency. Tried to design an architecture that was computationally efficient.

They saved a lot of parameters by using no fully connected layers, and an efficient “inception” module. - only 5 million parameters! 1/20 the amount of VGG.

IMG_0015.PNG