DarthSid95 / RumiGANs

Code accompanying the NeurIPS 2020 submission "Teaching a GAN What Not to Learn."
MIT License
32 stars 5 forks source link

Why position and negative labels are both one? #1

Closed weigq closed 3 years ago

weigq commented 3 years ago

https://github.com/DarthSid95/RumiGANs/blob/a70d18b7f6f03570f9dae6d3b88f746eb71136d9/models/GANs/sgan.py#L281

DarthSid95 commented 3 years ago

This was another variant I was working on that not in the paper as a major result, actually. The variant of SGAN in the paper uses 'zeros' label, and has a negative weight alphan = alphap - 1, with alphap in [0,1]. You could work out the math and see that this is equivalent to using a positive valued weight 0 < alphan < alphap along with a 'ones' label for the negative class. For now, the default weight is 0.5. https://github.com/DarthSid95/RumiGANs/blob/a70d18b7f6f03570f9dae6d3b88f746eb71136d9/gan_main.py#L76

Since you've brought this up. I'll add a discussion in the README to improve clarity.

TL;DR. Negative class must use label one if --alphan is set positive, and label zero if --alphan is set negative.

weigq commented 3 years ago

Thank you for the explanation. That makes sense.