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.