textsum-gan
textsum-gan copied to clipboard
您好,我想问下discriminator.py文件中loss函数为什么是交叉熵呀,而不是min φ EY ∼pdata [logDφ(Y )] ] EY ∼Gθ [log(1 1 Dφ(Y ))]
代码如下:
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
请问下这块代码是否有误呀
discriminator.py里的loss函数是预训练过程评价Generator的函数,而后面的公式是整个对抗网络d和g用的都是对数损失,这里作者参考的是seqgan源代码里的部分。generator预训练用的就是交叉熵。