Bird
Raised Fist0
ML Pythonml~20 mins

Neural network architecture in ML Python - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Neural Network Architect Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Model Choice
intermediate
2:00remaining
Choosing the right layer for image feature extraction

You want to build a neural network to recognize objects in photos. Which layer type is best to start with for extracting features like edges and shapes?

AA dropout layer
BA convolutional layer
CA fully connected layer
DA recurrent layer
Attempts:
2 left
💡 Hint

Think about which layer type is designed to scan images for patterns.

❓ Metrics
intermediate
1:30remaining
Understanding output shape of a dense layer

You have a dense (fully connected) layer with 128 neurons. If the input to this layer has shape (batch_size, 64), what will be the output shape?

A(batch_size, 64)
B(64, 128)
C(128, 64)
D(batch_size, 128)
Attempts:
2 left
💡 Hint

Each neuron produces one output per input example.

❓ Predict Output
advanced
2:30remaining
Output shape after convolution and pooling

What is the output shape of the tensor after applying the following layers in order?

Input shape: (32, 64, 64, 3)  # batch_size=32, 64x64 RGB images
Conv2D(filters=16, kernel_size=3, padding='same')
MaxPooling2D(pool_size=2)
A(32, 32, 32, 16)
B(32, 62, 62, 16)
C(32, 64, 64, 16)
D(32, 31, 31, 16)
Attempts:
2 left
💡 Hint

Remember 'same' padding keeps width and height, pooling halves them.

🔧 Debug
advanced
2:00remaining
Identifying error in model layer connection

Consider this simple neural network code snippet:

model = Sequential()
model.add(Dense(64, input_shape=(100,)))
model.add(Conv2D(32, kernel_size=3))
model.add(Flatten())
model.add(Dense(10, activation='softmax'))

What error will this code raise when run?

ANo error, model compiles successfully
BTypeError because Dense layer cannot be followed by Conv2D
CValueError due to Conv2D expecting 4D input but receiving 2D
DRuntimeError due to missing activation function in Conv2D
Attempts:
2 left
💡 Hint

Check the input shape expected by Conv2D layers.

🧠 Conceptual
expert
2:30remaining
Effect of increasing depth on model capacity

What is the main effect of increasing the number of layers (depth) in a neural network architecture?

AIt increases the model's ability to learn complex features by creating hierarchical representations
BIt decreases training time by reducing parameters
CIt always reduces overfitting by simplifying the model
DIt makes the model less flexible and harder to train
Attempts:
2 left
💡 Hint

Think about how deeper networks learn features step-by-step.

Practice

(1/5)
1. What does the architecture of a neural network mainly describe?
easy
A. The type of keyboard used to code the network
B. How layers and neurons are connected to learn from data
C. The speed of the computer running the network
D. The color of the network's interface

Solution

  1. Step 1: Understand the role of architecture in neural networks

    The architecture defines the structure, including layers and neuron connections, which determines how the network learns.
  2. Step 2: Eliminate unrelated options

    Options about color, speed, or keyboard do not relate to network design or learning.
  3. Final Answer:

    How layers and neurons are connected to learn from data -> Option B
  4. Quick Check:

    Neural network architecture = connections and layers [OK]
Hint: Think about what controls learning structure [OK]
Common Mistakes:
  • Confusing hardware with architecture
  • Thinking architecture is about UI design
2. Which of the following is the correct way to start a simple Sequential model in Python using Keras?
easy
A. model = Sequential()
B. model = sequence()
C. model = Sequential[]
D. model = Sequential{}

Solution

  1. Step 1: Recall the correct syntax for creating a Sequential model

    In Keras, the Sequential model is created by calling Sequential() with parentheses.
  2. Step 2: Identify incorrect syntax

    Using lowercase, square brackets, or curly braces is invalid for this class instantiation.
  3. Final Answer:

    model = Sequential() -> Option A
  4. Quick Check:

    Use parentheses to create Sequential model [OK]
Hint: Remember classes need parentheses to create instances [OK]
Common Mistakes:
  • Using square or curly brackets
  • Using lowercase 'sequence' instead of 'Sequential'
3. Given this code snippet, what will be the output shape of the model's last layer?
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

model = Sequential()
model.add(Dense(10, input_shape=(5,), activation='relu'))
model.add(Dense(3, activation='softmax'))
print(model.output_shape)
medium
A. (None, 3)
B. (5, 10)
C. (None, 10)
D. (3, 5)

Solution

  1. Step 1: Understand the model layers and their output shapes

    The first Dense layer outputs shape (None, 10) because input is (5,) and units=10. The second Dense layer outputs (None, 3) because it has 3 units.
  2. Step 2: Identify the final output shape

    The model's output shape is the output of the last layer, which is (None, 3). None means batch size is flexible.
  3. Final Answer:

    (None, 3) -> Option A
  4. Quick Check:

    Last Dense units = output shape [OK]
Hint: Output shape matches last layer units [OK]
Common Mistakes:
  • Confusing input shape with output shape
  • Ignoring batch size dimension
4. Identify the error in this neural network code snippet:
model = Sequential()
model.add(Dense(32, activation='relu'))
model.add(Dense(1))
model.compile(optimizer='adam', loss='categorical_crossentropy')
medium
A. Activation function 'relu' is invalid
B. Missing input_shape in first Dense layer
C. Loss function 'categorical_crossentropy' is incorrect for single output
D. Optimizer 'adam' is not supported

Solution

  1. Step 1: Check the output layer and loss function compatibility

    The output layer has 1 unit, likely for regression or binary classification. 'categorical_crossentropy' expects multiple classes, so it's incorrect here.
  2. Step 2: Verify other parts

    Input shape can be set later or inferred, 'relu' is valid, and 'adam' optimizer is supported.
  3. Final Answer:

    Loss function 'categorical_crossentropy' is incorrect for single output -> Option C
  4. Quick Check:

    Loss must match output type [OK]
Hint: Match loss to output layer type [OK]
Common Mistakes:
  • Assuming input_shape is always mandatory
  • Confusing loss functions for output types
5. You want to build a neural network for a multi-class classification problem with 4 classes. Which architecture is best suited?
hard
A. Input layer -> Dense(1, softmax) -> Dense(4, relu)
B. Input layer -> Dense(4, relu) -> Dense(1, sigmoid)
C. Input layer -> Dense(10, sigmoid) -> Dense(4, relu)
D. Input layer -> Dense(16, relu) -> Dense(4, softmax)

Solution

  1. Step 1: Understand output layer requirements for multi-class classification

    For 4 classes, output layer should have 4 units with softmax activation to output class probabilities.
  2. Step 2: Check each option's output layer and activations

    Input layer -> Dense(16, relu) -> Dense(4, softmax) ends with Dense(4, softmax), which is correct. Others have wrong units or activations for output.
  3. Final Answer:

    Input layer -> Dense(16, relu) -> Dense(4, softmax) -> Option D
  4. Quick Check:

    Output units = number of classes, softmax for multi-class [OK]
Hint: Output units = classes, use softmax for multi-class [OK]
Common Mistakes:
  • Using sigmoid for multi-class output
  • Wrong number of output units
  • Misplacing activation functions
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard