Title: MULTI-TURN DIALOGUE RESPONSE GENERATION IN AN ADVERSARIAL LEARNING FRAMEWORK

Abstract: We propose an adversarial learning approach to the generation of multi-turn dialogue responses. Our proposed framework, hredGAN, is based on conditional generative adversarial networks (GANs). The GAN's generator is a modified hierarchical recurrent encoder-decoder network (HRED) and the discriminator is a word-level bidirectional RNN that shares context and word embedding with the generator. During inference, noise samples conditioned on the dialogue history are used to perturb the generator's latent space to generate several possible responses. The final response is the one ranked best by the discriminator. The hredGAN shows major advantages over existing methods: (1) it generalizes better than networks trained using only the log-likelihood criterion, and (2) it generates longer, more informative and more diverse responses with high utterance and topic relevance even with limited training data. This superiority is demonstrated on the Movie triples and Ubuntu dialogue datasets with both the automatic and human evaluations.

1. INTRODUCTION:

Recent advances in deep neural network architectures have enabled tremendous success on a number of difficult machine learning problems. While these results are impressive, producing a deployable neural network-based conversation model that can engage in open domain discussion still remains elusive. A dialogue system needs to be able to generate meaningful and diverse responses that are simultaneously coherent with the input utterance and the overall dialogue topic. Unfortunately, earlier conversation models trained with naturalistic dialogue data suffered greatly from limited contextual information (Sutskever et al., 2014; Vinyals & Le, 2015) , and lack diversity (Li et al., 2016a) . These problems often leads to generic and safe utterance in response to varieties of input utterance. Serban et al. (2016) and Xing et al. (2017) proposed the Hierarchical Recurrent Encoder-Decoder (HRED) network to capture long temporal dependencies in multi-turn conversations to address the limited contextual information but the diversity problem remained. On the other hand, some HRED variants such as variational (Serban et al., 2017b) and multi-resolution (Serban et al., 2017a) HREDs attempt to alleviate the diversity problem by injecting noise at the utterance level and by extracting additional context to condition the generator on. While these approaches achieve certain measures of success over the basic HRED, generated responses are still mostly generic since they do not control the generator's output as the output conditional distribution is not calibrated. Li et al. (2016a) , on the other hand, consider diversity promoting training objective but their model is for single turn conversations, cannot not be trained end-to-end and therefore achieves little.

The generative adversarial network (GAN) (Goodfellow et al., 2014) seems to be an appropriate solution to the diversity problem. GAN matches data from two different distributions by introducing an adversarial game between a generator and a discriminator. We explore hredGAN: conditional GANs for multi-turn dialogue models with HRED generator and discriminator. hredGAN combines both generative and retrieval-based multi-turn dialogue systems to improve their individual performances. This is achieved by sharing the context and word embedding between the generator and the discriminator allowing for joint end-to-end training using back-propagation. To the best of our knowledge, no existing work has applied conditional GANs to multi-turn dialogue models and especially with HRED generators and discriminators. We demonstrate the effectiveness of hredGAN over the VHRED for dialogue modeling with evaluations on the Movie triples and Ubuntu technical support datasets.

2. ADVERSARIAL FRAMEWORK FOR MULTI-TURN DIALOGUE:

Consider a dialogue consisting of a sequence of N utterances, X = X 1 , X 2 , • • • , X N , where each utterance

X i = X 1 i , X 2 i , • • • , X Mi i

contains a variable-length sequence of M i word tokens such that X i j ∈ V for vocabulary V . At any time step i, the dialogue history is given by X i = X 1 , X 2 , • • • , X i . The dialogue response generation task can be defined as follows: Given a dialogue history X i , generate a response

Y i = Y 1 i , Y 2 i , • • • , Y Ti i

, where T i is the number of generated tokens. We also want the distribution of the generated response P (Y i ) to be indistinguishable from that of the ground truth P (X i+1 ) and T i = M i+1 . Conditional GAN learns a mapping from an observed dialogue history, X i , and a sequence of random noise vectors, Z i to a sequence of output tokens, Y i , G : {X i , Z i } → Y i . The generator G is trained to produce output sequences that cannot be distinguished from the ground truth sequence by an adversarially trained discriminator D that is trained to do well at detecting generator's fakes. The distribution of the generator output sequence can be factored by the product rule:

EQUATION

EQUATION

where

Y i:j-1 i = (Y 1 i , • • • , Y j-1 i

) and θ G are the parameters of the generator model. P θ G Y i:j-1 i , X i is an autoregressive generative model where the probability of the current token depends on the past generated sequence. Training the generator G with the log-likelihood criterion is unstable in practice, and therefore the past generated sequence is substituted with the ground truth, a method known as teacher forcing (Williams & Zipser, 1989) , i.e.,

P Y:

EQUATION

Using equation 3 in relation to GAN, we define our fake sample as the teacher forcing output with some input noise

Z i Y j i ∼ P θ G X 1:j-1 i+1 , X i , Z i (4)

and the corresponding real sample as ground truth X j i+1 . With the GAN objective, we can match the noise distribution, P (Z i ) to the distribution of the ground truth response, P (X i+1 |X i ). Varying the noise input then allows us to generate diverse responses to the same dialogue history. Furthermore, the discriminator, since it is calibrated, is used during inference to rank the generated responses, providing a means of controlling the generator output.

2.1. OBJECTIVES:

The objective of a conditional GAN can be expressed as

L cGAN (G, D) = E X i ,Xi+1 [log D(X i+1 , X i )] + E X i ,Zi [1 -log D(G(X i , Z i ), X i )] (5)

where G tries to minimize this objective against an adversarial D that tries to maximize it:

