Motivating Convolutional Networks
- Up until now, we've convolved an image with two different filters to get a new image
-
Specifically, our convolution process has the following properties:
- An image and filter are visually represented as a 3D volume
- Each channel in the new image corresponds to a filter output
- Now, we'll see how convolution can relate to neural networks
A Single Layer of a Convolutional Network
Benefit of Convolutional Networks
-
The number of learnable parameters depends on the following:
- The number of filters in our network
- The dimensions of each filter
- Therefore, the size of an input image could grow extremely large, but the number of parameters will remain fixed
- Meaning, convolutional networks are less prone to overfitting
- For example, if we have filters that are in one layer, then we'll have the following number of parameters:
- In this case, we could have a or image, but the number of parameters remains fixed at
- We just need to learn the weights and biases of these filters to detect vertical edges, horizontal edges, and other features
- Then, we can apply these filters to very large images, while the number of parameters will always remain fixed and relatively small
Summarizing Notation
-
General notation:
- : The convolution layer in a network
- : The height of the input image in the layer
- : The width of the input image in the layer
-
Hyperparameters:
- : The size of the filter in the layer
- : The amount of padding in the layer
- : The stride in the layer
- : The number of filters in the layer
-
Dimensions:
- :
- :
- :
- :
- :
- :
Implementing Layers in a Convolutional Network
- An output image is used as the input image in the next layer
- Typically, the dimensions of an output image shrinks as we go deeper within our network
- On the other hand, the number of channels tends to increase as we go deeper within our network
- In other words, we tend to add more channels to filters that are deeper within our network
-
Also, there are three types of layers in a convolutional network:
- Convolutional layers
- Pooling layers
- Fully connected layers
- So far, we've only used convolutional layers in our examples
Example of Network using Convolutional Layers
tldr
- In convolutional networks, we can relate our input image to
- We can also relate the filters to
- Then, the convolved image relates to
- The output of applying an activation function and bias term to the convolved image related to the activations
- This output can also be used to feed forward into other convolutional layers
- Typically, the dimensions of an output image shrinks as we go deeper and deeper within our network
- On the other hand, the number of channels tends to increase as we go deeper and deeper within our network
- In other words, we tend to add more channels to filters that are deeper within our network
References
Previous
Next