week7#
This notes is completed with assistance of ChatGPT
View Lecture 13. Convolutional Neural Networks (CNN)
View Lecture 14. Bayesian regression
View workshop8-slides
View workshop8
Convolutional Neural Networks (CNN) - Summary
- Overview: - CNNs are a type of deep learning model primarily used for image recognition and processing. 
- Inspired by the human visual system. 
 
- Architecture: - Input Layer: Takes raw pixel values of the image. 
- Convolutional Layer: Filters slide over the image to produce feature maps. Highlights important features. 
- ReLU Layer: Introduces non-linearity using a function like Rectified Linear Unit (ReLU). Makes the network powerful. 
- Pooling/Subsampling Layer: Reduces spatial size, reduces computation, and helps in achieving translational invariance. 
- Fully Connected (FC) Layer: Connects every neuron from the previous layer, making decisions based on learned features. 
 
- Key Concepts: - Filter/Kernels: Small, learnable weight matrices which slide over the input data (like a window) to produce a feature map. 
- Stride: Number of pixels the filter moves while sliding over the image. Affects the size of the output feature map. 
- Padding: Adding layers of zeros around the image border to ensure the spatial dimensions remain the same after convolution. 
- Pooling: Down-sampling technique. Max pooling (takes maximum value) and average pooling (takes average) are popular methods. 
 
- Advantages: - Parameter Sharing: Reduces the number of parameters, thus reducing computation and preventing overfitting. 
- Translational Invariance: Recognizes patterns irrespective of their position in the image. 
- Hierarchical Learning: Lower layers learn basic patterns; higher layers learn complex features. 
 
- Applications: - Image and Video Recognition 
- Image Classification 
- Medical Image Analysis 
- Self-driving Cars 
- Many others in vision-based tasks. 
 
- Challenges: - Requires a large amount of labeled data for training. 
- Computationally intensive, especially for larger images or deeper networks. 
 
- Optimization and Training: - Often trained using backpropagation and optimizers like SGD, Adam, or RMSprop. 
- Regularization techniques (e.g., dropout) are used to prevent overfitting. 
 
