ChenChengKuan / SeqGAN_tensorflow

SeqGAN tensorflow implementation
MIT License
106 stars 37 forks source link

question about reward and loss function #5

Closed luofuli closed 8 months ago

luofuli commented 6 years ago

您好,相较于原版,你的这个版本简直太清晰了!点赞👍 我有一个关于generator的loss function的问题,在原版的SeqGAN里有 repo 我看到你的代码里也是取的正确类别的accuracy: reward_allseq = np.concatenate((reward_rollout_seq, reward_last_tok), axis=0)[:,1] 跟原版一致。 请问你怎么看待这个问题呢?

ChenChengKuan commented 6 years ago

Hi 谢谢肯定。我的理解是,在这个实验中,我们希望新训练的generator产出的样本(负样本:0)能够长得像预训练好的LSTM(Target LSTM)(正样本:1)。

你说的取正确样本的accuracy其实就是希望generator 产生的负样本(0)能够尽可能地骗过分类器让他觉得是正样本,当generator愈来愈像target lstm的时候,理论上他产生的样本都会骗过分类器被归类为1。所以我们就用这个来当generator的reward。而REINFORCE的训练方法会最大化这个reward。