EQUATION

Previous approaches have shown that it is beneficial to mix the GAN objective with a more traditional loss such as cross-entropy loss (Lamb et al., 2016; Li et al., 2017) . The discriminator's job remains unchanged, but the generator is tasked not only to fool the discriminator but also to be near the ground truth X i+1 in the cross-entropy sense:

EQUATION

Our final objective is,

EQUATION

)

Figure 1 : Left: The hredGAN architecture -The generator makes predictions conditioned on the dialogue history, h i , attention, A j i , noise sample, Z j i , and ground truth, X j-1 i+1 . Right: RNN-based discriminator that discriminates bidirectionally at the word level.

It is worth mentioning that, without Z i , the net could still learn a mapping from X i to Y i , but would produce deterministic outputs and fail to match any distribution other than a delta function (Isola et al., 2017) . This is one key area where our work is different from Lamb et al.'s and Li et al.'s. The schematic of the proposed hredGAN is depicted at the right hand side of Figure 1 .

2.2. GENERATOR:

We adopted an HRED dialogue generator similar to (Serban et al., 2016; 2017a; b; Xing et al., 2017) . The HRED contains three recurrent structures, i.e. the encoder (eRN N ), context (cRN N ), and decoder (dRN N ) RNN. The conditional probability modeled by the HRED per output word token is given by

EQUATION

where E(.) is the embedding lookup, h i = cRN N (eRN N (E(X i ), h i-1 ), eRN N (.) maps a sequence of input symbols into fixed-length vector, and h and h are the hidden states of the decoder and context RNN, respectively.

In the multi-resolution HRED, (Serban et al., 2017a) , high-level tokens are extracted and processed by another RNN to improve performance. We circumvent the need for this extra processing by allowing the decoder to attend to different parts of the input utterance during response generation (Bahdanau et al., 2015; Luong et al., 2015) . We introduce a local attention into equation 9 and encode the attention memory differently from the context through an attention encoder RNN (aRN N ), yielding:

EQUATION

where

A j i = Mi m=1 exp(αm) M i m=1 exp(αm) h m i , h m i = aRN N (E(X m i ), h m-1 i

), h is the hidden state of the attention RNN and α k is either a logit projection of (h j-1 i , h m i ) in the case of Bahdanau et al. (2015) or Luong et al. (2015) . The modified HRED architecture is shown in Figure 2 .

(h j-1 i ) T • h m i in the case of

Noise Injection: We inject Gaussian noise at the input of the decoder RNN. Noise samples could be injected at the utterance or word level. With noise injection, the conditional probability of the decoder output becomes

EQUATION

where Z j i ∼ N i (0, I), for utterance-level noise and Z j i ∼ N j i (0, I), for word-level noise.

2.3. DISCRIMINATOR:

The discriminator shares context and word embedding with the generator and can discriminate at the word level (Lamb et al., 2016) . The word-level discrimination is achieved through a bidirectional RNN and is able to capture both syntactic and conceptual differences between the generator output and the ground truth. The aggregate classification of an input sequence, χ can be factored over word-level discrimination and expressed as

EQUATION

where D RN N (.) is the word discriminator RNN, h i is an encoded vector of the dialogue history X i obtained from the generator's cRN N (.) output, and χ j is the jth word or token of the input sequence χ. χ = Y i and J = T i for the case of generator's decoder output, χ = X i+1 and J = M i+1 for the case of ground truth. The discriminator architecture is depicted on the left hand side of Figure 1 .

2.4. ADVERSARIAL GENERATION OF MULTI-TURN DIALOGUE RESPONSE:

In this section, we describe the generation process during inference. The generation objective can be mathematically described as

EQUATION

where

Y i,l = G * (X i , Z i,l ), Z i,l

is the lth noise samples at dialogue step i, and L is the number of response samples. Equation 13shows that our inference objective is the same as the training objective (8), combining both the MLE and adversarial criteria. This is in contrast to existing work where the discriminator is usually discarded during inference.

The inference described by equation 13 is intractable due to the enormous search space of Y i,l . Therefore, we turn to an approximate solution where we use greedy decoding (MLE) on the first part of the objective function to generate L lists of responses based on noise samples {Z i,l } L l=1 . In order to facilitate the exploration of the generator's latent space, we sample a modified noise distribution, Z j i,l ∼ N i,l (0, αI), or Z j i,l ∼ N j i,l (0, αI) where α > 1.0, is the exploration factor that increases the noise variance. We then rank the L lists using the discriminator score, D * (X i , Y i,l )] L l=1 . The response with the highest discriminator ranking is the optimum response for the dialogue context.

3. TRAINING OF HREDGAN:

We trained both the generator and the discriminator simultaneously as highlighted in Algorithm 1 with λ G = λ M = 1. GAN training is prone to instability due to competition between the generator and the discriminator. Therefore, parameter updates are conditioned on the discriminator performance (Lamb et al., 2016) .

The generator consists of four RNNs with different parameters, that is, aRN N, eRN N, cRN N , and dRN N . aRN N and eRN N are both bidirectional, while cRN N and dRN N are unidirec-

Algorithm 1 Adversarial Learning of hredGAN:

Require: A generator G with parameters θ G . Require: A discriminator D with parameters θ D .

for number of training iterations do Initialize cRN N to zero state, h0 Sample a mini-batch of conversations,

X = {Xi} N i=1 , X i = (X1, X2, • • • , Xi) with N utterances. Each utterance mini batch i contains Mi word tokens. for i = 1 to N -1 do

Update the context state.

h i = cRN N (eRN N (E(Xi)), h i-1 )

Compute the generator output using equation 11.

P θ G Yi|, Zi, X i = P θ G Y j i |X 1:j-1 i+1 , Z j i , X i M i+1 j=1

Sample a corresponding mini batch of utterance Yi.

Yi ∼ P θ G Yi|, Zi, X i end for Compute the discriminator accuracy Dacc over N -1 utterances {Yi} N -1 i=1 and {Xi+1} N -1 i=1 if Dacc < acc D th then Update θ D with gradient of the discriminator loss. i [∇ θ D log D(h i , Xi+1) + ∇ θ D log 1 -D(h i , Yi) ] end if if Dacc < acc G th then Update θ G with the generator's MLE loss only. i [∇ θ G log P θ G Yi|, Zi, X i ]

else Update θ G with both adversarial and MLE losses.

i [λ G ∇ θ G log D(h i , Yi) + λ M ∇ θ G log P θ G Yi|, Zi, X i ]

end if end for tional. Each RNN has 3 layers, and the hidden state size is 512. The dRN N and aRN N are connected using an additive attention mechanism (Bahdanau et al., 2015) .

The discriminator shares aRN N, eRN N , and cRN N with the generator. D RN N , is a stacked bidirectional RNN with 3 layers and a hidden state size of 512. The cRN N states are used to initialize the states of D RN N . The output of both the forward and the backward cells for each word are concatenated and passed to a fully-connected layer with binary output. The output is the probability that the word is from the ground truth given the past and future words of the sequence.

Others: All RNNs used are gated recurrent unit (GRU) cells (Cho et al., 2014) . The word embedding size is 512 and shared between the generator and the discriminator. The initial learning rate is 0.5 with decay rate factor of 0.99, applied when the adversarial loss has increased over two iterations. We use a batch size of 64 and clip gradients around 5.0. As in Lamb et al. (2016) , we find acc D th = 0.99 and acc G th = 0.75 to be good enough. All parameters are initialized with Xavier uniform random initialization (Glorot & Bengio, 2010) . The vocabulary size V is 50, 000. Due to the large vocabulary size, we use sampled softmax loss (Jean et al., 2015) for MLE loss to expedite the training process. However, we use full softmax for evaluation. The model is trained end-to-end using the stochastic gradient descent algorithm.

4. EXPERIMENTS AND RESULTS:

We consider the task of generating dialogue responses conditioned on the dialogue history and the current input utterance. We compare the proposed hredGAN model against some alternatives on publicly available datasets.

4.1. DATASETS:

Movie Triples Corpus, (MTC) dataset (Serban et al., 2016) . This dataset was derived from the Movie-DiC dataset by Banchs (2012) . Although this dataset spans a wide range of topics with few spelling mistakes, its small size of only about 240,000 dialogue triples makes it difficult to train a dialogue model, as pointed out by Serban et al. (2016) . We thought that this scenario would really benefit from the proposed adversarial generation.

Ubuntu Dialogue Corpus, (UDC) dataset (Serban et al., 2017b) . This dataset was extracted from the Ubuntu Relay Chat Channel. Although the topics in the dataset are not as diverse as in the MTC, the dataset is very large, containing about 1.85 million conversations with an average of 5 utterances per conversation.

We split both MTC and UDC into training, validation, and test sets, using 90%, 5%, and 5% proportions, respectively. We performed minimal preprocessing of the datasets by replacing all words except the top 50,000 most frequent words by an UNK symbol.

4.2. EVALUATION METRICS:

Accurate evaluation of dialogue models is still an open challenge. In this paper, we employ both automatic and human evaluations.

4.2.1. AUTOMATIC EVALUATION:

We employed some of the automatic evaluation metrics that are used in probabilistic language and dialogue models, and statistical machine translation. Although these metrics may not correlate well with human judgment of dialogue responses (Liu et al., 2016) , they provide a good baseline for comparing dialogue model performance.

Perplexity -For a model with parameter θ, we define perplexity as:

EQUATION

)

