分配给GAN的随机噪声是否应该保持恒定?

时间:2019-02-18 01:42:20

标签: python-3.x tensorflow neural-network generative-adversarial-network

我正在研究生殖对抗网络(GAN)。在训练的每一步,我都调用方法generate_noise,该方法返回一些随机噪声的张量。

# Generates noise of normal distribution
def generate_noise( shape : tuple ):
    noise = tf.random_normal( shape )
    return noise

当我调用此方法时,我会收到一个随机噪声张量,该张量会提供给发电机网络。我的问题是:

  

如果生成器每次(在每个步骤)都收到随机输入,那么它如何优化自身以创建有意义的图像(输出)?

然后我应该使每一步的噪声恒定。这意味着每一步都只能通过一个噪声张量。

# Generates noise of normal distribution
noise = tf.random_normal( shape )
def generate_noise( ):
    return noise
  

我是否应该使噪声恒定,以便发电机网络必须处理一个输入,从而可以产生有意义的输出?

在GAN上引用了许多视频和博客。我找不到噪音是否保持恒定。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

噪声不是恒定的。噪声实际上可以看作是数据的潜在表示,生成器试图以隐式方式学习该噪声。可以将“噪声”矢量中的每个维视为提供给生成器的一个特征,例如“微笑”-该特征中的值越高,生成的图像将具有更多的“微笑”。

答案 1 :(得分:1)

否,训练期间的噪音应该恒定。对于给定的潜在噪声矢量,GAN只能生成单个图像。如果将噪声保持恒定,则GAN只能生成一张图像

您唯一希望噪声恒定的情况是,您想可视化在训练单个实例期间GAN的进度。

例如,以这种方式产生以下图像。请注意,在每个点处都会生成相同的图像。这是通过在训练期间的不同阶段将相同的输入噪声矢量传递给GAN来实现的。