Insertion-based Decoding with automatically Inferred Generation Order

Jiatao Gu, Qi Liu, Kyunghyun Cho

Introduction

Neural autoregressive models have become the de facto standard in a wide range of sequence generation tasks, such as machine translation Bahdanau et al. (2015), summarization Rush et al. (2015) and dialogue systems Vinyals and Le (2015). In these studies, a sequence is modeled autoregressively with the left-to-right generation order, which raises the question of whether generation in an arbitrary order is worth considering Vinyals et al. (2016); Ford et al. (2018). Nevertheless, previous studies on generation orders mostly resort to a fixed set of generation orders, showing particular choices of ordering are helpful Wu et al. (2018); Ford et al. (2018); Mehri and Sigal (2018), without providing an efficient algorithm for finding adaptive generation orders, or restrict the problem scope to nn-gram segment generation Vinyals et al. (2016).

In this paper, we propose a novel decoding algorithm, Insertion-based Decoding with Inferred Generation Order (InDIGO), which models generation orders as latent variables and automatically infers the generation orders by simultaneously predicting a word and its position to be inserted at each decoding step. Given that absolute positions are unknown before generating the whole sequence, we use a relative-position-based representation to capture generation orders. We show that decoding consists of a series of insertion operations with a demonstration shown in Figure 1.

We extend Transformer Vaswani et al. (2017) for supporting insertion operations, where the generation order is directly captured as relative positions through self-attention inspired by Shaw et al. (2018). For learning, we maximize the evidence lower-bound (ELBO) of the maximum likelihood objective, and study two approximate posterior distributions of generation orders based on a pre-defined generation order and adaptive orders obtained from beam-search, respectively.