where K is the number of conversations in the dataset, N k is the number of utterances in conversation k, and N W is the total number of word tokens in the entire dataset. The lower the perplexity, the better. The perplexity measures the likelihood of generating the ground truth given the model parameters. While a generative model can generate a diversity of responses, it should still assign a high probability to the ground truth utterance.

BLEU -The BLEU score, (Papineni et al., 2002) provides a measure of overlap between the generated response (candidate) and the ground truth (reference) using a modified n-gram precision.

According to Liu et. al. (Liu et al., 2016) , BLEU-2 score is fairly correlated with human judgment for non-technical dialogue (such as MTC).

ROUGE -The ROUGE score, (Lin, 2014) is similar to BLEU but it is recall oriented instead. It is used for automatic evaluation of text summarization and machine translation. To compliment the BLEU score, we use ROUGE-N with N = 2 for our evaluation.

Distinct n-gram -This is the fraction of unique n-grams in the generated responses. It provides a measure of diversity. Models with higher number of distinct n-grams tend to produce more diverse responses (Li et al., 2016a) . For our evaluation, we use 1-and 2-grams.

Normalized Average Sequence Length (NASL) -This measures the average number of words in model generated responses normalized by the average number of words in the groundtruth.

4.2.2. HUMAN EVALUATION:

For human evaluation, we follow a similar setup as Li et al. (2016a) , employing crowd-sourced judges to evaluate a random selection of 200 samples. We present both the multi-turn context and the generated responses from the models to 3 judges and asked them to rank the general response quality in terms of relevance and informativeness. For N models, the model with the lowest quality is assigned a score 0 and the highest is assigned a score N-1. Ties are not allowed. The scores are normalized between 0 and 1 and averaged over the total number of samples and judges.

4.3. BASELINE:

