Using the Output Embedding to Improve Language Models

We study the topmost weight matrix of neural network language models. We show that this matrix constitutes a valid word embedding. When training language models, we recommend tying the input embedding and this output embedding. We analyze the resulting update rules and show that the tied embedding evolves in a more similar way to the output embedding than to the input embedding in the untied model. We also offer a new method of regularizing the output embedding. Our methods lead to a significant reduction in perplexity, as we are able to show on a variety of neural network language models. Finally, we show that weight tying can reduce the size of neural translation models to less than half of their original size without harming their performance.


Introduction
In a common family of neural network language models, the current input word is represented as the vector c ∈ IR C and is projected to a dense representation using a word embedding matrix U . Some computation is then performed on the word embedding U c, which results in a vector of activations h 2 . A second matrix V then projects h 2 to a vector h 3 containing one score per vocabulary word: h 3 = V h 2 . The vector of scores is then converted to a vector of probability values p, which represents the models' prediction of the next word, using the softmax function.
For example, in the LSTM-based language models of (Sundermeyer et al., 2012;Zaremba et al., 2014), for vocabulary of size C, the onehot encoding is used to represent the input c and U ∈ IR C×H . An LSTM is then employed, which results in an activation vector h 2 that similarly to U c, is also in IR H . In this case, U and V are of exactly the same size.
We call U the input embedding, and V the output embedding. In both matrices, we expect rows that correspond to similar words to be similar: for the input embedding, we would like the network to react similarly to synonyms, while in the output embedding, we would like the scores of words that are interchangeable to be similar (Mnih and Teh, 2012).
While U and V can both serve as word embeddings, in the literature, only the former serves this role. In this paper, we compare the quality of the input embedding to that of the output embedding, and we show that the latter can be used to improve neural network language models. Our main results are as follows: (i) We show that in the word2vec skip-gram model, the output embedding is only slightly inferior to the input embedding. This is shown using metrics that are commonly used in order to measure embedding quality. (ii) In recurrent neural network based language models, the output embedding outperforms the input embedding. (iii) By tying the two embeddings together, i.e., enforcing U = V , the joint embedding evolves in a more similar way to the output embedding than to the input embedding of the untied model. (iv) Tying the input and output embeddings leads to an improvement in the perplexity of various language models. This is true both when using dropout or when not using it. (v) When not using dropout, we propose adding an additional projection P before V , and apply regularization to P . (vi) Weight tying in neural translation models can reduce their size (number of parameters) to less than half of their original size without harming their performance.
The skip-gram word2vec model introduced in (Mikolov et al., 2013a;Mikolov et al., 2013b) learns representations of words. This model learns a representation for each word in its vocabulary, both in an input embedding matrix and in an output embedding matrix. When training is complete, the vectors that are returned are the input embeddings. The output embedding is typically ignored, although (Mitra et al., 2016;Mnih and Kavukcuoglu, 2013) use both the output and input embeddings of words in order to compute word similarity. Recently, (Goldberg and Levy, 2014) argued that the output embedding of the word2vec skip-gram model needs to be different than the input embedding.
As we show, tying the input and the output embeddings is indeed detrimental in word2vec. However, it improves performance in NNLMs.
In neural machine translation (NMT) models (Kalchbrenner and Blunsom, 2013;Sutskever et al., 2014;, the decoder, which generates the translation of the input sentence in the target language, is a language model that is conditioned on both the previous words of the output sentence and on the source sentence. State of the art results in NMT have recently been achieved by systems that segment the source and target words into subword units (Sennrich et al., 2016a). One such method (Sennrich et al., 2016b) is based on the byte pair encoding (BPE) compression algorithm (Gage, 1994). BPE segments rare words into their more commonly appearing subwords.
Weight tying was previously used in the logbilinear model of (Mnih and Hinton, 2009), but the decision to use it was not explained, and its effect on the model's performance was not tested. Independently and concurrently with our work (Inan et al., 2016) presented an explanation for weight tying in NNLMs based on (Hinton et al., 2015).

Weight Tying
In this work, we employ three different model categories: NNLMs, the word2vec skip-gram model, and NMT models. Weight tying is applied similarly in all models. For translation models, we also present a three-way weight tying method.
NNLM models contain an input embedding matrix, two LSTM layers (h 1 and h 2 ), a third hidden scores/logits layer h 3 , and a softmax layer. The loss used during training is the cross entropy loss without any regularization terms.
Following (Zaremba et al., 2014), we employ two models: large and small. The large model employs dropout for regularization. The small model is not regularized. Therefore, we propose the following regularization scheme. A projection matrix P ∈ IR H×H is inserted before the output embedding, i.e., h 3 = V P h 2 . The regularizing term λ P 2 is then added to the small model's loss function. In all of our experiments, λ = 0.15.
Projection regularization allows us to use the same embedding (as both the input/output embedding) with some adaptation that is under regularization. It is, therefore, especially suited for WT.
While training a vanilla untied NNLM, at timestep t, with current input word sequence i 1:t = [i 1 , ..., i t ] and current target output word o t , the negative log likelihood loss is given by: which corresponds to word k, and h (t) 2 is the vector of activations of the topmost LSTM layer's output at time t. For simplicity, we assume that at each timestep t, i t = o t . Optimization of the model is performed using stochastic gradient descent.
The update for row k of the input embedding is: For the output embedding, row k's update is: Therefore, in the untied model, at every timestep, the only row that is updated in the input embedding is the row U it representing the current input word. This means that vectors representing rare words are updated only a small number of times. The output embedding updates every row at each timestep.
In tied NNLMs, we set U = V = S. The update for each row in S is the sum of the updates obtained for the two roles of S as both an input and output embedding.
The update for row k = i t is similar to the update of row k in the untied NNLM's output embedding (the only difference being that U and V are both replaced by a single matrix S). In this case, there is no update from the input embedding role of S.
The update for row k = i t , is made up of a term from the input embedding (case k = i t ) and a term from the output embedding (case k = o t ). The second term grows linearly with p t (i t |i 1:t ), which is expected to be close to zero, since words seldom appear twice in a row (the low probability in the network was also verified experimentally). The update that occurs in this case is, therefore, mostly impacted by the update from the input embedding role of S.
To conclude, in the tied NNLM, every row of S is updated during each iteration, and for all rows except one, this update is similar to the update of the output embedding of the untied model. This implies a greater degree of similarity of the tied embedding to the untied model's output embedding than to its input embedding.
The analysis above focuses on NNLMs for brevity. In word2vec, the update rules are similar, just that h (t) 2 is replaced by the identity function. As argued by (Goldberg and Levy, 2014), in this case weight tying is not appropriate, because if p t (i t |i 1:t ) is close to zero then so is the norm of the embedding of i t . This argument does not hold for NNLMs, since the LSTM layers cause a decoupling of the input and output embedddings.
Finally, we evaluate the effect of weight tying in neural translation models. In this model: where r = (r 1 , ..., r N ) is the set of words in the source sentence, U and V are the input and output embeddings of the decoder and W is the input embedding of the encoder (in translation models U, V ∈ IR Ct×H and W ∈ IR Cs×H , where C s / C t is the size of the vocabulary of the source / target). G (t) is the decoder, which receives the context vector, the embedding of the input word (i t ) in U , and its  previous state at each timestep. c t is the context vector at timestep t, c t = j∈r a tj h j , where a tj is the weight given to the jth annotation at time t: a tj = exp(e tj ) k∈r exp(e ik ) , and e tj = a t (h j ), where a is the alignment model. F is the encoder which produces the sequence of annotations (h 1 , ..., h N ).
The output of the decoder is then projected to a vector of scores using the output embedding: l t = V G (t) . The scores are then converted to probability values using the softmax function.
In our weight tied translation model, we tie the input and output embeddings of the decoder.
We observed that when preprocessing the ACL WMT 2014 EN→FR 1 and WMT 2015 EN→DE 2 datasets using BPE, many of the subwords appeared in the vocabulary of both the source and the target languages. Tab. 1 shows that up to 90% (85%) of BPE subwords between English and French (German) are shared.
Based on this observation, we propose threeway weight tying (TWWT), where the input embedding of the decoder, the output embedding of the decoder and the input embedding of the encoder are all tied. The single source/target vocabulary of this model is the union of both the source and target vocabularies. In this model, both in the encoder and decoder, all subwords are embedded in the same duo-lingual space.

Results
Our experiments study the quality of various embeddings, the similarity between them, and the impact of tying them on the word2vec skip-gram model, NNLMs, and NMT models.

Quality of Obtained Embeddings
In order to compare the various embeddings, we pooled five embedding evaluation methods from the literature. These evaluation methods involve calculating pairwise (cosine) distances between embeddings and correlating these distances with human judgments of the strength of relationships between concepts. We use: Simlex999 (Hill et    2016), Verb-143 (Baker et al., 2014), MEN (Bruni et al., 2014), Rare-Word (Luong et al., 2013) and MTurk-771 (Halawi et al., 2012). We begin by training both the tied and untied word2vec models on the text8 3 dataset, using a vocabulary consisting only of words that appear at least five times. As can be seen in Tab. 2, the output embedding is almost as good as the input embedding. As expected, the embedding of the tied model is not competitive. The situation is different when training the small NNLM model on either the Penn Treebank (Marcus et al., 1993) or text8 datasets (for PTB, we used the same train/validation/test set split and vocabulary as (Mikolov et al., 2011), while on text8 we used the split/vocabulary from (Mikolov et al., 2014)). These results are presented in Tab. 3. In this case, the input embedding is far inferior to the output embedding. The tied embedding is comparable to the output embedding.
A natural question given these results and the analysis in Sec. 3 is whether the word embedding in the weight tied NNLM model is more similar to the input embedding or to the output embedding of the original model. We, therefore, run the following experiment: First, for each embedding, we compute the cosine distances between each pair of words. We then compute Spearman's rank correlation between these vectors of distances. As can be seen in Tab. 4, the results are consistent with 3 http://mattmahoney.net/dc/textdata   our analysis and the results of Tab. 2 and Tab. 3: for word2vec the input and output embeddings are similar to each other and differ from the tied embedding; for the NNLM models, the output embedding and the tied embeddings are similar, the input embedding is somewhat similar to the tied embedding, and differs considerably from the output embedding.

Neural Network Language Models
We next study the effect of tying the embeddings on the perplexity obtained by the NNLM models. Following (Zaremba et al., 2014), we study two NNLMs. The two models differ mostly in the size of the LSTM layers. In the small model, both LSTM layers contain 200 units and in the large model, both contain 1500 units. In addition, the large model uses three dropout layers, one placed right before the first LSTM layer, one between h 1 and h 2 and one right after h 2 . The dropout probability is 0.65. For both the small and large models, we use the same hyperparameters (i.e. weight initialization, learning rate schedule, batch size) as in (Zaremba et al., 2014). In addition to training our models on PTB and text8, following (Miyamoto and Cho, 2016), we also compare the performance of the NNLMs on the BBC (Greene and Cunningham, 2006) and IMDB (Maas et al., 2011) datasets, each of which we process and split into a train/validation/test  Table 6: Word level perplexity on PTB and size for models that do not use dropout. The compared models are: KN 5-gram (Mikolov et al., 2011), RNN (Mikolov et al., 2011), LSTM (Graves, 2013), Stack / Deep RNN (Pascanu et al., 2013), FOFE-FNN (Zhang et al., 2015), Noisy LSTM (Gülçehre et al., 2016), and the small model from (Zaremba et al., 2014). The last three models are our models, which extend the small model. PR -projection regularization.
Model Small S + WT S + PR S + WT + PR  split (we use the same vocabularies as (Miyamoto and Cho, 2016)).
In the first experiment, which was conducted on the PTB dataset, we compare the perplexity obtained by the large NNLM model and our version in which the input and output embeddings are tied. As can be seen in Tab. 5, weight tying significantly reduces perplexity on both the validation set and the test set, but not on the training set. This indicates less overfitting, as expected due to the reduction in the number of parameters. Recently, (Gal and Ghahramani, 2016), proposed a modified model that uses Bayesian dropout and weight decay. They obtained improved performance. When the embeddings of this model are tied, a similar amount of improvement is gained. We tried this with and without weight decay and got similar results in both cases, with slight improvement in the latter model. Finally, by replacing the LSTM with a recurrent highway network (Zilly et al., 2016), state of the art results are achieved when applying weight tying. The contri-  bution of WT is also significant in this model.
Perplexity results are often reported separately for models with and without dropout. In Tab. 6, we report the results of the small NNLM model, that does not utilize dropout, on PTB. As can be seen, both WT and projection regularization (PR) improve the results. When combining both methods together, state of the art results are obtained. An analog table for text8, IMDB and BBC is Tab. 7, which shows a significant reduction in perplexity across these datasets when both PR and WT are used. PR does not help the large models, which employ dropout for regularization.

Neural Machine Translation
Finally, we study the impact of weight tying in attention based NMT models, using the DL4MT 4 implementation. We train our EN→FR models on the parallel corpora provided by ACL WMT 2014. We use the data as processed by  using the data selection method of (Axelrod et al., 2011). For EN→DE we train on data from the translation task of WMT 2015, validate on newstest2013 and test on newstest2014 and new-stest2015. Following (Sennrich et al., 2016b) we learn the BPE segmentation on the union of the vocabularies that we are translating from and to (we use BPE with 89500 merge operations). All models were trained using Adadelta (Zeiler, 2012) for 300K updates, have a hidden layer size of 1000 and all embedding layers are of size 500.
Tab. 8 shows that even though the weight tied models have about 28% fewer parameters than the baseline models, their performance is similar. This is also the case for the three-way weight tied models, even though they have about 52% fewer parameters than their untied counterparts.