Implement the foundational layers of CNNs (pooling, convolutions) and stack them properly in a deep network to solve multi-class image classification problems.
- Explain the convolution operation
- Apply two different types of pooling operations
- Identify the components used in a convolutional neural network (padding, stride, filter, ...) and their purpose
- Build a convolutional neural network
- Implement convolutional and pooling layers in numpy, including forward propagation
- Implement helper functions to use when implementing a TensorFlow model
- Create a mood classifer using the TF Keras Sequential API
- Build a ConvNet to identify sign language digits using the TF Keras Functional API
- Build and train a ConvNet in TensorFlow for a binary classification problem
- Build and train a ConvNet in TensorFlow for a multiclass classification problem
- Explain different use cases for the Sequential and Functional APIs
Valid:
- nxn * fxf -> n-f+1 x n-f+1
- 6x6 * 3x3 -> 4x4
Here are the 5 typos:
- 208 should be (553 + 1) * 8 = 608
- 416 should be (558 + 1) * 16 = 3216
- In the FC3, 48001 should be 400*120 + 120 = 48120, since the bias should have 120 parameters, not 1
- Similarly, in the FC4, 10081 should be 120*84 + 84 (not 1) = 10164
(Here, the bias is for the fully connected layer. In fully connected layers, there will be one bias for each neuron, so the bias become In FC3 there were 120 neurons so 120 biases.)
- Finally, in the softmax, 841 should be 84*10 + 10 = 850
This is based on the equation: