Neural text generation models are often autoregressive language models or seq2seq models. Neural autoregressive and seq2seq models that generate text by sampling words sequentially, with each word conditioned on the previous model, are state-of-the-art for several machine translation and summarization benchmarks. These benchmarks are often defined by validation perplexity even though this is not a direct measure of sample quality. Language models are typically trained via maximum likelihood and most often with teacher forcing. Teacher forcing is well-suited to optimizing perplexity but can result in poor sample quality because generating text requires conditioning on sequences of words that were never observed at training time. We propose to improve sample quality using Generative Adversarial Network (GANs), which explicitly train the generator to produce high quality samples and have shown a lot of success in image generation. GANs were originally to designed to output differentiable values, so discrete language generation is challenging for them. We introduce an actor-critic conditional GAN that fills in missing text conditioned on the surrounding context. We show qualitatively and quantitatively, evidence that this produces more realistic text samples compared to a maximum likelihood trained model. Recurrent Neural Networks (RNNs) BID8 are the most common generative model for sequences as well as for sequence labeling tasks. They have shown impressive results in language modeling BID19 , machine translation BID32 ) and text classification BID20 . Text is typically generated from these models by sampling from a distribution that is conditioned on the previous word and a hidden state that consists of a representation of the words generated so far. These are typically trained with maximum likelihood in an approach known as teacher forcing, where ground-truth words are fed back into the model to be conditioned on for generating the following parts of the sentence. This causes problems when, during sample generation, the model is often forced to condition on sequences that were never conditioned on at training time. This leads to unpredictable dynamics in the hidden state of the RNN. Methods such as Professor Forcing BID14 and Scheduled Sampling BID1 have been proposed to solve this issue. These approaches work indirectly by either causing the hidden state dynamics to become predictable (Professor Forcing) or by randomly conditioning on sampled words at training time, however, they do not directly specify a cost function on the output of the RNN that encourages high sample quality. Our proposed method does so. Generative Adversarial Networks (GANs) BID7 are a framework for training generative models in an adversarial setup, with a generator generating images that is trying to fool a discriminator that is trained to discriminate between real and synthetic images. GANs have had a lot of success in producing more realistic images than other approaches but they have only seen limited use for text sequences. This is due to the discrete nature of text making it infeasible to propagate the gradient from the discriminator back to the generator as in standard GAN training. We overcome this by using Reinforcement Learning (RL) to train the generator while the discriminator is still trained via maximum likelihood and stochastic gradient descent. GANs also commonly suffer from issues such as training instability and mode dropping, both of which are exacerbated in a textual setting. Mode dropping occurs when certain modalities in the training set are rarely generated by the generator, for example, leading all generated images of a volcano to be multiple variants of the same volcano. This becomes a significant problem in text generation since there are many complex modes in the data, ranging from bigrams to short phrases to longer idioms. Training stability is also an issue since unlike image generation, text is generated autoregressively and thus the loss from the discriminator is only observed after a complete sentence has been generated. This problem compounds when generating longer and longer sentences. We reduce the impact of these problems by training our model on a text fill-in-the-blank or in-filling task. This is similar to the task proposed in BID3 but we use a more robust setup. In this task, portions of a body of text are deleted or redacted. The goal of the model is to then infill the missing portions of text so that it is indistinguishable from the original data. While in-filling text, the model operates autoregressively over the tokens it has thus far filled in, as in standard language modeling, while conditioning on the true known context. If the entire body of text is redacted, then this reduces to language modeling. Designing error attribution per time step has been noted to be important in prior natural language GAN research BID33 . The text infilling task naturally achieves this consideration since our discriminator will evaluate each token and thus provide a fine-grained supervision signal to the generator. Consider, for instance, if the generator produces a sequence perfectly matching the data distribution over the first t − 1 time-steps, but then produces an outlier token y t , (x 1:t−1 y t ). Despite the entire sequence now being clearly synthetic as a result of the errant token, a discriminative model that produces a high loss signal to the outlier token, but not to the others, will likely yield a more informative error signal to the generator. This research also opens further inquiry of conditional GAN models in the context of natural language. In the following sections,• We introduce a text generation model trained on in-filling (MaskGAN).• Consider the actor-critic architecture in extremely large action spaces.• Consider new evaluation metrics and the generation of synthetic training data. Research into reliably extending GAN training to discrete spaces and discrete sequences has been a highly active area. GAN training in a continuous setting allows for fully differentiable computations, permitting gradients to be passed through the discriminator to the generator. Discrete elements break this differentiability, leading researchers to either avoid the issue and reformulate the problem, work in the continuous domain or to consider RL methods. SeqGAN BID33 ) trains a language model by using policy gradients to train the generator to fool a CNN-based discriminator that discriminates between real and synthetic text. Both the generator and discriminator are pretrained on real and fake data before the phase of training with policy gradients. During training they then do Monte Carlo rollouts in order to get a useful loss signal per word. Follow-up work then demonstrated text generation without pretraining with RNNs . Additionally produced results with an RNN generator by matching high-dimensional latent representations. Professor Forcing BID14 is an alternative to training an RNN with teacher forcing by using a discriminator to discriminate the hidden states of a generator RNN that is conditioned on real and synthetic samples. Since the discriminator only operates on hidden states, gradients can be passed through to the generator so that the hidden state dynamics at inference time follow those at training time. GANs have been applied to dialogue generation showing improvements in adversarial evaluation and good results with human evaluation compared to a maximum likelihood trained baseline. Their method applies REINFORCE with Monte Carlo sampling on the generator. Replacing the non-differentiable sampling operations with efficient gradient approximators BID12 has not yet shown strong results with discrete GANs. Recent unbiased and low variance gradient estimate techniques such as BID30 may prove more effective. WGAN-GP BID9 avoids the issue of dealing with backpropagating through discrete nodes by generating text in a one-shot manner using a 1D convolutional network. proposes an algorithmic solution and uses a boundary-seeking GAN objective along with importance sampling to generate text. In BID24 , the discriminator operates directly on the continuous probabilistic output of the generator. However, to accomplish this, they recast the traditional autoregressive sampling of the text since the inputs to the RNN are predetermined. instead optimize a lower-variance objective using the discriminator's output, rather than the standard GAN objective. Reinforcement learning methods have been explored successfully in natural language. Using a REINFORCE and cross entropy hybrid, MIXER, BID25 directly optimized BLEU score and demonstrated improvements over baselines. More recently, actor-critic methods in natural language were explored in BID0 where instead of having rewards supplied by a discriminator in an adversarial setting, the rewards are task-specific scores such as BLEU.Conditional text generation via GAN training has been explored in BID24 ; .Our work is distinct in that we employ an actor-critic training procedure on a task designed to provide rewards at every time step . We believe the in-filling may mitigate the problem of severe mode-collapse. This task is also harder for the discriminator which reduces the risk of the generator contending with a near-perfect discriminator. The critic in our method helps the generator converge more rapidly by reducing the high-variance of the gradient updates in an extremely high action-space environment when operating at word-level in natural language. Let (x t , y t ) denote pairs of input and target tokens. Let <m> denote a masked token (where the original token is replaced with a hidden token) and letx t denote the filled-in token. Finally,x t is a filled-in token passed to the discriminator which may be either real or fake. The task of imputing missing tokens requires that our MaskGAN architecture condition on information from both the past and the future. We choose to use a seq2seq BID26 architecture. Our generator consists of an encoding module and decoding module. For a discrete sequence x = (x 1 , · · · , x T ), a binary mask is generated (deterministically or stochastically) of the same length m = (m 1 , · · · , m T ) where each m t ∈ {0, 1}, selects which tokens will remain. The token at time t, x t is then replaced with a special mask token <m> if the mask is 0 and remains unchanged if the mask is 1.The encoder reads in the masked sequence, which we denote as m(x), where the mask is applied element-wise. The encoder provides access to future context for the MaskGAN during decoding. As in standard language-modeling, the decoder fills in the missing tokens auto-regressively, however, it is now conditioned on both the masked text m(x) as well as what it has filled-in up to that point. The generator decomposes the distribution over the sequence into an ordered conditional sequence DISPLAYFORM0 The discriminator has an identical architecture to the generator 1 except that the output is a scalar probability at each time point, rather than a distribution over the vocabulary size. The discriminator is given the filled-in sequence from the generator, but importantly, it is given the original Figure 1 : seq2seq generator architecture. Blue boxes represent known tokens and purple boxes are imputed tokens. We demonstrate a sampling operation via the dotted line. The encoder reads in a masked sequence, where masked tokens are denoted by an underscore, and then the decoder imputes the missing tokens by using the encoder hidden states. In this example, the generator should fill in the alphabetical ordering, (a,b,c,d,e) .real context m(x). We give the discriminator the true context, otherwise, this algorithm has a critical failure mode. For instance, without this context, if the discriminator is given the filled-in sequence the director director guided the series, it will fail to reliably identify the director director bigram as fake text, despite this bigram potentially never appearing in the training corpus (aside from an errant typo). The reason is that it is ambiguous which of the two occurrences of director is fake; the * associate * director guided the series or the director * expertly * guided the series are both potentially valid sequences. Without the context of which words are real, the discriminator was found to assign equal probability to both words. The result, of course, is an inaccurate learning signal to the generator which will not be correctly penalized for producing these bigrams. To prevent this, our discriminator D φ computes the probability of each tokenx t being real given the true context of the masked sequence m(x). DISPLAYFORM1 In our formulation, the logarithm of the discriminator estimates are regarded as the reward DISPLAYFORM2 Our third network is the critic network, which is implemented as an additional head off the discriminator. The critic estimates the value function, which is the discounted total return of the filled-in sequence R t = T s=t γ s r s , where γ is the discount factor at each position in the sequence. Our model is not fully-differentiable due to the sampling operations on the generator's probability distribution to produce the next token. Therefore, to train the generator, we estimate the gradient with respect to its parameters θ via policy gradients BID28 . Reinforcement learning was first employed to GANs for language modeling in BID33 . Analogously, here the generator seeks to maximize the cumulative total reward R = T t=1 R t . We optimize the parameters of the generator, θ, by performing gradient ascent on E G(θ) [R] . Using one of the REINFORCE family of algorithms, we can find an unbiased estimator of this as DISPLAYFORM0 The variance of this gradient estimator may be reduced by using the learned value function as a baseline b t = V G (x 1:t ) which is produced by the critic. This results in the generator gradient contribution for a single token DISPLAYFORM1 In the nomenclature of RL, the quantity (R t − b t ) may be interpreted as an estimate of the advantage A(a t , s t ) = Q(a t , s t ) − V (s t ). Here, the action a t is the token chosen by the generator a t ≡x t and the state s t are the current tokens produced up to that point s t ≡x 1 , · · · ,x t−1 . This approach is an actor-critic architecture where G determines the policy π(s t ) and the baseline b t is the critic BID27 BID5 .For this task, we design rewards at each time step for a single sequence in order to aid with credit assignment . As a result, a token generated at time-step t will influence the rewards received at that time step and subsequent time steps. Our gradient for the generator will include contributions for each token filled in order to maximize the discounted total return R = T t=1 R t . The full generator gradient is given by Equation 6 DISPLAYFORM2 Intuitively this shows that the gradient to the generator associated with producingx t will depend on all the discounted future rewards (s ≥ t) assigned by the discriminator. For a non-zero λ discount factor, the generator will be penalized for greedily selecting a token that earns a high reward at that time-step alone. Then for one full sequence, we sum over all generated wordsx t for t = 1 : T .Finally, as in conventional GAN training, our discriminator will be updated according to the gradient DISPLAYFORM3 As an aside for other avenues we explored, we highlight two particular problems of this task and plausible remedies. This task becomes more difficult with long sequences and with large vocabularies. To address the issue of extended sequence length, we modify the core algorithm with a dynamic task. We apply our algorithm up to a maximum sequence length T , however, upon satisfying a convergence criterion, we then increment the maximum sequence length to T + 1 and continue training. This allows the model to build up an ability to capture dependencies over shorter sequences before moving to longer dependencies as a form of curriculum learning. In order to alleviate issues of variance with REINFORCE methods in a large vocabulary size, we consider a simple modification. At each time-step, instead of generating a reward only on the sampled token, we instead seek to use the full information of the generator distribution. Before sampling, the generator produces a probability distribution over all tokens G(v) ∀ v ∈ V. We compute the reward for each possible token v, conditioned on what had been generated before. This incurs a computational penalty since the discriminator must now be used to predict over all tokens, but if performed efficiently, the potential reduction in variance could be beneficial. Prior to training, we first perform pretraining. First we train a language model using standard maximum likelihood training. We then use the pretrained language model weights for the seq2seq encoder and decoder modules. With these language models, we now pretrain the seq2seq model on the in-filling task using maximum likelihood, in particular, the attention parameters as described in BID16 . We select the model producing the lowest validation perplexity on the masked task via a hyperparameter sweep over 500 runs. Initial algorithms did not include a critic, but we found that the inclusion of the critic decreased the variance of our gradient estimates by an order of magnitude which substantially improved training. Evaluation of generative models continues to be an open-ended research question. We seek heuristic metrics that we believe will be correlated with human-evaluation. BLEU score BID21 is used extensively in machine translation where one can compare the quality of candidate translations from the reference. Motivated by this metric, we compute the number of unique n-grams produced by the generator that occur in the validation corpus for small n. Then we compute the geometric average over these metrics to get a unified view of the performance of the generator. From our maximum-likelihood trained benchmark, we were able to find GAN hyperparameter configurations that led to small decreases in validation perplexity on O(1)−point. However, we found that these models did not yield considerable improvements to the sample quality so we abandoned trying to reduce validation perplexity. One of the biggest advantages of GAN-trained NLP models, is that the generator can produce alternative, yet realistic language samples, but not be unfairly penalized by not producing with high likelihood the single correct sequence. As the generator explores 'off-manifold' in the free-running mode, it may find alternative options that are valid, but do not maximize the probability of the underlying sequence. We therefore choose not to focus on architectures or hyperparameter configurations that led to small reductions in validation perplexity, but rather, searched for those that improved our heuristic evaluation metrics. We present both conditional and unconditional samples generated on the PTB and IMDB data sets at word-level. MaskGAN refers to our GAN-trained variant and MaskMLE refers to our maximumlikelihood trained variant. Additional samples are supplied in Appendix B. The Penn Treebank dataset BID18 ) has a vocabulary of 10,000 unique words. The training set contains 930,000 words, the validation set contains 74,000 words and the test set contains 82,000 words. For our experiments, we train on the training partition. We first pretrain the commonly-used variational LSTM language model with parameter dimensions common to MaskGAN following BID6 to a validation perplexity of 78. After then loading the weights from the language model into the MaskGAN generator we further pretrain with a masking rate of 0.5 (half the text blanked) to a validation perplexity of 55.3. Finally, we then pretrain the discriminator on the samples produced from the current generator and real training text. We produce samples conditioned on surrounding text in We may also run MaskGAN in an unconditional mode, where the entire context is blanked out, thus making it equivalent to a language model. We present a length-20 language model sample in Table 2 and additional samples are included in the Appendix. MaskGAN oct. N as the end of the year the resignations were approved <eos> the march N N <unk> was down Table 2 : Language model (unconditional) sample from PTB for MaskGAN. The IMDB dataset Maas et al. FORMULA0 consists of 100,000 movie reviews taken from IMDB. Each review may contain several sentences. The dataset is divided into 25,000 labeled training instances, 25,000 labeled test instances and 50,000 unlabeled training instances. The label indicates the sentiment of the review and may be either positive or negative. We use the first 40 words of each review in the training set to train our models, which leads to a dataset of 3 million words. Identical to the training process in PTB, we pretrain a language model to a validation perplexity of 105.6. After then loading the weights from the language model into the MaskGAN generator we further pretrain with masking rate of 0.5 (half the text blanked) to a validation perplexity of 87.1. Finally, we then pretrain the discriminator on the samples produced from the current generator and real training text. Here we compare MaskGAN and MaskMLE conditional language generation ability for the IMDB dataset. Ground Truth Pitch Black was a complete shock to me when I first saw it back in 2000 In the previous years I MaskGAN Pitch Black was a complete shock to me when I first saw it back in 1979 I was really looking forward MaskMLE Black was a complete shock to me when I first saw it back in 1969 I live in New Zealand Table 3 : Conditional samples from IMDB for both MaskGAN and MaskMLE models. As in the case with PTB, we generate IMDB samples unconditionally, equivalent to a language model. We present a length-40 sample in Table 4 and additional samples are included in the Appendix. Positive: Follow the Good Earth movie linked Vacation is a comedy that credited against the modern day era yarns which has helpful something to the modern day s best It is an interesting drama based on a story of the famed Table 4 : Language model (unconditional) sample from IMDB for MaskGAN. As of this date, GAN training has not achieved state-of-the-art word level validation perplexity on the Penn Treebank dataset. Rather, the top performing models are still maximum-likelihood trained Model Perplexity of IMDB samples under a pretrained LM MaskMLE 273.1 ± 3.5 MaskGAN 108.3 ± 3.5 Table 5 : The perplexity is calculated using a pre-trained language model that is equivalent to the decoder (in terms of architecture and size) used in the MaskMLE and MaskGAN models. This language model was used to initialize both models.models, such as the recent architectures found via neural architecture search in BID35 . An extensive hyperparameter search with MaskGAN further supported that GAN training does not improve the validation perplexity results set via state-of-the-art models. However, we instead seek to understand the quality of the sample generation. As highlighted earlier, a fundamental problem of generating in free-running mode potentially leads to 'off-manifold' sequences which can result in poor sample quality for teacher-forced models. We seek to quantitatively evaluate this dynamic present only during sampling. This is commonly done with BLEU but as shown by BID32 , BLEU is not necessarily correlated with sample quality. We believe the correlation may be even less in the in-filling task since there are many potential valid in-fillings and BLEU would penalize valid ones. Instead, we calculate the perplexity of the generated samples by MaskGAN and MaskMLE by using the language model that was used to initialize MaskGAN and MaskMLE. Both MaskGAN and MaskMLE produce samples autoregressively (free-running mode), building upon the previously sampled tokens to produce the distribution over the next. The MaskGAN model produces samples which are more likely under the initial model than the MaskMLE model. The MaskMLE model generates improbable sentences, as assessed by the initial language model, during inference as compounding sampling errors result in a recurrent hidden states that are never seen during teacher forcing BID14 . Conversely, the MaskGAN model operates in a free-running mode while training and this supports that it is more robust to these sampling perturbations. In contrast to image generation, mode collapse can be measured by directly calculating certain n-gram statistics. In this instance, we measure mode collapse by the percentage of unique n-grams in a set of 10,000 generated IMDB movie reviews. We unconditionally generate each sample (consisting of 40 words). This results in almost 400K total bi/tri/quad-grams. Table 6 : Diversity statistics within 1000 unconditional samples of PTB news snippets (20 words each).The results in Table 6 show that MaskGAN does show some mode collapse, evidenced by the reduced number of unique quadgrams. However, all complete samples (taken as a sequence) for all the models are still unique. We also observed during RL training an initial small drop in perplexity on the ground-truth validation set but then a steady increase in perplexity as training progressed. Despite this, sample quality remained relatively consistent. The final samples were generated from a model that had a perplexity on the ground-truth of 400. We hypothesize that mode dropping is occurring near the tail end of sequences since generated samples are unlikely to generate all the previous words correctly in order to properly model the distribution over words at the tail. BID29 also shows how validation perplexity does not necessarily correlate with sample quality. Ultimately, the evaluation of generative models is still best measured by unbiased human evaluation. Therefore, we evaluate the quality of the generated samples of our initial language model (LM), the MaskMLE model and the MaskGAN model in a blind heads-up comparison using Amazon Mechanical Turk. Note that these models have the same number of parameters at inference time. We pay raters to compare the quality of two extracts along 3 axes (grammaticality, topicality and overall quality). They are asked if the first extract, second extract or neither is higher quality. Table 8 : A Mechanical Turk blind heads-up evaluation between pairs of models trained on PTB. 100 news snippets (each 20 words long) from each model are unconditionally sampled and randomized. Raters are asked which sample is preferred between each pair. 300 ratings were obtained for each model pair comparison. The Mechanical Turk results show that MaskGAN generates superior human-looking samples to MaskMLE on the IMDB dataset. However, on the smaller PTB dataset (with 20 word instead of 40 word samples), the results are closer. We also show results with SeqGAN (trained with the same network size and vocabulary size) as MaskGAN, which show that MaskGAN produces superior samples to SeqGAN. Our work further supports the case for matching the training and inference procedures in order to produce higher quality language samples. The MaskGAN algorithm directly achieves this through GAN-training and improved the generated samples as assessed by human evaluators. In our experiments, we generally found training where contiguous blocks of words were masked produced better samples. One conjecture is that this allows the generator an opportunity to explore longer sequences in a free-running mode; in comparison, a random mask generally has shorter sequences of blanks to fill in, so the gain of GAN-training is not as substantial. We found that policy gradient methods were effective in conjunction with a learned critic, but the highly active research on training with discrete nodes may present even more stable training procedures. We also found the use of attention was important for the in-filled words to be sufficiently conditioned on the input context. Without attention, the in-filling would fill in reasonable subsequences that became implausible in the context of the adjacent surrounding words. Given this, we suspect another promising avenue would be to consider GAN-training with attention-only models as in BID31 .In general we think the proposed contiguous in-filling task is a good approach to reduce mode collapse and help with training stability for textual GANs. We show that MaskGAN samples on a larger dataset (IMDB reviews) is significantly better than the corresponding tuned MaskMLE model as shown by human evaluation. We also show we can produce high-quality samples despite the MaskGAN model having much higher perplexity on the ground-truth test set. A TRAINING DETAILSOur model was trained with the Adam method for stochastic optimization BID13 with the default Tensorflow exponential decay rates of β 1 = 0.99 and β 2 = 0.999. Our model uses 2-layers of 650 unit LSTMs for both the generator and discriminator, 650 dimensional word embeddings, variational dropout. We used Bayesian hyperparameter tuning to tune the variational dropout rate and learning rates for the generator, discriminator and critic. We perform 3 gradient descent steps on the discriminator for every step on the generator and critic. We share the embedding and softmax weights of the generator as proposed in BID2 ; BID11 . Furthermore, to improve convergence speed, we share the embeddings of the generator and the discriminator. Additionally, as noted in our architectural section, our critic shares all of the discriminator parameters with the exception of the separate output head to estimate the value. Both our generator and discriminator use variational recurrent dropout BID6 Positive: Follow the Good Earth movie linked Vacation is a comedy that credited against the modern day era yarns which has helpful something to the modern day s best It is an interesting drama based on a story of the famed Negative: I really can t understand what this movie falls like I was seeing it I m sorry to say that the only reason I watched it was because of the casting of the Emperor I was not expecting anything as Negative: That s about so much time in time a film that persevered to become cast in a very good way I didn t realize that the book was made during the 70s The story was Manhattan the Allies were to Here we explore various failure modes of the MaskGAN model, which show up under certain bad hyperparameter settings. As widely witnessed in GAN-training, we also find a common failure of mode collapse across various n-gram levels. The mode collapse may not be as extreme to collapse at a 1-gram level (ddddddd· · · ) as described by BID9 , but it may manifest as grammatical, albeit, inanely repetitive phrases, for example, It is a very funny film that is very funny It s a very funny movie and it s charming ItOf course the discriminator may discern this as an out-of-distribution sample, however, in certain failure modes, we observed the generator to move between common modes frequently present in the text. We notice that the MaskGAN architecture often struggles to produce syntactically correct sequences when there is a hard boundary where it must end. This is also a relatively challenging task for humans, because the filled in text must not only be contextual but also match syntactically at the boundary between the blank and where the text is present over a fixed number of words. Cartoon is one of those films me when I first saw it back in 2000As noted in this failure mode, the intersection between the filled in text and the present text is non grammatical. Similar to failure modes present in GAN image generation, the produced samples often can lose global coherence, despite being sensible locally. We expect a larger capacity model can mitigate some of these issues. This movie is terrible The plot is ludicrous The title is not more interesting and original This is a great movie Lord of the Rings was a great movie John Travolta is brilliant In the absence of a global scalar objective to optimize while training, we monitor various n-gram language statistics to assess performance. However, these only are crude proxies of the quality of the produced samples. For instance, MaskGAN models that led to improvements of a particular n-gram metric at the extreme expense of validation perplexity as seen in FIG1 could devolve to a generator of very low sample diversity. Below, we produce several samples from this particular model which, despite the dramatically improved 4-gram metric, has lost diversity. It is a great movie It s just a tragic story of a man who has been working on a home It s a great film that has a great premise but it s not funny It s just a silly film It s not the best movie I have seen in the series The story is simple and very clever but itCapturing the complexities of natural language with these metrics alone is clearly insufficient.
Natural language GAN for filling in the blank This paper proposes to generate text using GANs. Generating text samples using GAN and a mechanism to fill in missing words conditional on the surrounding text