Papers › Unsupervised Domain Adaptation by Backpropagation
Unsupervised Domain Adaptation by Backpropagation
Yaroslav Ganin, Victor Lempitsky
Top-performing deep architectures are trained on massive amounts of labeled data. In the absence of labeled data for a certain task, domain adaptation often provides an attractive option given that labeled data of similar nature but from a different domain (e.g. synthetic images) are available. Here, we propose a new approach to domain adaptation in deep architectures that can be trained on large amount of labeled data from the source domain and large amount of unlabeled data from the target domain (no labeled target-domain data is necessary). As the training progresses, the approach promotes the emergence of "deep" features that are (i) discriminative for the main learning task on the source domain and (ii) invariant with respect to the shift between the domains. We show that this adaptation behaviour can be achieved in almost any feed-forward model by augmenting it with few standard layers and a simple new gradient reversal layer. The resulting augmented architecture can be trained using standard backpropagation. Overall, the approach can be implemented with little effort using any of the deep-learning packages. The method performs very well in a series of image classification experiments, achieving adaptation effect in the presence of big domain shifts and outperforming previous state-of-the-art on Office datasets.
In Syntology View this paper on Syntology: its repositories, every harvested function with whether it ran, its licence and the call to fetch it.
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="1409.7495")
Code
Syntology Ran 34 of 41 code samples harvested from 9 repositories linked to this paper; 7 have no recorded run. Of those that ran: 6 ran · honoured contract; 1 ran · violated contract; 7 ran · our draft was wrong; 5 ran · fixture could not drive it; 15 ran with no contract checked.
By repository: community (archive-listed): 41 samples from 9 repositories, 34 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.
22 repositories listed; official and paper-mentioned ones first.
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
41 samples harvested; 34 ran; 6 honoured the contract we drafted; 7 have no recorded run. Read from Syntology's graph 2026-09-25; that is when this build read the record, not when the samples ran.
Licence: 14 of the 41 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 9 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.
0ca46bc4a0a297f2 · report
6ab18998af0ba03c · report
20cb3aaf5c97f956 · report
f0584b75b21cfa14 · report
2c7252e6fbe318a4 · report
a131c7e1826f2658 · report
8bcf26efeb2782aa · report
95d4a3f782fc662d · report
305e7ca5569d6fe3 · report
b32765b5b538dbf4 · report
49bc3ed72b781f50 · report
74b0480769c5ba97 · report
9914f5b3194c1f7b · report
17aeadd82099f0be · report
2c9d98412ada0b6a · report
b28b2fd06d28b0a0 · report
8845995e56d4cff9 · report
d5d3e0a555244347 · report
753fda05a9c00a3e · report
b04d9d5764a5410b · report
97b8e1b80fda9274 · report
991811eca03c0624 · report
a5960daa5243f80f · report
d968cbdfc4dbc680 · report
2bba5d9982e38156 · report
6f317a9e82457143 · report
bc61e8da0a70e61c · report
2a2818b6a3f495d4 · report
a7724a91540d3462 · report
5ee018c7b767d60e · report
337c118be78fa411 · report
3714824fc72387d9 · report
80f788d717b43cf5 · report
810938a759273697 · report
cf4b39f677292095 · report
d5f97fa83a6f1185 · report
fcf59d80aabe9645 · report
72b4d71c363c7308 · report
b5d9d0d6569a4d75 · report
988358e38ca0a57c · report
fbc58747762376c0 · report
Tasks
Results from the paper archive 2025-07-28
| Task | Dataset | Model | Metric | Value | Rank at snapshot | Leaderboard | Report |
|---|---|---|---|---|---|---|---|
| Domain Adaptation | HMDBfull-to-UCF | RevGrad | Accuracy | 74.44 | #5 of 5 | Archive leaderboard | report |
| Domain Adaptation | HMDBsmall-to-UCF | TemPooling + RevGrad | Accuracy | 98.41 | #2 of 3 | Archive leaderboard | report |
| Domain Adaptation | Olympic-to-HMDBsmall | TemPooling + RevGrad | Accuracy | 90.00 | #2 of 3 | Archive leaderboard | report |
| Domain Adaptation | UCF-to-HMDBfull | RevGrad | Accuracy | 74.44 | #4 of 5 | Archive leaderboard | report |
| Domain Adaptation | UCF-to-HMDBsmall | TemPooling + RevGrad | Accuracy | 99.33 | #2 of 3 | Archive leaderboard | report |
| Domain Adaptation | UCF-to-Olympic | TemPooling + RevGrad | Accuracy | 98.15 | #2 of 3 | Archive leaderboard | report |
| Multi-target Domain Adaptation | Office-31 | RevGrad | Accuracy | 73.4 | #5 of 5 | Archive leaderboard | report |
| Multi-target Domain Adaptation | Office-Home | RevGrad | Accuracy | 57.9 | #4 of 4 | Archive leaderboard | report |
| Unsupervised Image-To-Image Translation | SVNH-to-MNIST | DANN | Classification Accuracy | 73.6% | #4 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.
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