我正在研究生殖对抗网络(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上引用了许多视频和博客。我找不到噪音是否保持恒定。任何帮助表示赞赏。
答案 0 :(得分:1)
噪声不是恒定的。噪声实际上可以看作是数据的潜在表示,生成器试图以隐式方式学习该噪声。可以将“噪声”矢量中的每个维视为提供给生成器的一个特征,例如“微笑”-该特征中的值越高,生成的图像将具有更多的“微笑”。
答案 1 :(得分:1)
否,训练期间的噪音应该不恒定。对于给定的潜在噪声矢量,GAN只能生成单个图像。如果将噪声保持恒定,则GAN只能生成一张图像。
您唯一希望噪声恒定的情况是,您想可视化在训练单个实例期间GAN的进度。
例如,以这种方式产生以下图像。请注意,在每个点处都会生成相同的图像。这是通过在训练期间的不同阶段将相同的输入噪声矢量传递给GAN来实现的。