Experimental results on word order recovery, machine translation, code generation and image caption demonstrate that our algorithm can generate sequences with arbitrary orders, while achieving competitive or even better performance compared to the conventional left-to-right generation. Case studies show that the proposed method adopts adaptive orders based on input information. The code will be released as part of the official repo of Fairseq (https://github.com/pytorch/fairseq).

Neural Autoregressive Decoding

Let us consider the problem of generating a sequence y=(y1,...,yT)\bm{y}=(y_{1},...,y_{T}) conditioned on some inputs, e.g., a source sequence x=(x1,...,xT′)\bm{x}=(x_{1},...,x_{T^{\prime}}). Our goal is to build a model parameterized by θ\theta that models the conditional probability of y\bm{y} given x\bm{x}, which is factorized as:

where y0y_{0} and yT+1y_{T+1} are special tokens ⟨s⟩\langle\text{s}\rangle and ⟨/s⟩\langle\text{/s}\rangle, respectively. The model sequentially predicts the conditional probability of the next token at each step tt, which can be implemented by any function approximator such as RNNs Bahdanau et al. (2015) and Transformer Vaswani et al. (2017).

Neural autoregressive model is commonly learned by maximizing the conditional likelihood log⁡p(y∣x)=∑t=0Tlog⁡pθ(yt+1∣y0:t,x1:T′)\log p(\bm{y}|\bm{x})=\sum_{t=0}^{T}\log p_{\theta}(y_{t+1}|y_{0:t},x_{1:T^{\prime}}) given a set of parallel examples.

Decoding

A common way to decode a sequence from a trained model is to make use of the autoregressive nature that allows us to predict one word at each step. Given any source x\bm{x}, we essentially follow the order of factorization to generate tokens sequentially using some heuristic-based algorithms such as greedy decoding and beam search.

Insertion-based Decoding with Inferred Generation Order (InDIGO)

Eq. 1 explicitly assumes a left-to-right (L2R) generation order of the sequence y\bm{y}. In principle, we can factorize the sequence probability in any permutation and train a model for each permutation separately. As long as we have infinite amount of data with proper optimization performed, all these models are equivalent. Nevertheless, Vinyals et al. (2016) have shown that the generation order of a sequence actually matters in many real-world tasks, e.g., language modeling.

Although the L2R order is a strong inductive bias, as it is natural for most human-beings to read and write sequences from left to right, L2R is not necessarily the optimal option for generating sequences. For instance, people sometimes tend to think of central phrases first before building up a whole sentence; For programming languages, it is beneficial to be generated based on abstract syntax trees Yin and Neubig (2017).

Therefore, a natural question arises, how can we decode a sequence in its best order?

We address this question by modeling generation orders as latent variables. Similar to Vinyals et al. (2016), we rewrite the target sequence y\bm{y} in a particular order π=(z2,...,zT,zT+1)∈PT\bm{\pi}=(z_{2},...,z_{T},z_{T+1})\in\mathcal{P}_{T} PT\mathcal{P}_{T} is the set of all the permutations of (1,...,T)(1,...,T). as a set yπ={(y2,z2),...,(yT+1,zT+1)}\bm{y}_{\bm{\pi}}=\{(y_{2},z_{2}),...,(y_{T+1},z_{T+1})\}, where (yt,zt)(y_{t},z_{t}) represents the tt-th generated token and its absolute position, respectively. Different from the common notation, the target sequence is 22-step drifted because the two special tokens (y0,z0)=(⟨s⟩,0)(y_{0},z_{0})=(\langle\text{s}\rangle,0) and (y1,z1)=(⟨/s⟩,T+1)(y_{1},z_{1})=(\langle\text{/s}\rangle,T+1) are always prepended to represent the left and right boundaries, respectively. Then, we model the conditional probability as the joint distribution of words and positions by marginalizing all the orders:

where the third special token yT+2=⟨eod⟩y_{T+2}=\langle\text{eod}\rangle is introduced to signal the end-of-decoding, and p(yT+2∣⋅)p(y_{T+2}|\cdot) is the end-of-decoding probability.

At decoding time, the factorization allows us to decode autoregressively by predicting word yt+1y_{t+1} and its position zt+1z_{t+1} step by step. The generation order is automatically inferred during decoding.

2 Relative Representation of Positions

It is difficult and inefficient to predict the absolute positions ztz_{t} without knowing the actual length TT. One solution is directly using the absolute positions z0t,...,zttz_{0}^{t},...,z_{t}^{t} of the partial sequence y0:ty_{0:t} at each autoregressive step tt. For example, the absolute positions for the sequence (⟨s⟩\langle\text{s}\rangle, ⟨/s⟩\langle\text{/s}\rangle, dream, I) are (z0t=0,z1t=3,z2t=2,z3t=1)(z_{0}^{t}=0,z_{1}^{t}=3,z_{2}^{t}=2,z_{3}^{t}=1) in Figure 1 at step t=3t=3. It is however inefficient to model such explicit positions using a single neural network without recomputing the hidden states for the entire partial sequence, as some positions are changed at every step (as shown in Figure 1).

We propose using relative-position representations r0:tt\bm{r}_{0:t}^{t} instead of absolute positions z0:ttz_{0:t}^{t}. We use a ternary vector rit∈{−1,0,1}t+1\bm{r}_{i}^{t}\in\{-1,0,1\}^{t+1} as the relative-position representation for zitz_{i}^{t}. The jj-th element of rit\bm{r}_{i}^{t} is defined as:

where the elements of rit\bm{r}_{i}^{t} show the relative positions with respect to all the other words in the partial sequence at step tt. We use a matrix Rt=[r0t,r1t,...,rtt]R^{t}=\left[\bm{r}_{0}^{t},\bm{r}_{1}^{t},...,\bm{r}_{t}^{t}\right] to show the relative-position representations of all the words in the sequence. The relative-position representation can always be mapped back to the absolute position zitz^{t}_{i} by:

One of the biggest advantages for using such vector-based representations is that at each step, updating the relative-position representations is simply extending the relative-position matrix RtR^{t} with the next predicted relative position, because the (left, middle, right) relations described in Eq. (3) stay unchanged once they are created. Thus, we update RtR^{t} as follows:

3 Insertion-based Decoding

Given a partial sequence y0:ty_{0:t} and its corresponding relative-position representations r0:t\bm{r}_{0:t}, not all of the 3t+23^{t+2} possible vectors are valid for the next relative-position representation, rt+1\bm{r}_{t+1}. Only these vectors corresponding to insertion operations satisfy Eq. (4). In Algorithm 1, we describe an insertion-based decoding framework based on this observation. The next word yt+1y_{t+1} is predicted based on y0:ty_{0:t} and r0:t\bm{r}_{0:t}. We then choose an existing word yky_{k} (0≤k≤t0\leq k\leq t)) from y0:ty_{0:t} and insert yt+1y_{t+1} to its left or right. As a result, the next position rt+1\bm{r}_{t+1} is determined by

