Papers › Adversarial Discriminative Domain Adaptation

Adversarial Discriminative Domain Adaptation

17 Feb 2017CVPR 2017 7arXiv:1702.05464archive 2025-07-28

Eric Tzeng, Judy Hoffman, Kate Saenko, Trevor Darrell

Adversarial learning methods are a promising approach to training robust deep networks, and can generate complex samples across diverse domains. They also can improve recognition despite the presence of domain shift or dataset bias: several adversarial approaches to unsupervised domain adaptation have recently been introduced, which reduce the difference between the training and test domain distributions and thus improve generalization performance. Prior generative approaches show compelling visualizations, but are not optimal on discriminative tasks and can be limited to smaller shifts. Prior discriminative approaches could handle larger domain shifts, but imposed tied weights on the model and did not exploit a GAN-based loss. We first outline a novel generalized framework for adversarial adaptation, which subsumes recent state-of-the-art approaches as special cases, and we use this generalized view to better relate the prior approaches. We propose a previously unexplored instance of our general framework which combines discriminative modeling, untied weight sharing, and a GAN loss, which we call Adversarial Discriminative Domain Adaptation (ADDA). We show that ADDA is more effective yet considerably simpler than competing domain-adversarial methods, and demonstrate the promise of our approach by exceeding state-of-the-art unsupervised adaptation results on standard cross-domain digit classification tasks and a new more difficult cross-modality object classification task.

PaperPDFConference PDFCodeCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="1702.05464")

Code

Syntology Ran 14 of 48 code samples harvested from 14 repositories linked to this paper; 34 have no recorded run. Of those that ran: 1 ran · honoured contract; 6 ran · our draft was wrong; 1 ran · fixture could not drive it; 6 ran with no contract checked.

By repository: community (archive-listed): 48 samples from 14 repositories, 14 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

20 repositories listed; official and paper-mentioned ones first.

Backdrop9019/adda_pytorch-pseudo-mixup- mentioned on GitHubpytorch report
Backdrop9019/pytorch_adda_mixup mentioned on GitHubpytorch report
Carl0520/ADDA-pytorch mentioned on GitHubpytorch report
Fujiki-Nakamura/ADDA.PyTorch mentioned on GitHubpytorch report
Jeff860530/ADDA mentioned on GitHubpytorch report
adapt-python/adapt mentioned on GitHubtf report
antoinedemathelin/wann mentioned on GitHubtf report
caoquanjie/ADDA-master mentioned on GitHubtf report
corenel/pytorch-adda mentioned on GitHubpytorch report
happen2me/adda_pytorch mentioned on GitHubpytorch report
jvanvugt/pytorch-domain-adaptation mentioned on GitHubpytorch report
thuml/Transfer-Learning-Library mentioned on GitHubpytorch report
v1viswan/Domain_adaptation_in_HRNet mentioned on GitHubpytorchNOASSERTION report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

48 samples harvested; 14 ran; 1 honoured the contract we drafted; 34 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

1ran · honoured contract
6ran · our draft was wrong
1ran · fixture could not drive it
6ran
34unverified

Licence: 12 of the 48 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from 14 repositories linked to this paper, official or community; each sample names its own and says which. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

