In “CNN Example” lecture I got stuck with FC3 and FC4. If I’m not mistaken their dimensions aren’t connected with convolutional layers and, moreover, I’ve found out that there are some good parameters for FCL from here:
machine learning - Is there a heuristic for determining the size of a fully connected layer at the end of a CNN? - Cross Validated
Thank you for Your clarification!
Prof Ng is presenting one of the standard architectures for a CNN that is doing classification. There are a sequence of Conv layers and Pooling layers followed by several fully connected layers at the end to produce the input for the final activation (either sigmoid or softmax). The FC layers work exactly the same way that the feed forward network layers work in Course 1 of this series. Of course the number of input neurons for the first FC layer is determined by the number of parameters from the last Conv or Pooling layer: those are simply flattened into a vector to be the input to the first FC layer. Then the number of FC layers and the number of output neurons in each layer are determined by experimentation. As with the simple feed forward networks we saw in Course 1, the pattern is that the number of neurons decrease as you proceed through the layers. You start by copying an architecture that worked on what you hope is a similar problem and then test and tune as appropriate.
We will later see Convolutional Nets which have much more complex outputs than a “plain vanilla” classification and which do not include FC layers, e.g. YOLO and U-Net in Week 3.
Thank you very much Sir for clarification!