where s=−1s=-1 if yt+1y_{t+1} is on the left of yky_{k}, and s=1s=1 otherwise. Finally, we use rt+1\bm{r}_{t+1} to update the relative-position matrix RR as shown in Eq. (5).

Model

We present Transformer-InDIGO, an extension of Transformer Vaswani et al. (2017), supporting insertion-based decoding. The overall framework is shown in Figure 2.

We extend the decoder of Transformer with relative-position-based self-attention, joint word & position prediction and position updating modules.

One of the major challenges that prevents the vanilla Transformer from generating sequences following arbitrary orders is that the absolute-position-based positional encodings are inefficient as mentioned in Section 3.2, in that absolute positions are changed during decoding, invalidating the previous hidden states. In contrast, we adapt Shaw et al. (2018) to use relative positions in self-attention. Different from Shaw et al. (2018), in which a clipping distance dd (usually d≥2d\geq 2) is set for relative positions, our relative-position representations only preserve d=1d=1 relations (Eq. (3)).

Word & Position Prediction

It can also be factorized as predicting the position before predicting the next word, yet our preliminary experiments show that predicting the word first works slightly better. The prediction module for word & position prediction are shown in Figure 2(a).

First, we predict the next word yt+1y_{{t+1}} from the categorical distribution pword(y∣H)p_{\text{word}}(y|H) as:

Position Updating

As mentioned in Sec. 3.1, we update the relative position representation RtR^{t} with the predicted rt+1r_{t+1}. Because updating the relative positions will not change the pre-computed relative-position representations, Transformer-InDIGO can reuse the previous hidden states in the next decoding step the same as the vanilla Transformer.

2 Learning

Training requires maximizing the marginalized likelihood in Eq. (2). Yet this is intractable since we need to enumerate all of the T!T! permutations of tokens. Instead, we maximize the evidence lower-bound (ELBO) of the original objective by introducing an approximate posterior distribution of generation orders q(π∣x,y)q(\bm{\pi}|\bm{x},\bm{y}), which provides the probabilities of latent generation orders based on the ground-truth sequences x\bm{x} and y\bm{y}:

where π=r2:T+1\bm{\pi}=\bm{r}_{2:T+1}, sampled from q(π∣x,y)q(\pi|\bm{x},\bm{y}), is represented as relative positions. H(q)\mathcal{H}(q) is the entropy term which can be ignored if qq is fixed during training. Eq. (10) shows that given a sampled order, the learning objective is divided into word & position objectives. For calculating the position prediction loss, we aggregate the two probabilities corresponding to the same position by

where ppointer(kl∣⋅)p_{\text{pointer}}(k^{l}|\cdot) and ppointer(kr∣⋅)p_{\text{pointer}}(k^{r}|\cdot) are calculated simultaneously from the same softmax function in Eq. (9). kl,kr(kl≠kr)k^{l},k^{r}(k^{l}\neq k^{r}) represent the keys corresponding to the same relative position.

Here, we study two types of q(π∣x,y)q(\bm{\pi}|\bm{x},\bm{y}):

If we already possess some prior knowledge about the sequence, e.g., the L2R order is proven to be a strong baseline in many scenarios, we assume a Dirac-delta distribution q(π∣x,y)=δ(π=π∗(x,y))q(\bm{\pi}|\bm{x},\bm{y})=\delta(\bm{\pi}=\bm{\pi}^{*}(\bm{x},\bm{y})), where π∗(x,y))\bm{\pi}^{*}(\bm{x},\bm{y})) is a predefined order. In this work, we study a set of pre-defined orders which can be found in Table. 1, for evaluating their effect on generation.

