-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What does D0, D1 and D2 (C0,C1and C2) represent here? #2
Comments
What is more, why are there three disentanglers? Are not domain-invariant, domain-specific and class-irrelevant features disentangled from one distentangler as illustrated in Figure 1.? |
I am very sorry to bother you, I am also reading this code, since there is no data set, I used my own data set to experiment, but the experimental results are not good, so I would like to ask if you have the data set of this code. |
Digit-Five may need to be collected by yourself. |
Thank you very much for your data set. I still have a question. Have you read this code carefully? I think this code is different from the paper in some places, like D0, D1, D2, C0, C1, C2 training, and The calculation of ringloss, etc., I don't know if it is a problem with the code or I don't understand the code, I hope to get your guidance. Thank you |
Yes, looks like the code doesn't match the paper |
Hi, if anyone is interested, I am trying to reproduce the results in my fork, starting from the original repo. Any help would be great! |
Hi @marcociccone. Were you able to reproduce the paper results? |
@mmderakhshani No, Unfortunately I gave up, since the paper is not clear and far from being reproducible. |
I was also feeling a bit confused reading the code in several parts. For example, in the adversarial_alignment() function, it was supposed to train a GAN in a minimax fashion, i.e. first optimising G and then optimising D. But the code optimised G and D together (code: self.group_opt_step(['FD', 'D_di', 'G'])), which would just push the parameters randomly forward and backward. Then, there was a step to minimise the discrepancy between domain specific features and domain invariant features (code: loss_dis = _discrepancy(...)). This seems to be contradictory to what the paper proposed, i.e. domain specific features and domain invariant features should be far away from each other instead of similar.
|
The mutual information neural estimator function (MINE) was also a bit confusing. The code implemented a multi-layer perceptron that outputs a scalar value, instead of a probability distribution that was needed for calculating mutual information. Maybe I need to read the original MINE paper to understand this.
|
Anyway, it is still an interesting paper about domain adaptation with a lot of inspirations. |
|
Can I ask if anyone has reproduced the code for this paper ? |
because one disentangler can not disentangle three codes |
Thanks for sharing your code! I have some doubts and hope to communicate with you.
The paper contains only two class predictors. Why are there three class predictors C0,C1, and C2 in the code?
What does D0,D1, and D2 represent?The code calculate max mutual information between (d0, d2) and (d1, d2), That means d2 is the domain-invariant feature and D2 is the domain-invariant disentangler (paper section 3).


But this code also does adversarial alignment on D1, which means that D1 is the domain-invariant disentangler.
What does this code calculate? I couldn't find an explanation in the paper.

Looking forward to your reply. Thank you!
The text was updated successfully, but these errors were encountered: