---
title: "Convnets"
author: "Prof. Eric A. Suess"
format: revealjs
---

## Chapter 8 covers

- Understanding **convolutional neural networks** (convnets)
- Using **data augmentation** to mitigate overfitting
- Using a **pretrained convnet** to do feature extraction
- Fine-tuning a pretrained convnet
- **Visualizing** what convnets learn and how they make classification decisions

## Computer Vision

Convolutional neural networks revolutionized the field of computer vision and are now the main type of deep learning neural networks that are used in this feild.

**Spotlight Blog:** [Medium](https://medium.com) [How to easily Detect Objects with Deep Learning on Raspberry Pi](https://medium.com/nanonets/how-to-easily-detect-objects-with-deep-learning-on-raspberrypi-225f29635c74)

[kaggle ImageNet](https://www.kaggle.com/c/imagenet-object-localization-challenge)

[ImageNet](http://image-net.org)

## MNIST again

- Eariler, using a feed forward neural network, the accuracy was 97.8%
- Now, using a convolutional neural network, the accuracy can be improved, beyond 99%.

## Convnets work locally

What is the difference between a densely connected layer and a convolution layer?

- Dense layers learn **global patterns** in their input feature space 
- Convolution layers learn **local patterns**

## Convnets have an interesting property

- The patterns they learn are [translation invariant](https://stats.stackexchange.com/questions/208936/what-is-translation-invariance-in-computer-vision-and-convolutional-neural-netwo).
- They can learn spatial hierarchies of patterns.

![](images/05fig02.jpg)