Searched Adaptive Order (SAO)

We choose the approximate posterior qq as the point estimation that maximizes log⁡pθ(yπ∣x)\log p_{\theta}(\bm{y}_{\bm{\pi}}|\bm{x}), which can also be seen as the maximum-a-posteriori (MAP) estimation on the latent order π\bm{\pi}. In practice, we approximate these generation orders π\pi through beam-search (Pal et al., 2006). Unlike the original beam-search for autoregressive decoding that searches in the sequence space to find the sequence maximizing the probability shown in Eq. 1, we search in the space of all the permutations of the target sequence to find π\pi maximising Eq. 2, as all the target tokens are known in advance during training.

More specifically, we maintain BB sub-sequences with the maximum probabilities using a set B\mathcal{B} at each step tt. For every sub-sequence y0:t(b)∈By^{(b)}_{{0:t}}\in\mathcal{B}, we evaluate the probabilities of every possible choice from the remaining words y′∈y∖y0:t(b)y^{\prime}\in\bm{y}\setminus y^{(b)}_{{0:t}} and its position r′\bm{r}^{\prime}. We calculate the cumulative likelihood for each y′,r′y^{\prime},\bm{r}^{\prime}, based on which we select top-BB sub-sequences as the new set B\mathcal{B} for the next step. After obtaining the BB generation orders, we optimize our objective as an average over these orders:

