SeqGAN_tensorflow
SeqGAN_tensorflow copied to clipboard
question about reward and loss function
您好,相较于原版,你的这个版本简直太清晰了!点赞👍
我有一个关于generator的loss function的问题,在原版的SeqGAN里有 repo
我看到你的代码里也是取的正确类别的accuracy:
reward_allseq = np.concatenate((reward_rollout_seq, reward_last_tok), axis=0)[:,1]
跟原版一致。
请问你怎么看待这个问题呢?
Hi 谢谢肯定。我的理解是,在这个实验中,我们希望新训练的generator产出的样本(负样本:0)能够长得像预训练好的LSTM(Target LSTM)(正样本:1)。
你说的取正确样本的accuracy其实就是希望generator 产生的负样本(0)能够尽可能地骗过分类器让他觉得是正样本,当generator愈来愈像target lstm的时候,理论上他产生的样本都会骗过分类器被归类为1。所以我们就用这个来当generator的reward。而REINFORCE的训练方法会最大化这个reward。