clovaai / stargan-v2

StarGAN v2 - Official PyTorch Implementation (CVPR 2020)
Other
3.5k stars 659 forks source link

Classification Loss #76

Open ghost opened 4 years ago

ghost commented 4 years ago

Unlike the original StarGAN, StarGAN v2 doesn't have classification loss. Why it is not included in the implementation? If I add it back, does it make the performance worse or better, or will it help the model learn more domain-specific patterns? The current implementation of discriminatior is somewhat similar to the domain classifier in StarGAN, but it's quite different because it only cares about one domain (i.e., each domain is independent). Can it learn domain-specific patterns this way?

yunjey commented 4 years ago

@capavrulus Sorry for a late reply.

Unlike the original StarGAN, StarGAN v2 doesn't have classification loss. Why it is not included in the implementation?

As mentioned in Section 3.1, we replaced the ACGAN discriminator with a multi-task discriminator. The ACGAN discriminator uses the classification loss for domain transfer, which limits the generator to change only the local part (See Figure3a). The adversarial loss allows the generator to match the fake distribution with the target distribution, making global changes possible.

If I add it back, does it make the performance worse or better, or will it help the model learn more domain-specific patterns?

It won't help the performance.