We compare the performance of our model to (V)HRED (Serban et al., 2016; 2017b) , since they are the closest to our approach in implementation and are the current state of the art in open-domain dialogue models. HRED is very similar to our proposed generator, but without the input utterance attention and noise samples. VHRED introduces a latent variable to the HRED between the cRN N and the dRN N and was trained using the variational lower bound on the log-likelihood. The VHRED can generate multiple responses per context like hredGAN, but has no specific criteria for selecting the best response.

The HRED and VHRED models are both trained using the Theano-based implementation obtained from https://github.com/julianser/hed-dlg-truncated. The training and validation sets used for UDC and MTC dataset were obtained directly from the authors 1 of (V)HRED.

For model comparison, we use a test set that is disjoint from the training and validation sets.

4.4. RESULTS:

We have two variants of hredGAN based on the noise injection approach, i.e., hredGAN with utterance-level (hredGAN u) and word-level (hredGAN w) noise injections.

We compare the performance of these two variants with HRED and VHRED models.

Perplexity::

The average perplexity per word performance of all the four models on MTC and UDC datasets (validation/test) are reported in the first column on Table 1 . The table indicates that both variants of the hredGAN model perform better than the HRED and VHRED models in terms of the perplexity measure. However, using the adversarial loss criterion (Eq. equation 8), the hredGAN u model performs better on MTC and worse on UDC. Note that, for this experiment, we run all models in teacher forcing mode.

Generation Hyperparameter: For adversarial generation, we perform a linear search for α between 1 and 20 at an increment of 1 using Eq. equation 13, with sample size L = 64, on validation sets with models run in autoregression. The optimum values of α for hredGAN u and hredGAN w for UDC are 7.0 and 9.0 respectively. The values for MTC are not convex, probably due to small size of the dataset, so we use the same α values as UDC. We however note that for both datasets, any integer value between 3 and 10 (inclusive) works well in practice.

Quantitative Generator Performance: We run autoregressive inference for all the models (using optimum α values for hredGAN models and selecting the best of L = 64 responses using a discriminator) with dialogue contexts from a unique test set. Also, we compute the average BLEU-2, ROUGE-2(f1), Distinct(1/2) and normalized average sequence length (NASL) scores for each model and summarize the results in the middle of Table 1 . Distinct(1/2) largely agrees with the perplexity score. Most scores, similar to the perplexity, indicate that hredGAN models perform better than (V)HRED on both datasets. However, on the UDC and MTC, ROUGE and BLUE, respectively scores VHRED slightly better than hredGAN u but still worse than hredGAN w.

A good dialogue model should find the right balance between precision (BLEU) and diversity. We strongly believe that our adversarial approach is better suited to solving this problem. As hredGAN generators explore diversity, the discriminator ranking gives hredGAN an edge over (V)HRED because it helps detect responses that are out of context and the natural language structure (Table 2 ). Also, the ROGUE(f1) performance indicates that hredGAN w strikes a better balance between pre-1 UDC was obtained from http://www.iulianserban.com/Files/ UbuntuDialogueCorpus.zip, and the link to MTC was obtained privately. is there a way to do that in the terminal ? hredGAN w did you just type \" sudo mount -a \" ? hredGAN u i have no idea , i just installed ubuntu and i have no idea how to do that cision (BLEU) and diversity than the rest of the models. This is also obvious from the quality of generated responses.

Qualitative Generator Performance: The results of the human evaluation is reported in the last column of Table 1 . The human evaluation agrees largely with the automatic evaluation. The hredGAN w performs best on both datasets although the gap is more on the MTC than on the UTC. This implies that the improvement of HRED with adversarial generation is better than with variational generation (VHRED). In addition, looking at the actual samples from the generator outputs in Table 6 shows that hredGAN especially hredGAN w performs better than (V)HRED. While other models produce short and generic utterances, hredGAN w mostly yields informative responses. For example, in the first dialogue in Table 6 , when the speaker is sarcastic about "the man upstairs", hredGAN w responds with the most coherent utterance with respect to the dialogue history. We see similar behavior across other samples. We also note that although hredGAN u's responses are the longest on Ubuntu (in line with the NASL score), the responses are less informative compared to hredGAN w resulting into a lower human evaluation score. We reckon this might be due to a mismatch between utterance-level noise and word-level discrimination or lack of capacity to capture the data distribution using single noise distribution. We hope to investigate this further in the future.

Discriminator Performance: Although only hredGAN uses a discriminator, the observed discriminator behavior is interesting. We observe that the discriminator score is generally reasonable with longer, more informative and more persona-related responses receiving higher scores as shown in Table 2 . It worth to note that this behavior, although similar to the behavior of a human judge is learned without supervision. Moreover, the discriminator seems to have learned to assign average score to more frequent or generic responses such as "I don't know", "I'm not sure" and so on, and high score to rearer answers. That's why we sample a modified noise distribution during inference so that the generator can produce rearer utterances that will be scored high by the discriminator.

5. CONCLUSION AND FUTURE WORK:

In this paper, we have introduced an adversarial learning approach that addresses response diversity and control of generator outputs, using an HRED-derived generator and discriminator. The proposed system outperforms existing state-of-the-art (V)HRED models for generating responses in multiturn dialogue with respect to automatic and human evaluations. The superiority of the adversarial generation (hredGAN) over the variational generation (VHRED) is in line with other generative models employing these approaches. Our analysis also concludes that the word-level noise injection seems to perform better in general.

While this is a good starting point, we recognize the need to explore further improvements to the proposed adversarial framework: In the future, we hope to: explore which noise level works with which discrimination level; consider a multi-resolution discriminator with combined word-and utterancelevel discriminations; and explore further tuning of the generator and discriminator models.

