Gradient Matching for Domain Generalization
About
Machine learning systems typically assume that the distributions of training and test sets match closely. However, a critical requirement of such systems in the real world is their ability to generalize to unseen domains. Here, we propose an inter-domain gradient matching objective that targets domain generalization by maximizing the inner product between gradients from different domains. Since direct optimization of the gradient inner product can be computationally prohibitive -- requires computation of second-order derivatives -- we derive a simpler first-order algorithm named Fish that approximates its optimization. We demonstrate the efficacy of Fish on 6 datasets from the Wilds benchmark, which captures distribution shift across a diverse range of modalities. Our method produces competitive results on these datasets and surpasses all baselines on 4 of them. We perform experiments on both the Wilds benchmark, which captures distribution shift in the real world, as well as datasets in DomainBed benchmark that focuses more on synthetic-to-real transfer. Our method produces competitive results on both benchmarks, demonstrating its effectiveness across a wide range of domain generalization tasks.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Domain Generalization | VLCS | Accuracy77.8 | 238 | |
| Image Classification | PACS | Overall Average Accuracy66.1 | 230 | |
| Domain Generalization | PACS (test) | Average Accuracy85.5 | 225 | |
| Domain Generalization | PACS | -- | 221 | |
| Domain Generalization | OfficeHome | Accuracy68.6 | 182 | |
| Image Classification | OfficeHome | Average Accuracy68.6 | 131 | |
| Domain Generalization | DomainBed | Average Accuracy63.9 | 127 | |
| Domain Generalization | DomainNet | Accuracy42.7 | 113 | |
| Domain Generalization | DomainBed (test) | VLCS Accuracy77.8 | 110 | |
| Domain Generalization | Office-Home (test) | Average Accuracy68.6 | 106 |