Improving The Model Flashcards

1
Q

What should be the order of things we address in model improvements?

A
  1. Under fitting
  2. Over fitting
  3. Distribution shift
  4. Re-balance data set
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Addressing under fitting should be in the fellowing order:

A
  1. Make your model bigger
  2. Reduce regularization
  3. Error analysis
  4. Choose a different model architecture (closer to SOTA)
  5. Tune hyper-parameters
  6. Add features
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Addressing overfitting should be in this order:

A
  1. Add more training data
  2. Add normalization (batch norm, layer norm)
  3. Add data augmentation
  4. Increase regularization (drop out, l2, weight decay)
  5. Error analysis
  6. Choose a different model
  7. Tune hyper-parameters
  8. Early stopping
  9. Remove features
  10. Reduce model size
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What can you do for Addressing distribution shift? (Validation and test scores not close)

A
  1. Analyze test-Val set error (actually look at what is being labeled wrong) and:
  2. 1 collect more training data to compensate
  3. 2 synthesize more training data to compensate
  4. Apply domain adaptation techniques to training and test distributions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is error analysis

A

Looking at where the train-Val, and the Val-test are off, look at the specific cases. Split them into different groups and prioritize based on what is easier to deal with

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is domain adaptation?

A

Techniques to train on “source” distribution and generalize to another “target” using only unlabeled data or limited labeled data.

Should consider using when access to labeled data from test is limited and the access to relatively similar data is plentiful

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

2 types of domain adaptations:

A
  1. Supervised, use when there is limited data from target domain, examples: fine tune pre trained model, add target data to train set
  2. Unsupervised, you have lots of unlabeled data from target domain, examples: correlation alignment, domain confusion, cycleGAN
How well did you know this?
1
Not at all
2
3
4
5
Perfectly