APPENDIX 6 RELATED WORK:

Our work is related to end-to-end neural network-based open domain dialogue models. Most neural dialogue models use transduction frameworks adapted from neural machine translations (Sutskever et al., 2014; Bahdanau et al., 2015) . These Seq2Seq networks are trained end-to-end with MLE criteria using large corpora of human-to-human conversation data. Others use GAN's discriminator as a reward function in a reinforcement learning framework (Yu et al., 2017) and in conjunction with MLE (Li et al., 2017; Che et al., 2017) . Zhang et al. (2017) explored the idea of GAN with a feature matching criterion. Xu et al. (2017) and Zhang et al. (2018) employed GAN with an approximate embedding layer as well as with adversarial information maximization respectively to improve Seq2Seq's diversity performance.

Still, Seq2Seq models are limited in their ability to capture long temporal dependencies in multiturn conversation. Although, Li et al. (2016b) attempted to optimize a pair Seq2Seq models for multi-turn dialogue, the multi-turn objective is only applied at inference and not used for actual model training. Hence, the introduction of HRED models (Serban et al., 2016; 2017a; b; Xing et al., 2017) for modeling dialogue response in multi-turn conversations. However, these HRED models suffer from lack of diversity since they are trained with only MLE criteria. On other hand, adversarial system has been used for evaluating open domain dialogue models (Bruni & Fernndez, 2018; Kannan & Vinyals, 2017) . Our work, hredGAN is closest to the combination of HRED generation models (Serban et al., 2016) and adversarial evaluation (Kannan & Vinyals, 2017) . 

7. ABLATION EXPERIMENTS:

Before proposing the above adversarial learning framework for multi-turn dialogue, we carried out some experiments that are highlighted here.

7.1. GENERATOR::

First, we noted that by adding an additional attention memory to the HRED generator, we improved the test set perplexity score by more than 8 and 20 points on the MTC and UDC respectively as shown in Table 4 . The addition of attention also shows a strong performance at autoregressive inference across multiple metrics as well as observed improvement in response quality. Hence, the decision for the modified HRED generator.

The adversarial training, however helps to address the lack diversity observed in the generated responses.

7.2. DISCRIMINATOR::

Before deciding on the word-level discrimination, we experimented with utterance-level discrimination. The utterance-level discriminator trains very quickly but it leads to mostly generic responses from the generator. We also note that utterance-level discriminator scores are mostly extreme (i.e., either low or high). Since we had used convolutional neural network discriminator (Yu et al., 2017) in our experiments, we hope to investigate this further with other architectures.

7.3. ADVERSARIAL TRAINING::

Lastly, we also tried a basic policy gradient approach (Li et al., 2017) , where word-level discriminator score is used as a reward for each generated word token, but this leads to training instability. This is probably due to the instability of Monte Carlo sampling over large vocabulary size. We believe this might improve with other sampling methods such as importance sampling and hope to investigate further in the future. 

:



Figures and Tables:

Figure 2: The HRED generator with local attention -The attention RNN ensures local relevance while the context RNN ensures global relevance. Their states are combined to initialize the decoder RNN and the discriminator BiRNN.

Generator Performance Evaluation

Table content: <table><tr><td>Model</td><td colspan="5">Teacher Forcing Perplexity -logD(G(.)) BLEU-2 ROUGE-2 DISTINCT-1/2 NASL Evaluation Autoregression Human</td></tr><tr><td>MTC</td><td/><td/><td/><td/><td/></tr><tr><td>HRED</td><td>31.92/36.00 NA</td><td>0.0474</td><td>0.0384</td><td>0.0026/0.0056 0.535</td><td>0.2560</td></tr><tr><td>VHRED</td><td>42.61/44.97 NA</td><td>0.0606</td><td>0.1181</td><td>0.0048/0.0163 0.831</td><td>0.3909</td></tr><tr><td colspan="2">hredGAN u 23.57/23.54 23.57/23.54</td><td>0.0493</td><td>0.2416</td><td>0.0167/0.1306 0.884</td><td>0.5582</td></tr><tr><td colspan="2">hredGAN w 24.20/24.14 13.35/13.40</td><td>0.0613</td><td>0.3244</td><td>0.0179/0.1720 1.540</td><td>0.7869</td></tr><tr><td>UDC</td><td/><td/><td/><td/><td/></tr><tr><td>HRED</td><td>69.39/86.40 NA</td><td>0.0177</td><td>0.0483</td><td>0.0203/0.0466 0.892</td><td>0.3475</td></tr><tr><td>VHRED</td><td>98.50/105.20 NA</td><td>0.0171</td><td>0.0855</td><td>0.0297/0.0890 0.873</td><td>0.4046</td></tr><tr><td colspan="2">hredGAN u 56.82/57.32 10.09/10.08</td><td>0.0137</td><td>0.0716</td><td>0.0260/0.0847 1.379</td><td>0.6133</td></tr><tr><td colspan="2">hredGAN w 47.73/48.18 8.37/8.36</td><td>0.0216</td><td>0.1168</td><td>0.0516/0.1821 1.098</td><td>0.6905</td></tr></table>

Example of Discriminator Ranking with hredGAN w