Discriminator mashaan14/ADDA-toy/models.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · 7ee0559533467085 · report
Discriminator Backdrop9019/pytorch_adda_mixup/models/models.py community (archive-listed) ran · metamorphic tier: deterministic no licence file found · pointer only · 8834a2ebbe444d53 · report
Discriminator Fujiki-Nakamura/ADDA.PyTorch/models.py community (archive-listed) ran no licence file found · pointer only · e8e38bfc623d704e · report
Discriminator kevin851066/Deep_Learning_for_Computer_Vision/hw3-kevin851066/ADDA/SM_M/ADDA.py community (archive-listed) ran no licence file found · pointer only · ebf44e526ae75e68 · report
DomainAdversarialLoss thuml/Transfer-Learning-Library/tllib/alignment/adda.py community (archive-listed) ran MIT (permissive) · 7bb28fb79002a53d · report
check_network adapt-python/adapt/adapt/feature_based/_adda.py community (archive-listed) ran · our draft was wrong BSD-2-Clause (permissive) · dfe3c0d123bc7830 · report
get_default_discriminator adapt-python/adapt/adapt/feature_based/_adda.py community (archive-listed) ran · our draft was wrong BSD-2-Clause (permissive) · 60cfae1e4c765da8 · report
get_default_encoder adapt-python/adapt/adapt/feature_based/_adda.py community (archive-listed) ran · our draft was wrong BSD-2-Clause (permissive) · ba83013d36128386 · report
get_default_task adapt-python/adapt/adapt/feature_based/_adda.py community (archive-listed) ran · our draft was wrong BSD-2-Clause (permissive) · 4078865962ffaf59 · report
loop_iterable jvanvugt/pytorch-domain-adaptation/adda.py community (archive-listed) ran · our draft was wrong MIT (permissive) · af8de7283d2b0b9e · report
make_cuda happen2me/adda_pytorch/core/adapt.py community (archive-listed) ran · honoured contract fingerprinted no licence file found · pointer only · 4c5ddb71c68be51a · report
mixup_data Backdrop9019/adda_pytorch-pseudo-mixup-/core/adapt.py community (archive-listed) ran · fixture could not drive it no licence file found · pointer only · 084dfb3d87216615 · report
tfADDA anglihust/Unsupervised-vessel-segmentation/models.py community (archive-listed) ran MIT (permissive) · bfd00c4055fd2adc · report
wrap_keys kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) ran · our draft was wrong MIT (permissive) · 622c3f05a9b70b22 · report
ADDA adapt-python/adapt/adapt/feature_based/_adda.py community (archive-listed) unverified BSD-2-Clause (permissive) · ce9e1a5eac1050da · report
ADDAHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 25e34a726b2ba605 · report
BaseAdaptDeep adapt-python/adapt/adapt/feature_based/_adda.py community (archive-listed) unverified BSD-2-Clause (permissive) · 91edb2b8f17a72f6 · report
BaseConditionHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 4b4ebf6d67718656 · report
BaseFeaturesHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 2607dc161f092df7 · report
BaseHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · ca7d95b46428e282 · report
BaseWrapperHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · f4f0abb8e8238039 · report
CLossHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · f4b49872d61ca7cb · report
ChainHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 46a87df5beca7a35 · report
DLogitsHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 433003a2c8fc7f61 · report
EmptyHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 97400f2418c74bce · report
FalseHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 31542fd54d3ac9ac · report
FeaturesAndLogitsHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 040844c8bd2ffcae · report
FeaturesChainHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · ba9568d0ea5cbcee · report
FeaturesHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · ad7cd588e5081b5d · report
FeaturesWithGradAndDetachedHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 72b333545ead7d03 · report
FrozenModelHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 724735f6d9545589 · report
GANHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 3bf49b3d9b8d635e · report
LogitsHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 4bd3dad9e4078393 · report
StrongDHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 08838ca55f39ac9f · report
TrueHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 40469ce9b9b8e75d · report
ZeroLossHook kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · ff6a75be2bbdf375 · report
check_keys_are_present kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 7cbe490d83bf8263 · report
concat_ad_loss_2 caoquanjie/ADDA-master/adda.py community (archive-listed) unverified no licence file found · pointer only · a382b74025c113e5 · report
discriminator caoquanjie/ADDA-master/adda.py community (archive-listed) unverified no licence file found · pointer only · 566bf3a9068aa745 · report
eval_src Backdrop9019/adda_pytorch-pseudo-mixup-/core/adapt.py community (archive-listed) unverified no licence file found · pointer only · ae0275061ef16144 · report
main jvanvugt/pytorch-domain-adaptation/adda.py community (archive-listed) unverified MIT (permissive) · 1bd934517a6aa265 · report
replace_mapped_keys kevinmusgrave/pytorch-adapt/src/pytorch_adapt/hooks/adda.py community (archive-listed) unverified MIT (permissive) · 2a961204ae724b34 · report
set_requires_grad jvanvugt/pytorch-domain-adaptation/adda.py community (archive-listed) unverified MIT (permissive) · b4339c04b8867835 · report
swish anglihust/Unsupervised-vessel-segmentation/models.py community (archive-listed) unverified MIT (permissive) · 12ddf95e9fccb3c4 · report
train_tgt corenel/pytorch-adda/core/adapt.py community (archive-listed) unverified MIT (permissive) · b2531ab289d6f8e9 · report
train_tgt happen2me/adda_pytorch/core/adapt.py community (archive-listed) unverified no licence file found · pointer only · 8ab9e937c7ff7cd1 · report
train_tgt Backdrop9019/adda_pytorch-pseudo-mixup-/core/adapt.py community (archive-listed) unverified no licence file found · pointer only · 84d421fc6e4a0800 · report
train_tgt Carl0520/ADDA-pytorch/core/adapt.py community (archive-listed) unverified no licence file found · pointer only · 1c6d0180357995cf · report

Tasks

Domain AdaptationGeneral ClassificationUnsupervised Domain AdaptationUnsupervised Image-To-Image Translation

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Domain Adaptation MNIST-to-USPS ADDN Accuracy 90.1 #14 of 14 Archive leaderboard report
Domain Adaptation SVHN-to-MNIST ADDN Accuracy 80.1 #13 of 14 Archive leaderboard report
Unsupervised Domain Adaptation EPIC-KITCHENS-100 ADDA Average Accuracy 37.4 #5 of 5 Archive leaderboard report
Unsupervised Domain Adaptation HMDB-UCF ADDA Accuracy 88.44 #5 of 6 Archive leaderboard report
Unsupervised Domain Adaptation Jester (Gesture Recognition) ADDA Accuracy 52.3 #5 of 5 Archive leaderboard report
Unsupervised Domain Adaptation UCF-HMDB ADDA Accuracy 79.17 #6 of 6 Archive leaderboard report
Unsupervised Image-To-Image Translation SVNH-to-MNIST ADDA Classification Accuracy 76.0% #3 of 4 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Convolution

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections