VITA-Group / EnlightenGAN

[IEEE TIP] "EnlightenGAN: Deep Light Enhancement without Paired Supervision" by Yifan Jiang, Xinyu Gong, Ding Liu, Yu Cheng, Chen Fang, Xiaohui Shen, Jianchao Yang, Pan Zhou, Zhangyang Wang
Other
890 stars 198 forks source link

Question about the default PatchGAN discriminator used. #97

Closed Mayur28 closed 2 years ago

Mayur28 commented 2 years ago

Hi,

Thanks for releasing this amazing implementation, the results are great!

I just wanted to query, with regards to the choice of default discriminator used (no_norm discriminator with 5 layers), I have 2 questions that I am hoping to clarify: 1) Why is batch normalization excluded from the discriminator? (I found this interesting because, the famous paper by Radford et. al advises that batch norm should be included for stability purposes).

2) The official PatchGAN implementation is configured to have 5 layers in total (3 of which have strided conv). Because of this, each element in the output matrix corresponds to a 70x70 receptive field in the input. The EnlightenGAN solution takes this idea further and instead uses 5 strided convs in the discriminator (7 in total), thus, each element in the output corresponds to a 286x286 patch in the input. This is a fairly large receptive field - I just wanted to find out whether you found any significant benefit/advantage by enlarging the network and consequently, the receptive field of the input?

Any insight would be highly appreciated.

Thanks!

yifanjiang19 commented 2 years ago

I'm not very familiar with whether bn shoud be used in discriminator. Large receptive field can help provide global view for discriminator, which is always good under my observation.

Mayur28 commented 2 years ago

Hi @yueruchen,

Thanks for your response.

My query about batch normalization follows from the fact that the famous paper by Radford et. al advises that PatchGAN should be included. Furthermore, the original PatchGAN implementation included batch normalization. I just wanted to find out since the EnlightenGAN implementation seems to get some inspiration from the original PatchGAN (Pix2Pix & CycleGAN) repo.

That is true, but wouldn't having many more small patches provide more refined and informed updates?

yifanjiang19 commented 2 years ago

That is why another local discriminator helps

Mayur28 commented 2 years ago

Thank you for the clarification.