Table content: <table><tr><td>Item</td><td colspan="2">D(G(.)) Utterance</td></tr><tr><td>MTC</td><td/></tr><tr><td colspan="2">Context 0 NA</td><td>perhaps &lt;person&gt; had a word with the man</td></tr><tr><td/><td/><td>upstairs .</td></tr><tr><td colspan="2">Context 1 NA</td><td>a word ? i ' m sure by now he ' s engineered a</td></tr><tr><td/><td/><td>hostile takeover .</td></tr><tr><td colspan="2">Response 0 0.996</td><td>&lt;person&gt; , i know what you ' re saying ,</td></tr><tr><td/><td/><td>&lt;person&gt; , that ' s not what i ' m saying .</td></tr><tr><td colspan="2">Response 1 0.991</td><td>&lt;person&gt; , i know . i was just about to help</td></tr><tr><td/><td/><td>the guy .</td></tr><tr><td colspan="2">Response 2 0.315</td><td>&lt;person&gt; , i ' m sorry .</td></tr><tr><td colspan="2">Response 3 0.203</td><td>&lt;person&gt; , i ' m a little out .</td></tr><tr><td colspan="2">Context 0 NA</td><td>says he wanted food . &lt;person&gt; . he wanted</td></tr><tr><td/><td/><td>the gold .</td></tr><tr><td colspan="2">Context 1 NA</td><td>how ' s he going to want the gold ? he couldn '</td></tr><tr><td/><td/><td>t even know we had it .</td></tr><tr><td colspan="2">Response 0 0.998</td><td>&lt;person&gt; , i know . but it ' s not him , it ' s</td></tr><tr><td/><td/><td>the only way he ' s got it all figured</td></tr><tr><td colspan="2">Response 1 0.981</td><td>&lt;person&gt; , i know . but i have to tell you .</td></tr><tr><td/><td/><td>these things are really stupid and you think i</td></tr><tr><td/><td/><td>was wrong ?</td></tr><tr><td colspan="2">Response 2 0.690</td><td>&lt;person&gt; , i ' m sure he did .</td></tr><tr><td colspan="2">Response 3 0.314</td><td>&lt;person&gt; , i ' m not sure .</td></tr><tr><td>UDC</td><td/></tr><tr><td colspan="2">Context 0 NA</td><td>The netboot one is suppose to download pack-</td></tr><tr><td/><td/><td>ages from the net.</td></tr><tr><td colspan="2">Context 1 NA</td><td>like the ones to be installed? or the installed to</td></tr><tr><td/><td/><td>be run?</td></tr><tr><td colspan="2">Response 0 0.993</td><td>you don ' t need to install the whole system ,</td></tr><tr><td/><td/><td>just install the ubuntu installer</td></tr><tr><td colspan="2">Response 1 0.952</td><td>you can install the ubuntu installer from the</td></tr><tr><td/><td/><td>ubuntu menu</td></tr><tr><td colspan="2">Response 2 0.749</td><td>I ' m not sure , I don ' t know .</td></tr><tr><td colspan="2">Response 3 0.184</td><td>you can</td></tr><tr><td colspan="3">Response 4 0.003 you a . 1 . Context 0 NA DJones: update manager won't detect 12.04.1</td></tr><tr><td/><td/><td>as a new version if you are already running</td></tr><tr><td/><td/><td>12.04, because 12.04.1 = 12.04 + lots of pack-</td></tr><tr><td/><td/><td>age updates</td></tr><tr><td colspan="2">Response 0 0.991</td><td>did you try a clean install of the latest version ?</td></tr><tr><td colspan="2">Response 1 0.981</td><td>try installing the latest UNK and see if it works</td></tr><tr><td colspan="2">Response 2 0.615</td><td>I ' m not sure you have a problem . . .</td></tr><tr><td colspan="2">Response 3 0.191</td><td>try sudo apt-get remove the package that is not</td></tr><tr><td/><td/><td>installed</td></tr><tr><td colspan="2">Response 4 0.002</td><td>try the UNK . 1 . 1 . 1 . 1 . 1 . UNK . deb</td></tr></table>

Sample responses of HRED, VHRED and hredGAN. VHRED I don't know what you want to do . if you want to do it , you need to do it to do it in the terminal ? hredGAN w you don ' t have to do anything , just type in the terminal and it should be to find the right device hredGAN u you can have a look at the output of the command . . . Context 1 good deal... cat /etc/X11/default-display-manager HRED what 's the problem ? VHRED do you know what you want to do ? hredGAN w I ' m trying to figure a command that I can find to find out the file that I can find in the file" hredGAN u I don ' t see the point , but I ' m not sure how to do that .

Table content: <table><tr><td>Movie</td><td/></tr><tr><td colspan="2">Context 0 perhaps &lt;person&gt; had a word with the man upstairs .</td></tr><tr><td>HRED</td><td>i ' m sorry , &lt;person&gt; .</td></tr><tr><td>VHRED</td><td>&lt;person&lt; ' t do it .</td></tr><tr><td colspan="2">hredGAN w &lt;person&gt; , i ' m not gon na be okay . i just don ' t think it ' s a</td></tr><tr><td/><td>good idea .</td></tr><tr><td colspan="2">hredGAN u &lt;person&gt; , i cause it was all the way to you .</td></tr><tr><td colspan="2">Context 1 a word ? i ' m sure by now he ' s engineered a hostile takeover .</td></tr><tr><td>HRED</td><td>i ' m sorry , &lt;person&gt; .</td></tr><tr><td>VHRED</td><td>&lt;person&gt; ' t do it .</td></tr><tr><td colspan="2">hredGAN w &lt;person&gt; , i know what you ' re saying , &lt;person&gt; , that ' s not</td></tr><tr><td/><td>what i ' m saying .</td></tr><tr><td colspan="2">hredGAN u &lt;person&gt; , i have to tell you i ' m not the same .</td></tr><tr><td colspan="2">Context 0 &lt;person&gt; ' s .</td></tr><tr><td>HRED</td><td>i ' m sorry , &lt;person&gt; .</td></tr><tr><td>VHRED</td><td>&lt;person&gt; ' t do it .</td></tr><tr><td colspan="2">hredGAN w &lt;person&gt; , i ' m sure it ' s the only thing i ever imagined .</td></tr><tr><td colspan="2">hredGAN u &lt;person&gt; , i ' ll be right there .</td></tr><tr><td colspan="2">Context 1 can i ask you something about her ?</td></tr><tr><td>HRED</td><td>i don ' t know .</td></tr><tr><td>VHRED:</td><td>you ' re not going to be here .</td></tr><tr><td colspan="2">hredGAN w i don ' t know . i think i ' ve heard of it .</td></tr><tr><td colspan="2">hredGAN u i ' m sorry , i can ' t .</td></tr><tr><td>Ubuntu</td><td/></tr><tr><td colspan="2">Context 0 this is Dacs i am in i used 'sudo statx and it let me in</td></tr><tr><td>HRED</td><td>what 's the problem ?</td></tr><tr><td colspan="2">Context 2 /usr/sbin/lightdm http://paste.ubuntu.com/1286224/ &lt;--my</td></tr><tr><td/><td>/etc/X11/xorg.conf</td></tr><tr><td>HRED</td><td>what 's the problem ?</td></tr><tr><td>VHRED</td><td/></tr></table>

