  Single domain generalization aims to learn a model from a single training
domain (source domain) and apply it to multiple unseen test domains (target
domains). Existing methods focus on expanding the distribution of the training
domain to cover the target domains, but without estimating the domain shift
between the source and target domains. In this paper, we propose a new learning
paradigm, namely simulate-analyze-reduce, which first simulates the domain
shift by building an auxiliary domain as the target domain, then learns to
analyze the causes of domain shift, and finally learns to reduce the domain
shift for model adaptation. Under this paradigm, we propose a meta-causal
learning method to learn meta-knowledge, that is, how to infer the causes of
domain shift between the auxiliary and source domains during training. We use
the meta-knowledge to analyze the shift between the target and source domains
during testing. Specifically, we perform multiple transformations on source
data to generate the auxiliary domain, perform counterfactual inference to
learn to discover the causal factors of the shift between the auxiliary and
source domains, and incorporate the inferred causality into factor-aware domain
alignments. Extensive experiments on several benchmarks of image classification
show the effectiveness of our method.
