Deep Learning for Computer Vision

  1. Convolutional Neural Networks
    1. Motivation for CNNs
      1. Limitations of Fully Connected Networks for Images
        1. Translation Invariance
          1. Local Connectivity
            1. Parameter Sharing
            2. Core Concepts
              1. Local Receptive Fields
                1. Spatial Locality
                  1. Hierarchical Feature Learning
                  2. Shared Weights and Biases
                    1. Parameter Efficiency
                      1. Translation Equivariance
                      2. Spatial Hierarchies
                        1. Low-level to High-level Features
                          1. Compositional Representations
                        2. Convolutional Layer
                          1. Convolution Operation
                            1. Mathematical Definition
                              1. Discrete Convolution
                                1. Cross-correlation vs Convolution
                                2. Filters and Kernels
                                  1. Filter Size Selection
                                    1. Number of Filters
                                      1. Filter Initialization
                                        1. Learned vs Hand-crafted Filters
                                        2. Stride Parameter
                                          1. Effect on Output Size
                                            1. Computational Considerations
                                            2. Padding Strategies
                                              1. Valid Padding
                                                1. Same Padding
                                                  1. Causal Padding
                                                    1. Reflection Padding
                                                    2. Feature Maps
                                                      1. Activation Maps
                                                        1. Channel Interpretation
                                                          1. Spatial Dimensions
                                                          2. Multi-channel Convolution
                                                            1. RGB Input Processing
                                                              1. Channel-wise Operations
                                                                1. Output Channel Generation
                                                              2. Pooling Operations
                                                                1. Purpose and Benefits
                                                                  1. Dimensionality Reduction
                                                                    1. Translation Invariance
                                                                      1. Computational Efficiency
                                                                      2. Max Pooling
                                                                        1. Operation Definition
                                                                          1. Gradient Computation
                                                                          2. Average Pooling
                                                                            1. Operation Definition
                                                                              1. Comparison with Max Pooling
                                                                              2. Global Pooling
                                                                                1. Global Average Pooling
                                                                                  1. Global Max Pooling
                                                                                    1. Replacement for Fully Connected Layers
                                                                                    2. Adaptive Pooling
                                                                                      1. Fixed Output Size
                                                                                        1. Variable Input Handling
                                                                                        2. Pooling Parameters
                                                                                          1. Window Size
                                                                                            1. Stride Selection
                                                                                              1. Overlap Considerations
                                                                                            2. Normalization Layers
                                                                                              1. Batch Normalization
                                                                                                1. Internal Covariate Shift
                                                                                                  1. Normalization Process
                                                                                                    1. Learnable Parameters
                                                                                                      1. Training vs Inference Mode
                                                                                                        1. Benefits and Limitations
                                                                                                        2. Layer Normalization
                                                                                                          1. Per-sample Normalization
                                                                                                            1. Comparison with Batch Normalization
                                                                                                            2. Instance Normalization
                                                                                                              1. Style Transfer Applications
                                                                                                              2. Group Normalization
                                                                                                                1. Channel Grouping
                                                                                                                  1. Small Batch Handling
                                                                                                                2. Regularization in CNNs
                                                                                                                  1. Dropout
                                                                                                                    1. Random Neuron Deactivation
                                                                                                                      1. Dropout Rate Selection
                                                                                                                        1. Spatial Dropout
                                                                                                                          1. Training vs Inference Behavior
                                                                                                                          2. DropBlock
                                                                                                                            1. Structured Dropout for CNNs
                                                                                                                            2. Data Augmentation
                                                                                                                              1. Implicit Regularization
                                                                                                                            3. CNN Architecture Design
                                                                                                                              1. Input Layer Considerations
                                                                                                                                1. Image Size Selection
                                                                                                                                  1. Channel Configuration
                                                                                                                                  2. Layer Stacking Principles
                                                                                                                                    1. Depth vs Width Trade-offs
                                                                                                                                      1. Feature Map Size Progression
                                                                                                                                      2. Fully Connected Layers
                                                                                                                                        1. Flattening Operation
                                                                                                                                          1. Classification Head Design
                                                                                                                                          2. Output Layer Design
                                                                                                                                            1. Binary Classification
                                                                                                                                              1. Multi-class Classification
                                                                                                                                                1. Multi-label Classification
                                                                                                                                                2. Hyperparameter Selection
                                                                                                                                                  1. Filter Sizes
                                                                                                                                                    1. Number of Layers
                                                                                                                                                      1. Channel Progression