Generator Performance: HRED vs. HRED+Attn

Table content: <table><tr><td>Model</td><td>Teacher Forcing Perplexity</td><td colspan="3">Autoregression BLEU-2 ROUGE-2 DISTINCT-1/2 NASL</td></tr><tr><td>MTC</td><td/><td/><td/><td/></tr><tr><td>HRED</td><td>31.92/36.00</td><td>0.0474</td><td>0.0384</td><td>0.0026/0.0056 0.535</td></tr><tr><td>HRED+Attn</td><td>26.09/26.41</td><td>0.0425</td><td>0.2239</td><td>0.0397/0.1567 0.527</td></tr><tr><td>UDC</td><td/><td/><td/><td/></tr><tr><td>HRED</td><td>69.39/86.40</td><td>0.0177</td><td>0.0483</td><td>0.0203/0.0466 0.892</td></tr><tr><td>HRED+Attn</td><td>50.82/51.31</td><td>0.0140</td><td>0.0720</td><td>0.0473/0.1262 0.760</td></tr></table>

Additional sample responses of HRED, VHRED and hredGAN on Ubuntu. I ' m trying to install the latest version of Ubuntu , but I ' m running on a UNK . Context 0 are you using lvm for your root partition? HRED yes , but I have a problem with a new user , but I don't want to do that . VHRED what is the best way to do that ? what is that ? hredGAN w yes , I ' m on a live system , I ' m trying to use the partition to boot from windows hredGAN u I ' m not sure if it ' s a good idea to have a backup of the system . . . Context 0 are you using lvm for your root partition? Context 1 i have the same config working on a 10.04 box. It appears in 12.04 lvm is on upstart and multipath is not. i do use lvm for my root folder nifty, is there any way to work around it? have you heard of anyone posting a bug about this to have it looked at? darn.... well i hope they can fix this eventually i hope they keep initrd around and move everything to upstart. Upstart is not easy to setup for programs that don't come packaged for upstart. HRED I don't know what the problem is , but I don't know what the problem is . ? VHRED is there a way to do that ? or **unknown** ? hredGAN w you can also try the live cd and see if you can get it back up the live" hredGAN u I ' m trying to get my wireless working on my laptop , but I ' m getting to the point that I can be able to use the wireless card to get the wireless working . Context 1 i have the same config working on a 10.04 box. It appears in 12.04 lvm is on upstart and multipath is not. i do use lvm for my root folder nifty, is there any way to work around it? have you heard of anyone posting a bug about this to have it looked at? darn.... well i hope they can fix this eventually i hope they keep initrd around and move everything to upstart. Upstart is not easy to setup for programs that don't come packaged for upstart. Context 2 yes, because i cant supply it at boot time, i want the truecrypt drive to come up by itself without manual intervention HRED what is the problem ? VHRED what do you mean ? hredGAN w you can also mount a new one and put the mount command to the mount point" hredGAN u I ' m trying to get my sound working , but I ' m trying to get my sound working . Context 1 i have the same config working on a 10.04 box. It appears in 12.04 lvm is on upstart and multipath is not. i do use lvm for my root folder nifty, is there any way to work around it? have you heard of anyone posting a bug about this to have it looked at? darn.... well i hope they can fix this eventually i hope they keep initrd around and move everything to upstart. Upstart is not easy to setup for programs that don't come packaged for upstart. Context 2 yes, because i cant supply it at boot time, i want the truecrypt drive to come up by itself without manual intervention Context 3 Kinda defeats the use of it anyone could get in don't you think? HRED what is the problem ? VHRED is there a way to mount the file ? if you want to do it ? hredGAN w I have no idea , I just want to get the data from the other computer hredGAN u I ' m trying to get the latest driver from the nvidia driver , but I ' m trying to get the nvidia driver working

