  Out-of-distribution (OOD) generalization is critical for machine learning
models deployed in the real world. However, achieving this can be fundamentally
challenging, as it requires the ability to learn invariant features across
different domains or environments. In this paper, we propose a novel framework
HYPO (HYPerspherical OOD generalization) that provably learns domain-invariant
representations in a hyperspherical space. In particular, our hyperspherical
learning algorithm is guided by intra-class variation and inter-class
separation principles -- ensuring that features from the same class (across
different training domains) are closely aligned with their class prototypes,
while different class prototypes are maximally separated. We further provide
theoretical justifications on how our prototypical learning objective improves
the OOD generalization bound. Through extensive experiments on challenging OOD
benchmarks, we demonstrate that our approach outperforms competitive baselines
and achieves superior performance. Code is available at
https://github.com/deeplearning-wisc/hypo.