where we assume q(π∣x,y)={1/Bπ∈B0otherwiseq(\bm{\pi}|\bm{x},\bm{y})={\small\begin{cases}1/B&\bm{\pi}\in\mathcal{B}\\ 0&\text{otherwise}\end{cases}}.

Beam Search with Dropout

The goal of beam search is to approximately find the most likely generation orders, which limits learning from exploring other generation orders that may not be favourable currently but may ultimately be deemed better. Prior research Vijayakumar et al. (2016) also pointed out that the search space of the standard beam-search is restricted. We encourage exploration by injecting noise during beam search Cho (2016). Particularly, we found it effective to keep the dropout on (e.g., dropout =0.1=0.1).

Bootstrapping from a Pre-defined Order

During preliminary experiments, sequences returned by beam-search were often degenerated by always predicting common or functional words (e.g., “the”, “,”, etc.) as the first several tokens, leading to inferior performance. We conjecture that is due to the fact that the position prediction module learns much faster than the word prediction module, and it quickly captures spurious correlations induced by a poorly initialized model. It is essential to balance the learning progress of these modules. To do so, we bootstrap learning by pre-training the model with a pre-defined order (e.g., L2R), before training with beam-searched orders.

3 Decoding

As for decoding, we directly follow Algorithm 1 to sample or decode greedily from the proposed model. However, in practice beam-search is important to explore the output space for neural autoregressive models. In our implementation, we perform beam-search for InDIGO as a two-step search. Suppose the beam size BB, at each step, we do beam-search for word prediction and then with the searched words, try out all possible positions and select the top-BB sub-sequences. In preliminary experiments, we also tried doing beam-search for word and positions simultaneously with their joint probability. However, it did not seem helpful.

Experiments

We evaluate InDIGO extensively on four challenging sequence generation tasks: word order recovery, machine translation, natural language to code generation (NL2Code, Ling et al., 2016) and image captioning. We compare our model trained with the pre-defined orders and the adaptive orders obtained by beam-search. We use the same architecture for all orders including the standard L2R order.

The machine translation experiments are conducted on three language pairs for studying how the decoding order influences the translation quality of languages with diversified characteristics: WMT’16 Romanian-English (Ro-En), http://www.statmt.org/wmt16/translation-task.html WMT 18 English-Turkish (En-Tr) http://www.statmt.org/wmt18/translation-task.html and KFTT English-Japanese (En-Ja, Neubig, 2011) http://www.phontron.com/kftt/. The English part of the Ro-En dataset is used for the word order recovery task. For the NL2Code task, We use the Django dataset Oda et al. (2015) https://github.com/odashi/ase15-django-dataset and the MS COCO Lin et al. (2014) with the standard split Karpathy and Fei-Fei (2015) for the NL2Code task and image captioning, respectively. The dataset statistics are shown in Table 2.

Preprocessing

We apply the Moses tokenization https://github.com/moses-smt/mosesdecoder and normalization on all the text datasets except for codes. We perform 32,00032,000 joint BPE Sennrich et al. (2016) operations for the MT datasets, while using all the unique words as the vocabulary for NL2Code. For image captioning, we follow the same procedure as described by Lee et al. (2018), where we use 4949 512512-dimensional image feature vectors (extracted from a pretrained ResNet-18 He et al. (2016)) as the input to the Transformer encoder. The image features are fixed during training.

Models

We set dmodel=512d_{\text{model}}=512, dhidden=2048d_{\text{hidden}}=2048, nheads=8n_{\text{heads}}=8, nlayers=6n_{\text{layers}}=6, lrmax⁡=0.0005\text{lr}_{\max}=0.0005, warmup=4000\text{warmup}=4000 and dropout=0.1\text{dropout}=0.1 throughout all the experiments. The source and target embedding matrices are shared except for En-Ja, as our preliminary experiments showed that keeping the embeddings not shared significantly improves the translation quality. Both the encoder and decoder use relative positions during self-attention except for the word order recovery experiments (where the position embedding is removed in the encoder, as there is no ground-truth position information in the input.) We do not introduce task-specific modules such as copying mechanism Gu et al. (2016).

Training

When training with the pre-defined orders, we reorder words of each training sequence in advance accordingly which provides supervision of the ground-truth positions that each word should be inserted. We test the pre-defined orders listed in Table 1. The SYN orders were generated according to the dependency parse obtained by a dependency parse parser from Spacy Honnibal and Montani (2017) following a parent-to-children left-to-right order. The CF & RF orders are obtained based on vocabulary cut-off so that the number of common words and the number of rare words are approximately the same Ford et al. (2018). We also consider on-the-fly sampling a random order for each sentence as the baseline (RND). When using L2R as the pre-defined order, Transformer-InDIGO is almost equivalent to the vanilla Transformer, as the position prediction simply learns to predict the next position as the left of the ⟨s⟩\langle\text{s}\rangle symbol. The only difference is that it enhances the vanilla Transformer with a small number of additional parameters for the position prediction.

We also train Transformer-InDIGO using the searched adaptive order (SAO) where we set the beam size to 88. In default, models trained with SAO are bootstrapped from a slightly pre-trained (6,000 steps) model in L2R order.

Inference

During the test time, we do beam-search as described in Sec. 4.3. We observe from our preliminary experiments that models trained with different orders (either pre-defined or SAO) have very different optimal beam sizes for decoding. Therefore, we perform sensitivity studies, in which the beam sizes vary from 1∼201\sim 20 and pick the beam size with the highest BLEU score on the validation set for each particular model.

2 Results and Analysis

Word order recovery takes a bag of words as input and recovers its original word order, which is challenging as the search space is factorial. We do not restrict the vocabulary of the input words. We compare our model trained with the L2R order and eight searched adaptive orders (SAO) from beam search for word order recovery. The BLEU scores over various beam sizes are shown in Figure 3. The model trained with SAO lead to higher BLEU scores over that trained with L2R with a gain up to 33 BLEU scores. Furthermore, increasing the beam size brings more improvements for SAO compared to L2R, suggesting that InDIGO produces more diversified predictions so that it has higher chances to recover the order.

Machine Translation

As shown in Table 3, we compare our model trained with pre-defined orders and the searched adaptive orders (SAO) with varying setups. We use four evaluation metrics including BLEU Papineni et al. (2002), Ribes Isozaki et al. (2010), Meteor Banerjee and Lavie (2005) and TER Snover et al. (2006) to avoid using a single metric that might be in favor of a particular generation order. Most of the pre-defined orders (except for the random order and the balanced tree (BLT) order) perform reasonably well with InDIGO on the three language pairs. The best score with a predefined word ordering is reached by the L2R order among the pre-defined orders except for En-Ja, where the R2L order works slightly better according to Ribes. This indicates that in machine translation, the monotonic orders are reasonable and reflect the languages. ODD, CF and RF show similar performance, which is below the L2R and R2L orders by around 22 BLEU scores. The tree-based orders, such as the SYN and BLT orders do not perform well, indicating that predicting words following a syntactic path is not preferable. On the other hand, Table 3 shows that the model with SAO achieves competitive and even statistically significant improvements over the L2R order. The improvements are larger for Turkish and Japanese, indicating that a flexible generation order may improve the translation quality for languages with different syntactic structures from English.

Code Generation

The goal of this task is to generate Python code based on a natural language description, which can be achieved by using a standard sequence-to-sequence generation framework such as the proposed Transformer-InDIGO. As shown in Table 4, SAO works significantly better than the L2R order in terms of both BLEU and accuracy. This shows that flexible generation orders are more preferable in code generation.

Image Captioning

For the captioning task, one caption is generated per image and is compared against five human-created captions during testing. As show in Table 4, we observe that SAO obtains higher BLEU and CIDEr-D Vedantam et al. (2015) compared to the L2R order, and it implies that better captions are generated with different orders.

3 Ablation Study

Table 5 shows the results of the ablation studies using the machine translation task. SAO without bootstrapping nor beam-search degenerates by approximate 11 BLEU score on Ro-En, demonstrating the effectiveness of these two methods. We also test SAO by bootstrapping from a model trained with a R2L order as well as a SYN order, which obtains slightly worse yet comparable results compared to bootstrapping from L2R. This suggests that the SAO algorithm is quite robust with different bootstrapping methods, and L2R bootstrapping performs the best. In addition, we re-implement a recent work Stern et al. (2019), which adopts a similar idea of generating sequences through insertion operations for machine translation. We use the best settings of their algorithm, i.e., training with binary-tree/uniform slot-losses and slot-termination, while removing the knowledge distillation for a fair comparison with ours. Our model obtains better performance compared to Stern et al. (2019) on WMT16 Ro-En.

Running Time

As shown in Table 6, InDIGO decodes sentences as efficient as the standard L2R autoregressive models. However, it is slower in terms of training time using SAO as the supervision, as additional efforts are needed to search the generation orders, and it is difficult to parallelize the SAO. SAO with beam sizes 11 and 88 are 3.83.8 and 7.27.2 times slower compared to L2R, respectively. Note that enlarging the beam size during training won’t affect the decoding time as searching the best orders only happen in the training time. We will investigate off-line searching methods to speed up SAO training and make InDIGO more scalable in the future.

4 Visualization

In Figure 4, we show an instantiated example produced by InDIGO, which is randomly sampled from the validation set of the KFTT En-Ja dataset. The relative-position matrices (RtR^{t}) and their corresponding absolute positions (ztz^{t}) are shown at each step. We argue that relative-position matrices are flexible to encode position information, and its append-only property enables InDIGO to reuse previous hidden states.

Case Study

We demonstrate how InDIGO works by uniformly sampling examples from the validation sets for machine translation (Ro-En), image captioning and code generation. As shown in Figure 5, the proposed model generates sequences in different orders based on the order used for learning (either pre-defined or SAO). For instance, the model generates tokens approximately following the dependency parse wheb we used the SYN order for the machine translation task. On the other hand, the model trained using the RF order learns to first produce verbs and nouns first, before filling up the sequence with remaining functional words.

We observe several key characteristics about the inferred orders of SAO by analyzing the model’s output for each task: (1) For machine translation, the generation order of an output sequence does not deviate too much from L2R. Instead, the sequences are shuffled with chunks, and words within each chunk are generated in a L2R order; (2) In the examples of image captioning and code generation, the model tends to generate most of the words in the L2R order and insert a few words afterward in certain locations. Moreover, we provide more examples in the appendix.

Related Work

Neural autoregressive modelling has become one of the most successful approaches for generating sequences Sutskever et al. (2011); Mikolov (2012), which has been widely used in a range of applications, such as machine translation Sutskever et al. (2014), dialogue response generation Vinyals and Le (2015), image captioning Karpathy and Fei-Fei (2015) and speech recognition Chorowski et al. (2015). Another stream of work focuses on generating a sequence of tokens in a non-autoregressive fashion Gu et al. (2018); Lee et al. (2018); van den Oord et al. (2018), in which the discrete tokens are generated in parallel. Semi-autoregressive modelling Stern et al. (2018); Wang et al. (2018a) is a mixture of the two approaches, while largely adhering to left-to-right generation. Our method is different from these approaches as we support flexible generation orders, while decoding autoregressively.

Non-L2R Orders

Previous studies on generation order of sequences mostly resort to a fixed set of generation orders. Wu et al. (2018) empirically show that R2L generation outperforms its L2R counterpart in a few tasks. Ford et al. (2018) devises a two-pass approach that produces partially-filled sentence “templates” and then fills in missing tokens. Zhu et al. (2019) also proposes to generate tokens by first predicting a text template and infill the sentence afterwards while in a more general way. Mehri and Sigal (2018) proposes a middle-out decoder that firstly predicts a middle-word and simultaneously expands the sequence in both directions afterwards. Previous studies also focused on decoding in a bidirectional fashion such as Sun et al. (2017); Zhou et al. (2019a, b). Another line of work models sequence generation based on syntax structures Yamada and Knight (2001); Charniak et al. (2003); Chiang (2005); Emami and Jelinek (2005); Zhang et al. (2016); Dyer et al. (2016); Aharoni and Goldberg (2017); Wang et al. (2018b); Eriguchi et al. (2017). In contrast, Transformer-InDIGO supports fully flexible generation orders during decoding.

There are two concurrent work Welleck et al. (2019); Stern et al. (2019), which study sequence generation in a non-L2R order. Welleck et al. (2019) propose a tree-like generation algorithm. Unlike this work, the tree-based generation order only produces a subset of all possible generation orders compared to our insertion-based models. Further, Welleck et al. (2019) find L2R is superior to their learned orders on machine translation tasks, while transformer-InDIGO with searched adaptive orders achieves better performance. Stern et al. (2019) propose a very similar idea of using insertion operations in Transformer for machine translation. The major difference is that they directly use absolute positions, while ours utilizes relative positions. As a result, their model needs to re-encode the partial sequence at every step, which is computationally more expensive. In contrast, our approach does not necessitate re-encoding the entire sentence during generation. In addition, knowledge distillation was necessary to achieve good performance in Stern et al. (2019), while our model is able to match the performance of L2R even without bootstrapping.

Conclusion

We have presented a novel approach – InDIGO – which supports flexible sequence generation. Our model was trained with either pre-defined orders or searched adaptive orders. In contrast to conventional neural autoregressive models which often generate from left to right, our model can flexibly generate a sequence following an arbitrary order. Experiments show that our method achieved competitive or even better performance compared to the conventional left-to-right generation on four tasks, including machine translation, word order recovery, code generation and image captioning.

For future work, it is worth exploring a trainable inference model to directly predict the permutation Mena et al. (2018) instead of beam-search. Also, the proposed InDIGO could be extended for post-editing tasks such as automatic post-editing for machine translation (APE) and grammatical error correction (GEC) by introducing additional operations such as “deletion” and “substitution”.

Acknowledgement

We specially thank our action editor Alexandra Birch and all the reviewers for their great efforts to review the draft. We also would like to thank Douwe Kiela, Marc’Aurelio Ranzato, Jake Zhao and our colleagues at FAIR for the valuable feedback, discussions and technical assistance. This work was partly supported by Samsung Advanced Institute of Technology (Next Generation Deep Learning: from pattern recognition to AI) and Samsung Electronics (Improving Deep Learning using Latent Structure). KC thanks for the support of eBay and Nvidia.

References