I started with the structural stuff, parameter sharing and local connectivity, which went fine.
Start by contrasting the structural differences: CNNs use local receptive fields, weight sharing, and spatial pooling, while fully connected networks connect every input to every output. Then explain how these properties yield efficiency gains for grid-like data (images, audio, sequences) through parameter reduction and translation equivariance. Finally, discuss when to choose each: CNNs for spatial/temporal data with local patterns, FCNs for unstructured or global feature interactions, and hybrid architectures for complex tasks.
Pro tip: Tie your answer to real-world trade-offs at Amazon scale: mention how CNNs reduce parameters and compute, enabling faster training and inference on large image datasets, but also note that for some tabular or text data, fully connected layers or transformers may be more effective.
Describe how CNNs use convolutional layers with local connectivity, shared weights, and pooling, whereas fully connected layers have global connectivity with unique weights per connection.
Explain that weight sharing drastically reduces parameters, local connectivity captures spatial hierarchies, and pooling provides translation invariance, making CNNs more efficient for grid-like data.
Choose CNNs when input has spatial or temporal structure (images, audio, video) and patterns are local and translation-invariant, especially with limited data.
Choose fully connected networks for unstructured data (tabular, some text) where global relationships matter and no spatial locality exists, or as final layers for classification/regression.
Mention that many state-of-the-art models combine both (e.g., CNN feature extractor + FCN classifier) and that transformers are an alternative for sequential data, so the choice depends on data type, task, and constraints.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.