Bird
Raised Fist0
Computer Visionml~8 mins

Architecture search concepts in Computer Vision - Model Metrics & Evaluation

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Metrics & Evaluation - Architecture search concepts
Which metric matters for Architecture Search and WHY

When searching for the best model design, we want metrics that show how well the model learns and generalizes.

Common metrics include validation accuracy or validation loss. These tell us if the model works well on new data, not just training data.

For classification tasks, accuracy is simple and clear. For imbalanced data, metrics like F1 score or AUC help us understand performance better.

We focus on validation metrics because architecture search tries many designs. We want to pick the one that performs best on data it hasn't seen before.

Confusion Matrix Example

Suppose we test a model found by architecture search on 100 images of cats and dogs.

      | Predicted Cat | Predicted Dog |
      |---------------|---------------|
      | True Cat: 40  | False Dog: 5  |
      | False Cat: 3  | True Dog: 52  |
    

Here:

  • TP (Cat) = 40
  • FP (Cat) = 5
  • FN (Cat) = 3
  • TN (Cat) = 52

Precision = 40 / (40 + 5) = 0.89

Recall = 40 / (40 + 3) = 0.93

F1 = 2 * (0.89 * 0.93) / (0.89 + 0.93) ≈ 0.91

Precision vs Recall Tradeoff in Architecture Search

Architecture search can find models that favor precision or recall depending on the goal.

For example, in a medical image task, high recall is critical to catch all diseases, even if some false alarms happen.

In contrast, for a photo tagging app, high precision is better to avoid wrong tags.

Architecture search helps find models balancing these metrics by testing many designs and picking the best tradeoff.

Good vs Bad Metric Values for Architecture Search

Good: Validation accuracy above 85% with balanced precision and recall (both above 80%) means the architecture generalizes well.

Bad: Very high training accuracy (e.g., 99%) but low validation accuracy (e.g., 60%) means overfitting. The architecture is too complex or not suitable.

Also, very low precision or recall (below 50%) indicates the model misses important cases or makes many mistakes.

Common Pitfalls in Metrics for Architecture Search
  • Accuracy Paradox: High accuracy can be misleading if data is imbalanced. For example, 95% accuracy on 95% negative data means the model ignores positives.
  • Data Leakage: If validation data leaks into training, metrics look unrealistically good, hiding true performance.
  • Overfitting: Architecture search may pick overly complex models that fit training data perfectly but fail on new data.
  • Ignoring Validation Metrics: Only looking at training loss or accuracy can mislead. Validation metrics are key to choosing the best architecture.
Self Check: Is a Model with 98% Accuracy but 12% Recall Good?

No, this model is not good for tasks like fraud detection or disease diagnosis.

Even though accuracy is high, recall is very low. This means the model misses most positive cases (fraud or disease).

In such cases, recall is more important because missing positives can be costly or dangerous.

Architecture search should focus on improving recall, even if accuracy drops a bit.

Key Result
Validation accuracy and balanced precision-recall are key to selecting good architectures that generalize well.

Practice

(1/5)
1. What is the main goal of architecture search in computer vision models?
easy
A. To collect more training data
B. To manually tune model parameters
C. To automatically find the best model design
D. To reduce image resolution

Solution

  1. Step 1: Understand architecture search purpose

    Architecture search aims to find the best model design automatically without manual trial and error.
  2. Step 2: Compare options

    Options B, C, and D do not describe architecture search goals. Only To automatically find the best model design matches the goal.
  3. Final Answer:

    To automatically find the best model design -> Option C
  4. Quick Check:

    Architecture search = automatic best design [OK]
Hint: Architecture search = automatic model design finder [OK]
Common Mistakes:
  • Confusing architecture search with data collection
  • Thinking it manually tunes parameters
  • Mixing it with image preprocessing
2. Which of the following is a correct way to describe a search space in architecture search?
easy
A. A set of possible model designs to explore
B. The training dataset used for the model
C. The final accuracy metric after training
D. The hardware used to run the model

Solution

  1. Step 1: Define search space

    Search space is the collection of all possible model designs or configurations that the search will try.
  2. Step 2: Eliminate incorrect options

    Options B, C, and D relate to data, metrics, or hardware, not the search space itself.
  3. Final Answer:

    A set of possible model designs to explore -> Option A
  4. Quick Check:

    Search space = possible designs [OK]
Hint: Search space = all model options to try [OK]
Common Mistakes:
  • Confusing search space with dataset
  • Thinking search space is a metric
  • Mixing search space with hardware details
3. Consider this pseudocode for architecture search:
for model in search_space:
    accuracy = train_and_evaluate(model)
    if accuracy > best_accuracy:
        best_model = model
        best_accuracy = accuracy
print(best_accuracy)
What does this code output?
medium
A. The list of all models tested
B. The accuracy of the best model found
C. The training loss of the last model
D. The total number of models in search_space

Solution

  1. Step 1: Analyze the loop

    The loop trains and evaluates each model, updating best_accuracy if current accuracy is higher.
  2. Step 2: Understand the print statement

    After checking all models, it prints the highest accuracy found among them.
  3. Final Answer:

    The accuracy of the best model found -> Option B
  4. Quick Check:

    Prints best accuracy = highest accuracy [OK]
Hint: Code prints highest accuracy found during search [OK]
Common Mistakes:
  • Thinking it prints number of models
  • Confusing accuracy with loss
  • Assuming it prints all models
4. The following code snippet is intended to find the best model architecture, but it has a bug:
best_accuracy = 0
for model in search_space:
    accuracy = train_and_evaluate(model)
    if accuracy < best_accuracy:
        best_model = model
        best_accuracy = accuracy
print(best_accuracy)
What is the bug?
medium
A. best_accuracy should start at 1 instead of 0
B. train_and_evaluate should return loss, not accuracy
C. The print statement should print best_model, not best_accuracy
D. The comparison operator should be > instead of <

Solution

  1. Step 1: Understand the goal

    The goal is to find the model with the highest accuracy, so we want to update when accuracy is greater than best_accuracy.
  2. Step 2: Identify the bug

    The code uses accuracy < best_accuracy, which updates for worse accuracy, so it should be accuracy > best_accuracy.
  3. Final Answer:

    The comparison operator should be > instead of < -> Option D
  4. Quick Check:

    Use > to find best accuracy [OK]
Hint: Best accuracy means use >, not < in comparison [OK]
Common Mistakes:
  • Starting best_accuracy at wrong value
  • Printing wrong variable
  • Confusing accuracy with loss
5. You want to speed up architecture search by reducing the search space size. Which strategy is best?
hard
A. Limit model depth and number of layers to a smaller range
B. Increase the number of training epochs for each model
C. Use a slower but more accurate optimizer
D. Train all models on the full dataset without sampling

Solution

  1. Step 1: Understand search space impact

    Reducing search space size means limiting the number of possible model designs to try.
  2. Step 2: Evaluate options

    Limit model depth and number of layers to a smaller range reduces model complexity range, shrinking search space. Options A, B, and D increase training time or data size, slowing search.
  3. Final Answer:

    Limit model depth and number of layers to a smaller range -> Option A
  4. Quick Check:

    Smaller search space = fewer model options [OK]
Hint: Shrink search space by limiting model complexity [OK]
Common Mistakes:
  • Thinking more training epochs speed up search
  • Choosing slower optimizers to improve speed
  • Using full dataset always speeds search