Domain Adaptation and Transfer
Definition: Domain Adaptation
Domain Adaptation
When source and target distributions differ:
- Supervised DA: labelled target data available
- Unsupervised DA: only unlabelled target data
- Domain-adversarial training: learn features that are discriminative for the task but invariant to the domain
class DomainAdversarial(nn.Module):
def __init__(self, backbone, classifier, domain_disc):
super().__init__()
self.backbone = backbone
self.classifier = classifier
self.domain_disc = domain_disc # GRL + discriminator
Example: Sim-to-Real Transfer for Wireless
Transfer a model trained on simulated channels to real measurements.
Solution
Approach
- Train on simulated data (large, cheap)
- Fine-tune on small real-world measurements
- Use domain adaptation to align feature distributions