0
$\begingroup$

I am reading up about SeqGAN and I am trying to understand the pretraining step better. The authors claim they want to maximize the Maximum Likelihood Estimation on the dataset S by pretraining the generator on it (see pseudocode below). This is achieved by minimizing the negative log likelihood over the sequences. However, both from the paper and the code, it is unclear to me what stopping criterion they chose for training. Sure, they have a pre-set number of episodes the models run, but I would like to understand the idea behind it. What makes more sense here: pre-train the generator until its loss is absolutely minimal on the training data, or using early stopping as soon as the loss on the validation data increases? Normally I would choose the latter, but maybe there is a good argument to be made for overfitting on the training data in the pretraining step.

Pseudocode for SeqGAN

$\endgroup$

1 Answer 1

0
$\begingroup$

The authors share the values of the negative log-likelihood on their GitHub repo:

pre-training...
epoch:  0   nll:    10.1716
epoch:  5   nll:    9.42939
epoch:  10  nll:    9.2388
epoch:  15  nll:    9.11899
epoch:  20  nll:    9.13099
epoch:  25  nll:    9.14474
epoch:  30  nll:    9.12539
epoch:  35  nll:    9.13982
epoch:  40  nll:    9.135
epoch:  45  nll:    9.13081
epoch:  50  nll:    9.10678
epoch:  55  nll:    9.10694
epoch:  60  nll:    9.10349
epoch:  65  nll:    9.10403
epoch:  70  nll:    9.07613
epoch:  75  nll:    9.091
epoch:  80  nll:    9.08909
epoch:  85  nll:    9.0807
epoch:  90  nll:    9.08434
epoch:  95  nll:    9.08936
epoch:  100 nll:    9.07443
epoch:  105 nll:    9.08305
epoch:  110 nll:    9.06973
epoch:  115 nll:    9.07058
adversarial training...
epoch:  0   nll:    9.08457
epoch:  5   nll:    9.04511
epoch:  10  nll:    9.03079
epoch:  15  nll:    8.99239
epoch:  20  nll:    8.96401
epoch:  25  nll:    8.93864
epoch:  30  nll:    8.91642
epoch:  35  nll:    8.87761
epoch:  40  nll:    8.88582
epoch:  45  nll:    8.8592
epoch:  50  nll:    8.83388
epoch:  55  nll:    8.81342
epoch:  60  nll:    8.80247
epoch:  65  nll:    8.77778
epoch:  70  nll:    8.7567
epoch:  75  nll:    8.73002
epoch:  80  nll:    8.72488
epoch:  85  nll:    8.72233
epoch:  90  nll:    8.71473
epoch:  95  nll:    8.71163
epoch:  100 nll:    8.70113
epoch:  105 nll:    8.69879
epoch:  110 nll:    8.69208
epoch:  115 nll:    8.69291
epoch:  120 nll:    8.68371
epoch:  125 nll:    8.689
epoch:  130 nll:    8.68989
epoch:  135 nll:    8.68269
epoch:  140 nll:    8.68647
epoch:  145 nll:    8.68066
epoch:  150 nll:    8.6832

Neither the pre-trained LM nor the GAN generator seem especially powerful. Loss values for LMs tend to be lower, although I can't seem to find values for the same dataset.

Anyway, it looks like the authors did not pre-train til convergence.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.