Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Comprehensive collection of domain adaptation research papers
.claude/skills/brycewang-stanford-domain-adaptation-papers-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-12 | ✗→✓ | ▲ Improved | 94% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-10 | ✓→✓ | = Same ✓ | 55% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 23% | 0% |
| case-05 | ✓→✓ | = Same ✓ | 54% | 0% |
Domain adaptation addresses the problem of training models on one data distribution (source domain) and deploying them on a different distribution (target domain). This curated collection covers the full spectrum — from unsupervised domain adaptation (UDA) and domain generalization to partial, open-set, and source-free adaptation. Organized by methodology and application area with regularly updated paper lists.
Domain Adaptation
├── Unsupervised DA (UDA)
│ ├── Discrepancy-based (MMD, CORAL, CDD)
│ ├── Adversarial-based (DANN, ADDA, CDAN)
│ ├── Reconstruction-based (DRCN, DSN)
│ └── Self-training (SHOT, CBST)
├── Semi-supervised DA
├── Source-free DA (no source data at adaptation time)
├── Partial DA (target has subset of source classes)
├── Open-set DA (target has unknown classes)
├── Universal DA (no prior on label set relationship)
├── Multi-source DA
├── Domain Generalization (no target data at all)
└── Test-time Adaptation (adapt at inference)| Method | Year | Approach | Key Idea | |--------|------|----------|----------| | TCA | 2011 | Kernel | Transfer Component Analysis | | GFK | 2012 | Subspace | Geodesic Flow Kernel | | SA | 2013 | Subspace | Subspace Alignment | | DAN | 2015 | MMD | Deep Adaptation Networks | | DANN | 2016 | Adversarial | Domain-Adversarial Neural Networks | | ADDA | 2017 | Adversarial | Adversarial Discriminative DA | | CORAL | 2016 | Statistics | Correlation Alignment |
| Method | Year | Approach | Key Idea | |--------|------|----------|----------| | CDAN | 2018 | Adversarial | Conditional adversarial + entropy | | MCD | 2018 | Discrepancy | Maximum Classifier Discrepancy | | SHOT | 2020 | Source-free | Self-supervised pseudo-labeling | | TENT | 2021 | Test-time | Entropy minimization at test time | | DAFormer | 2022 | Transformer | DA for semantic segmentation | | PADCLIP | 2023 | Vision-language | CLIP-based domain adaptation |
pythonimport arxiv def find_da_papers(subtopic="unsupervised", days=30): """Find recent domain adaptation papers on arXiv.""" queries = { "unsupervised": "abs:unsupervised domain adaptation", "source_free": "abs:source-free domain adaptation", "generalization": "abs:domain generalization", "test_time": "abs:test-time adaptation OR test-time training", } search = arxiv.Search( query=queries.get(subtopic, queries["unsupervised"]), max_results=30, sort_by=arxiv.SortCriterion.SubmittedDate, ) for result in search.results(): print(f"[{result.published.strftime('%Y-%m-%d')}] " f"{result.title}") print(f" {result.entry_id}") find_da_papers("source_free")
python# Standard DA benchmarks benchmarks = { "Office-31": { "domains": ["Amazon", "DSLR", "Webcam"], "classes": 31, "task": "Object recognition", }, "Office-Home": { "domains": ["Art", "Clipart", "Product", "Real World"], "classes": 65, "task": "Object recognition", }, "VisDA-2017": { "domains": ["Synthetic", "Real"], "classes": 12, "task": "Large-scale sim-to-real", }, "DomainNet": { "domains": ["Clipart", "Infograph", "Painting", "Quickdraw", "Real", "Sketch"], "classes": 345, "task": "Large-scale multi-domain", }, "PACS": { "domains": ["Photo", "Art", "Cartoon", "Sketch"], "classes": 7, "task": "Domain generalization", }, } for name, info in benchmarks.items(): print(f"\n{name}: {info['classes']} classes, " f"{len(info['domains'])} domains") print(f" Domains: {', '.join(info['domains'])}")
| Application | Source → Target Example | |-------------|----------------------| | Medical imaging | Hospital A → Hospital B scanners | | Autonomous driving | Simulation → Real world | | Remote sensing | Region A → Region B satellite | | NLP | News text → Social media | | Speech | Studio → Noisy environments | | Robotics | Sim → Real manipulation |
markdown### Beginner Path 1. "A Survey on Transfer Learning" (Pan & Yang, 2010) 2. "Domain Adaptation for Object Recognition" (Saenko et al., 2010) 3. "Deep Domain Confusion" (Tzeng et al., 2014) 4. DANN paper (Ganin et al., 2016) ### Intermediate Path 5. CDAN (Long et al., 2018) 6. MCD (Saito et al., 2018) 7. "Moment Matching for Multi-Source DA" (Peng et al., 2019) ### Advanced Path 8. SHOT (Liang et al., 2020) — source-free 9. TENT (Wang et al., 2021) — test-time 10. "Benchmarking DA on Language" (Ramponi & Plank, 2020)
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | pass→pass | 18,293 | 19,427 | +6% | 1 | 1 | 0% | 3,137 | 4,847 | +55% | 0 | 0 | — |
case-01 | fail→fail | 10,265 | 8,704 | -15% | 1 | 1 | 0% | 1,888 | 3,114 | +65% | 0 | 0 | — |
case-02 | fail→fail | 26,049 | 21,974 | -16% | 1 | 1 | 0% | 4,398 | 5,501 | +25% | 0 | 0 | — |
case-09 | fail→fail | 19,437 | 20,209 | +4% | 1 | 1 | 0% | 3,287 | 5,171 | +57% | 0 | 0 | — |
case-03 | pass→pass | 18,028 | 27,382 | +52% | 1 | 1 | 0% | 3,399 | 4,192 | +23% | 0 | 0 | — |
case-04 | fail→fail | 14,764 | 16,568 | +12% | 1 | 1 | 0% | 2,735 | 4,582 | +68% | 0 | 0 | — |
case-05 | pass→pass | 11,124 | 8,024 | -28% | 1 | 1 | 0% | 2,099 | 3,237 | +54% | 0 | 0 | — |
case-06 | pass→pass | 14,022 | 12,039 | -14% | 1 | 1 | 0% | 2,424 | 3,727 | +54% | 0 | 0 | — |
case-07 | pass→pass | 13,634 | 12,517 | -8% | 1 | 1 | 0% | 2,019 | 3,600 | +78% | 0 | 0 | — |
case-08 | pass→pass | 19,707 | 22,015 | +12% | 1 | 1 | 0% | 3,590 | 5,725 | +59% | 0 | 0 | — |
case-11 | pass→pass | 14,375 | 15,590 | +8% | 1 | 1 | 0% | 2,710 | 4,443 | +64% | 0 | 0 | — |
case-12 | fail→pass | 14,387 | 13,936 | -3% | 1 | 1 | 0% | 2,061 | 3,997 | +94% | 0 | 0 | — |
case-13 | pass→pass | 16,354 | 17,711 | +8% | 1 | 1 | 0% | 2,914 | 4,534 | +56% | 0 | 0 | — |
case-14 | pass→pass | 18,178 | 18,766 | +3% | 1 | 1 | 0% | 3,077 | 4,635 | +51% | 0 | 0 | — |
case-15 | fail→pass | 13,121 | 8,382 | -36% | 1 | 1 | 0% | 2,825 | 3,483 | +23% | 0 | 0 | — |
case-16 | pass→pass | 16,770 | 17,884 | +7% | 1 | 1 | 0% | 2,725 | 4,701 | +73% | 0 | 0 | — |
case-17 | pass→pass | 16,232 | 13,696 | -16% | 1 | 1 | 0% | 2,773 | 3,776 | +36% | 0 | 0 | — |
case-18 | pass→pass | 14,452 | 13,342 | -8% | 1 | 1 | 0% | 2,648 | 4,157 | +57% | 0 | 0 | — |
case-19 | pass→pass | 16,948 | 11,321 | -33% | 1 | 1 | 0% | 2,759 | 3,546 | +29% | 0 | 0 | — |
case-20 | fail→fail | 12,635 | 12,786 | +1% | 1 | 1 | 0% | 1,914 | 3,483 | +82% | 0 | 0 | — |
case-21 | pass→pass | 17,786 | 20,836 | +17% | 1 | 1 | 0% | 3,523 | 5,840 | +66% | 0 | 0 | — |
case-22 | pass→pass | 13,097 | 13,596 | +4% | 1 | 1 | 0% | 2,093 | 4,356 | +108% | 0 | 0 | — |
case-23 | pass→pass | 17,465 | 11,589 | -34% | 1 | 1 | 0% | 4,001 | 4,097 | +2% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +9 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.