Domain Generalization and Adaptation
Models trained in one visual domain fail in another. Adaptation uses target data to adjust, generalization prepares for unseen domains without any.
Why Does This Exist?
Daylight training meets night rain, synthetic renders meet real streets, one hospital scanner meets another. Accuracy falls off the same cliff every time: 0.91 on the source domain, 0.63 on the new one in the running example, a gap of 0.28 with identical labels. The field splits on one question: is any target data available. When yes, adapt with it. When no, generalize blind.
This page is the map, not the methods. Each branch has its own machinery, taught on its own page. Domain adaptation for vision aligns features with unlabeled target images. Transfer learning fine-tunes when target labels exist. The generalization branch, training across multiple source domains so an unseen one still works, is surveyed at the end of this page with pointers. Read this page to choose a branch, then go deep on exactly one child.
The one idea you need first
A domain is where the images come from: the camera, the lighting, the renderer, the hospital. A source domain has labels, a target domain is where the model must work. Adaptation reads target images during training; generalization never sees the test domain at all. The accuracy numbers on this page are one shared running example so the branches compare fairly.
Think of It Like This
Rehearsing in one hall, performing in another
A choir rehearses in a dry studio and performs in a stone cathedral where every note echoes. Adaptation is a soundcheck in the cathedral with the room's echo to adjust against: hear the actual space, then retune. Generalization is rehearsing in five different rooms so no single room's acoustics become the performance: arrive robust, with no soundcheck at all.
The analogy stops at features. Choirs adjust balance, which listeners hear directly, while networks must adjust internal representations that no listener can inspect. And the five-room choir pays in rehearsal time, just as generalization pays in multi-source data and trails adaptation wherever a soundcheck was possible.
How It Actually Works
The split is decided by data access, and each side has a price. Adaptation methods read target images and close most of the gap, here from 0.63 back toward 0.84, but they need target access at training or test time and can overfit a narrow target sample. Generalization methods train over multiple source domains with invariance penalties and hold 0.76 on an unseen domain with no target data, but they trail adaptation wherever target data exists and demand diverse sources up front.
Worked example
Score one classifier three ways on the shared example, 100 images per site:
The shift costs . Adapting with unlabeled target images recovers to 84 out of 100:
Generalizing blind from multiple sources reaches 76 out of 100 on the unseen site:
The decision aid is the three numbers side by side: 0.28 lost, about 0.21 recoverable with target data, about 0.13 without. The diagram above draws exactly this fork.
How to choose in one pass
Target images available plus permission to use them points to unsupervised or source-free adaptation. Source data locked behind policy points to source-free methods, which adapt without revisiting the source. No target data at all points to multi-source generalization with an invariance penalty across the sources. Simulation as the only source points to sim-to-real techniques with heavy randomization. Each child page states its own data contract; this page only routes.
Watch Out For
Evaluating adaptation on the adaptation set
Tuning on the same target split that is reported inflates recovery by several points, and the model then meets a second target site unprepared. The symptom is published gains that vanish on the next hospital or city. Hold out a second unseen site and report it alongside the adapted one.
Calling multi-source training generalization without leaving a domain out
Training on five hospitals and validating on a mix of the same five measures in-distribution fit, not robustness. The symptom is flat validation across sources followed by a drop on the sixth hospital that surprises everyone. Fix it with a leave-one-domain-out protocol: hold one whole source out, train on the rest, and report the held-out site as the number that matters.
The Quick Version
- Domain shift costs 0.28 here, 0.91 down to 0.63, with no change to labels.
- Adaptation uses target data and recovers 0.21 of the gap to reach 0.84.
- Generalization prepares blind across sources and recovers 0.13 to hold 0.76 with nothing new.
- Data availability and policy decide the branch, not accuracy tables.
- Children teach each mechanism; this page only routes.