VisionLearningGroup / DAL

Domain agnostic learning with disentangled representations
145 stars 28 forks source link

Code are different from paper in mutual information minimization. #7

Open kevinbro96 opened 4 years ago

kevinbro96 commented 4 years ago

Hi, there: In your paper, you minimize the mutual information of di---ds, di---ci. However, in your code solver_disentangle.py, line 184-187 MI_ds_ci_src = self.mi_estimator(ds_src, ci_src, ci_src_shuffle) MI_ds_ci_trg = self.mi_estimator(ds_trg, ci_trg, ci_trg_shuffle) MI_di_ci_src = self.mi_estimator(di_src, ci_src, ci_src_shuffle) MI_di_ci_trg = self.mi_estimator(di_trg, ci_trg, ci_trg_shuffle) You minmize mutual information of ci---ds, di---ci. Why? Your code dose not make sense.

marcociccone commented 4 years ago

@kevinbro96 please don't rely on this implementation. I tried to fix the code several months ago, but unfortunately the authors didn't show any interests in giving support and they merged my PR without even checking it, so I moved on. The current code is wrong: it should have both the estimation (maximizing the lower bound, optimizing MINE network) and the minimization of the MI (fixing MINE network and using it as loss).

Liuzhengfa88 commented 3 years ago

@kevinbro96 please don't rely on this implementation. I tried to fix the code several months ago, but unfortunately the authors didn't show any interests in giving support and they merged my PR without even checking it, so I moved on. The current code is wrong: it should have both the estimation (maximizing the lower bound, optimizing MINE network) and the minimization of the MI (fixing MINE network and using it as loss).

why MI is trained in adversarial manner?

MongoTap commented 2 years ago

I think that MINE is used for MI lower bound approximation, which is not applicable to MI minimization problems. Maybe we should focus on some methods that estimate MI upper bound. Recently I read a paper: CLUB: A Contrastive Log-ratio Upper Bound of Mutual Information. I think it might be a good alternative to MINE.