1 Introduction
2 Problem Definition and Categorization of Methods
2.1 Problem Definition
2.2 Categorization of Methods
2.3 Discussion on Related Topics
3 Unsupervised Representation Learning
3.1 Unsupervised Domain Generalization
3.2 Disentangled Representation Learning
4 Supervised Model Learning for OOD Generalization
4.1 Require Environment Labels
4.2 No Environment Labels
5 Optimization for OOD Generalization
5.1 No Additional Information
5.2 With Additional Information
6 Theoretical Connections
6.1 DRO and Causality
6.2 Stable Learning and Causality
7 Evaluation for OOD Generalization
7.1 Synthetic Data
7.2 Real-World Data
7.3 Empirical Findings
8 Implications for Fairness and Explainability
8.1 Fairness
8.2 Explainability
9 Conclusion and Future Directions