iwangjian / textsum-gan

Tensorflow re-implementation of GAN for text summarization
134 stars 56 forks source link

您好,我想问下discriminator.py文件中loss函数为什么是交叉熵呀,而不是min φ  EY ∼pdata [logDφ(Y )] ] EY ∼Gθ [log(1 1 Dφ(Y ))] #18

Open hanyegirl opened 4 years ago

hanyegirl commented 4 years ago

代码如下:
self.scores = tf.nn.xw_plus_b(self.h_drop, W, b, name="scores")#(?, 2)两列分别代表了为假的概率和为真的概率 self.ypred_for_auc = tf.nn.softmax(self.scores)#(?, 2) self.predictions = tf.argmax(self.scores, 1, name="predictions")#(?,)#0代表预测的是假,1代表预测的是真

        # CalculateMean cross-entropy loss
        with tf.name_scope("loss"):
            losses = tf.nn.softmax_cross_entropy_with_logits(logits=self.scores, labels=self.input_y)
            self.loss = tf.reduce_mean(losses) + l2_reg_lambda * l2_loss

请问下这块代码是否有误呀

FXiiX commented 2 years ago

discriminator.py里的loss函数是预训练过程评价Generator的函数,而后面的公式是整个对抗网络d和g用的都是对数损失,这里作者参考的是seqgan源代码里的部分。generator预训练用的就是交叉熵。