Table content: <table><tr><td>Ubuntu</td><td/></tr><tr><td>Context 0</td><td>what's the command you are running to chroot and the error message you get in return?</td></tr><tr><td>Context 1</td><td>i mountded the device sudo mount /dev/sda1 /mnt -that works -then sudo chroot /mnt -error is no such file or command</td></tr><tr><td>HRED</td><td>what 's the problem ?</td></tr><tr><td>VHRED</td><td>is there a way to do that ? what do you mean ?</td></tr><tr><td>hredGAN w</td><td>I have no idea , I just did a sudo fdisk and it said it was mounted</td></tr><tr><td>hredGAN u</td><td>I ' m trying to get the latest version of ubuntu , but I ' m getting a lot of problems .</td></tr><tr><td>Context 0</td><td>Hmm, have you checked that ICMP is being allowed all the way through and that the server responds to other ICMP requests?</td></tr><tr><td>Context 1</td><td>now i can ping it (i had to enable the lzo compression on client) i cannot reach the remote subnet adding a rule in the firewall forward the lan</td></tr><tr><td/><td>to vpn</td></tr><tr><td>HRED</td><td>what 's the problem ?</td></tr><tr><td>VHRED</td><td>I don't know what you want to do</td></tr><tr><td>hredGAN w</td><td>I have no idea , I ' m just trying to get the ip address from the router to the router"</td></tr><tr><td>hredGAN u</td><td>I ' m not sure if that ' s the case , but I ' m not sure if it ' s a good idea to have a look at the output .</td></tr><tr><td>Context 0</td><td>The netboot one is suppose to download packages from the net.</td></tr><tr><td>HRED</td><td>I don't know what you want to do .</td></tr><tr><td>VHRED</td><td>how do I do that ?</td></tr><tr><td>hredGAN w</td><td>I ' m not sure of a command to do so I can just install the ubuntu . iso and burn a new iso</td></tr><tr><td>hredGAN u</td><td>you can ' t have a look at the man page . . .</td></tr><tr><td>Context 0</td><td>The netboot one is suppose to download packages from the net.</td></tr><tr><td>Context 1</td><td>like the ones to be installed? or the installed to be run?</td></tr><tr><td>HRED</td><td>I don't know what the problem is .</td></tr><tr><td>VHRED</td><td>is there a way to install the package manager ?</td></tr><tr><td>hredGAN w</td><td>you don ' t need to install the whole system , just install the ubuntu installer</td></tr><tr><td>hredGAN u</td><td>I ' m trying to install a UNK version of ubuntu , but I ' m trying to install it on my laptop .</td></tr><tr><td>Context 0</td><td>You trying to mount it open with the password?</td></tr><tr><td>HRED</td><td>I have to do that , but I have a problem with the same problem .</td></tr><tr><td>VHRED</td><td>is there a way to do ?</td></tr><tr><td>hredGAN w</td><td>yes , I ' m not sure if it ' s mounted or not</td></tr><tr><td>hredGAN u</td><td/></tr><tr><td>Context 0</td><td>are you using lvm for your root partition?</td></tr><tr><td>Context 0</td><td>are you using lvm for your root partition?</td></tr></table>

Peer review (iclr2019):
 The paper applies conditional GAN to the HRED model [Serban et al., 2016] for dialogue response generation, showing improvements in terms of informativeness and diversity compared to HRED and VHRED [Serban et al., 2017]. The paper is technically solid and relatively easy to follow and the results are good, but comparisons with previous work (descriptive and experimental) are rather weak. - Related work is incomplete: The paper specifically argues for the use of GAN to improve diversity in dialogue response generation, but this is not the first paper to do so. [Xu et al., 2017] presents a GAN-like setup that targets exactly the same goal, but that work is not cited in the paper. Same for [Zhang et al., 2018], but the latter work is rather recent (it still should probably be cited). - Evaluation: There is no evaluation against Xu et al., which targets the same goal. The authors didn’t even compare their methods against baselines used in other GAN works for diverse response generation (e.g., MMI [Xu et al.; Zhang et al.], Li et al.’s GAN approach [Xu et al.]), which makes it difficult to draw comparisons between these related methods. As opposed to these other works, the paper doesn’t offer any human evaluation. - It would have been nice to include an LSTM or GRU baseline, as these models are still often used in practice and the VHRED paper suggests [Serban et al., 2016; Table 1] that LSTM holds up quite well against HRED (if we extrapolate the results of VHRED vs. LSTM and VHRED vs. HRED). The ablation of GAN and HRED would help us understand which of the two is more important. In sum, the work is relatively solid, but considering how much has already been done on generating diverse responses (including 3 other papers also using GAN), I don’t think this paper is too influential. Its main weakness is the evaluation (particularly the lack of human evaluation.) Minor comments: - Introduction: “diversity promoting training objective but their model is for single turn conversations”. If these were “single turns”, they wouldn’t really be called conversations; that objective has been used with 3+ turn conversations. It can actually be applied to multi-turn dialogue as with any autoegressive generative models. For example, it has been exploited that way as a baseline for multi-turn dialogue [Li et al. 2016](“Deep Reinforcement Learning for Dialogue Generation“). Note it is not a “training objective”, but only an objective function at inference time, which is a more valid reason to criticize that paper. - “We use greedy decoding (MLE) on the first part of the objective.” Doesn’t that hurt diversity because of MLE? what about using sampling instead (maybe with temperature)? - Algorithm 1: the P_theta_G don’t seem to match the text of section 2. h_i is in sometimes written in bold and sometimes not (see also Eq 12 for comparison.) - End of section 2.1: There are multiple Li et al.; specify which one. - End of section 2.2 and 2.4: extra closing parenthesis after N(0, …)) - Figures are too small to read the subscripts. [Xu et al. 2017]: Zhen Xu, Bingquan Liu, Baoxun Wang, Sun Chengjie, Xiaolong Wang, Zhuoran Wang, and Chao Qi. Neural response generation via gan with an approximate embedding layer. EMNLP 2017. [Zhang et al. 2018]: Zhang, Yizhe & Galley, Michel & Gao, Jianfeng & Gan, Zhe & Li, Xiujun & Brockett, Chris & Dolan, Bill. (2018). Generating Informative and Diverse Conversational Responses via Adversarial Information Maximization.