Skip to content

训练损失为负数, #19

@chenmingwei00

Description

@chenmingwei00

感觉作者训练有造假的嫌疑,首先
ops = [glow_ops.get_variable_ddi, glow_ops.actnorm, glow_ops.get_dropout]
encoder = glow_ops.encoder_decoder
self.z, encoder_objective, self.eps, _, _ = encoder(
"flow", x, self.hparams, eps=None, reverse=False,init=init)
objective += encoder_objective
这时的objective 损失为正,原因是其实就是在变换过程中antocrm的参数以及分割向量后经过正态分布密度函数后的log_prob的概率负数,但是作者确实使用+=,有待商榷,参数总和可能为正也可能为负,但是log_prob一定为负,由于概率再0-1之间,
self.z_top_shape =self.z.shape
prior_dist = self.top_prior()
prior_objective =paddle.sum(
prior_dist.log_prob(self.z), axis=[1, 2, 3])
#self.z_sample = prior_dist.sample()
objective += prior_objective
所以这个为负数就一点也不奇怪,所以作者的试验效果好,确实需要验证,我正在验证中

求作者出来解释一下

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions