GAN(一):Loss函数(vanilla GAN objective)

GAN中的loss函数的构建

主要分为 G_Loss & D_Loss,分辨为generator和discriminator的损失函数
G_Loss:

设置这个loss的目的在于:尽可能使G(generator)产生的伪数据能够与真实数据一致(真实数据标签为1)
基于此:在tensorflow中,将该loss设置为如下格式

        D_fake_loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(labels=tf.zeros_like(G_pro), logits=G_logits))

        self.G_loss = G_fake_loss
D_Loss:

设置这个loss的目的在于:让D(discrimination)尽可能将实际样本分为1,将伪样本分为0
基于此:在tensorflow中,将该loss设置为如下格式


        D_real_loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(labels=tf.ones_like(D_pro), logits=D_logits))
        G_fake_loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(labels=tf.ones_like(G_pro), logits=G_logits))

        self.D_loss = D_real_loss + D_fake_loss

猜你喜欢

转载自blog.csdn.net/qiu931110/article/details/80181212
GAN