Tanh()在生成器网络输出层的使用

use of Tanh() in the output layer of generator network

我正在研究生成对抗网络。最近,在阅读 Radford 等人的论文时。 here,我发现他们生成器网络的输出层使用了tanh()。 Tanh()的取值范围是(-1, 1),而双精度格式的图像像素值取值范围是[0, 1]。有人可以解释为什么 Tanh() 在输出层中使用以及生成器如何生成具有适当像素值的图像吗?

如果你看一下论文的代码,你会看到作者对图像进行了预处理:https://github.com/soumith/dcgan.torch/blob/master/data/donkey_folder.lua#L68 这样图像的值就取到了 [-1, 1].

然后,在生成部分,他们将图像重新缩放为 [0, 1] 中的值:https://github.com/soumith/dcgan.torch/blob/master/generate.lua#L89