Neural Language Models: From Bengio's NPLM to Recurrent Networks
Replace counts with coordinates: a softmax over learned embeddings smooths by geometry, backpropagation is one reverse sweep of the chain rule, and a recurrent state lifts the trigram's horizon — as far as products of Jacobians let gradients reach
Overview & Motivation
Take one held-out sentence from the finance corpus: cedar ridge bancorp owns brackenbury lending outright. Interpolated Kneser–Ney, the best smoother of the n-gram topic, spends bits on the sentence. For three of them, the pair each forms with the word before it never occurred in training, so Kneser–Ney can only back off to shorter contexts and hope. A small neural network that sees exactly the same two-word context spends bits. It has never seen those word pairs either. What it has is a position for every context in a learned space, and contexts near this one have told it what tends to come next.
This topic is about that move: from counts to coordinates. We build two neural language models from scratch, Bengio’s neural probabilistic language model (NPLM) and an Elman recurrent network, train them on the n-gram topic’s training tokens, and prove what each piece does.
- Smoothing by geometry. The NPLM’s log-probabilities are Lipschitz in the context’s coordinates, so an unseen context is predicted like the seen contexts near it.
- Training is maximum likelihood. The softmax is the categorical exponential family. At every stationary point the model’s average prediction equals the training frequencies, which has a sharp consequence: a word never seen as a target has no maximum-likelihood fit at all.
- Backpropagation is reverse accumulation. One backward sweep over a computational graph gives every partial derivative at about twice the cost of the forward pass.
- Recurrence and its limits. A recurrent state carries the whole sentence instead of two words. Its gradients through time are products of Jacobians, which we bound; on the trained network the bound is vacuous and the gradients still fade.
The perplexity topic made two promises about this one: neural models would be trained by minimizing its cross-entropy, and they would be compared in a unit that does not depend on their tokenizer. So every comparison here is an exact arithmetic code in bits per character, with unknown words spelled out under one speller for all models. The finance case study then takes the networks to public EDGAR filings, where adapting to the text being coded matters more than anything learned in training.
From counts to coordinates
Kneser–Ney treats a context as an atom. Two contexts share information only when one is a suffix of the other, through backoff. The NPLM instead places every context at a point, and lets nearness mean what the data says it means.
Notation follows the earlier topics. A sentence is padded with two <s> symbols in front, and every word and the final </s> is a predicted token. is the n-gram topic’s vocabulary, , and an out-of-vocabulary word counts as <unk>. The held-out text has sentences, predicted tokens, and characters. Logarithms are natural unless written .
Definition 1 (Neural probabilistic language model).
An embedding table has one row for each word, plus one for <s>. A context is the point , the two embeddings stacked. The model computes
with row vectors throughout, , and . Here and , for parameters (Bengio et al. 2003, without their direct input-to-output connections).
Proposition 1 (Positive and proper).
Every word has positive probability in every context, and each sums to one.
The exponential is positive and the softmax divides by the total, so this is immediate. It means the n-gram topic’s zero-count problem cannot occur. Corollary 1 below shows why positivity is not yet the same thing as smoothing.
Theorem 1 (Smoothing by geometry).
For all context points and every word ,
where is the Euclidean norm of a vector and the spectral norm of a matrix.
Proof.
Let . Its derivative with respect to is , where is the indicator vector of . By the chain rule, in column form,
The entries of lie in , so its norm is at most one. For the last factor, . Hence everywhere. Apply the mean value theorem (formalCalculus, Mean Value Theorem & Taylor) to on : for a point on the segment, and the Cauchy–Schwarz inequality finishes.
∎A context never seen in training is predicted like the seen contexts near it, and “near” is learned from every context at once: an embedding row moves whenever its word occurs anywhere (Corollary 2). For the trained NPLM the constant is , a worst case. Over about random pairs of distinct held-out contexts, the largest change in any word’s log-probability divided by the bound has median and maximum . The theorem holds with room to spare, and the room is the point: the constant certifies continuity, not how smooth the learned map actually is.
Where does geometry pay? Split the held-out tokens by what training saw:
| held-out tokens | count | Kneser–Ney | NPLM | Elman RNN |
|---|---|---|---|---|
| bigram never seen in training | ||||
| bigram seen, trigram not | ||||
| trigram seen |
The entries are nats per token. With the same two-word context as Kneser–Ney, the NPLM is nats better where the counts are absent and worse where they exist. Counts are the better estimate when you have them, and coordinates when you do not. The recurrent network of a later section wins on every row, because it sees more than two words.
Training is maximum likelihood
The NPLM is trained by minimizing its cross-entropy on the training text. By the perplexity topic’s Corollary 1 that is maximum likelihood under a strictly proper score. Here we look inside the objective, starting with its last layer.
Proposition 2 (The softmax is the categorical exponential family).
Let and . Then
the covariance of the indicator vector when . This matrix is positive semidefinite, its null space is spanned by the all-ones vector , and its rank is for classes. Consequently the loss is convex in , with gradient .
Proof.
Differentiating, , which is the stated matrix. For any vector , . The variance is zero exactly when is constant with probability one, which, since every , means is a multiple of . The gradient of is .
∎This is the general fact that a log-partition function’s gradient is the mean and its Hessian is the covariance (formalStatistics, Exponential Families, Theorem 7.1), for the categorical family. The geometry is worth a sentence: the gradient is the arrow from the observed vertex of the probability simplex to the model’s prediction, and descent moves the prediction toward the vertex.
Theorem 2 (Score identity and moment matching).
Fix features , for instance a network’s last hidden layer, with targets . Let and . Then
and is convex in . At any stationary point,
the model’s average predicted distribution equals the empirical distribution of the targets, feature by feature. The first identity holds at every stationary point of a whole network, since the output bias is among its parameters.
Proof.
The logits are affine in , so the chain rule and Proposition 2 give both gradients. A convex function composed with an affine map is convex. At a stationary point both gradients vanish, and the two identities are those equations rearranged.
∎This is formalStatistics’ canonical-link score identity (Generalized Linear Models, Theorem 1) for classes, the multinomial case that page defers. Its first identity has a consequence that matters for every language model.
Corollary 1 (A never-seen target has no maximum-likelihood fit).
If a word never occurs as a target, then at every parameter value
So has no stationary point, gradient descent lowers at every step, and the infimum of is approached only as .
Proof.
The -th coordinate of in Theorem 2 has no term, because no target is , and each by Proposition 1. A function with a nonzero gradient everywhere has no stationary point, and each descent step changes by a negative multiple of a positive number.
∎The n-gram topic’s zero-count problem returns, one level up. The softmax is positive, but fitting it by maximum likelihood is not smoothing, and the training text has a word that never occurs as a target: <unk>. Trained for one epoch on the raw text (the networks below train for up to four), the NPLM’s average probability for <unk> on held-out contexts is , below the uniform . Each held-out unknown word then costs nats. On the EDGAR excerpts, where of tokens are unknown, the network scores nats per token, worse than a uniform guess at .
The cure is the n-gram topic’s Good–Turing logic: words seen once stand in for words not seen at all. In every epoch, each training token of a word seen once becomes <unk> with probability , in the context and as a target alike. This is word dropout (Kiperwasser and Goldberg 2016), and Theorem 2 predicts its effect. Expected over the dropout, of the targets are <unk>. The trained NPLM’s average probability for <unk> over the training contexts is , against in one draw. Each held-out unknown word now costs nats, and on EDGAR the network beats the uniform guess ( nats per token). That comparison is not matched in training length: this network trains for four epochs and the raw one for one. The matched comparison tells the same story: after its first epoch, the dropout network scores nats per token on EDGAR, against the raw network’s . Every network below is trained this way.
Proposition 3 (The network is not convex).
The NPLM’s training loss is not a convex function of its parameters.
Proof.
Relabeling the hidden units, by permuting the columns of and the entries of and the rows of the same way, leaves the network’s function unchanged, so the loss is unchanged: . If were convex, its value at the midpoint would satisfy . For the trained NPLM, with reversing the order of the hidden units, on the first training events (one draw of the word dropout below), nats while the midpoint scores .
∎So the convergence rates of formalML’s Gradient Descent, which assume convexity, do not apply. Every network on this page is trained by Adam (Kingma and Ba 2015) from one random start, and nothing certifies that the result is a global optimum. Training stops at the epoch with the lowest loss on a separate dev text: a fresh -sentence run of the corpus generator, which also chooses the other tuned quantities below. The held-out text tunes nothing.
Backpropagation is reverse accumulation
Training needs the gradient of the loss with respect to parameters, at every step. Computing each partial derivative separately would cost a forward pass per parameter. Reverse accumulation gets all of them at once.
Definition 2 (Computational graph and adjoint).
A computational graph lists nodes in topological order. Each non-input node is for a differentiable primitive of its parents, and is a scalar. Let be computed by running the graph from node on. The adjoint of is : the derivative of the output with the earlier nodes held fixed and the later ones recomputed.
Theorem 3 (Reverse accumulation).
- The adjoints satisfy and, for ,
so one sweep in reverse topological order computes every adjoint. 2. If each primitive’s vector–Jacobian products, one per parent, cost at most times evaluating the primitive, the sweep costs at most times the forward pass, plus one addition per edge and coordinate. For a matrix product , the products and each cost exactly as many multiply–adds as , so .
Proof.
(1) By construction . The multivariate chain rule (formalCalculus, The Jacobian & Multivariate Chain Rule, Theorem 2) gives, for every ,
where the last term is zero unless is a parent of . The sweep keeps one accumulator per node, starts with and zeros elsewhere, and on reaching node adds to each parent’s accumulator, which is this equation. By induction on the number of nodes processed, once nodes are done, the accumulator of every remaining node , , holds . This holds at the start, since , and processing node turns each into by the equation above (non-parents gain zero). In particular the accumulator of holds , and it is final because no unprocessed node depends on . (2) Each node’s products are formed once and each edge’s contribution is added once.
∎Reverse mode goes back to Linnainmaa (1976), the cost bound to Baur and Strassen (1983), and its use in networks to Rumelhart, Hinton, and Williams (1986); Griewank and Walther (2008) treat it in general. A node with several children sums their contributions, which is where the graph’s fan-out shows up: a word’s embedding that appears in two positions of a context gets the sum of both positions’ gradients.
Remark (Checking a gradient exactly: the complex step).
A hand-written gradient needs a reference. Finite differences subtract two nearly equal numbers and lose half their digits. For a real-analytic function, , so is the derivative with no subtraction at all (Squire and Trapp 1998). With it is exact to rounding. Every hand-written gradient on this page, the NPLM’s, the recurrent network’s, and the long-lag Elman and LSTM networks’ below, is checked against it on random instances, with central differences as a second check. The companion notebook runs Theorem 3 itself on random graphs, of them with fan-out (matrix products, , products and sums of vectors, log-sum-exp), and every input’s adjoint matches its complex-step derivative to .
Corollary 2 (The NPLM's gradient).
For one event with target , write . Reverse accumulation through Definition 1 gives
and the embedding row of each context word receives its slice of . Rows of words absent from a batch receive nothing.
So a word’s embedding moves whenever the word appears, in whatever context, by an amount that depends on what followed. That is the mechanism by which Theorem 1’s geometry is learned. Whether words used alike end up near each other is the subject of the later topic on word embeddings. We do not prove it here.
Recurrent networks and gradients through time
The NPLM sees two words, like the trigram it replaces. Take pellucid software based in dublin expanded its headcount clinicbase footprint. The last word is predictable from expanded its, four words back, and from nothing in its two-word context. The NPLM spends bits on the sentence. A recurrent network, whose state summarizes everything read so far, spends .
Definition 3 (Elman recurrent language model).
With and the embedding of the previous word (<s> first),
Here the embeddings have dimensions and the state , for parameters (Elman 1990; Mikolov et al. 2010). The state is reset at every sentence, so held-out sentences stay independent as the perplexity topic’s standard errors assume.
The state has no fixed horizon, and the model is not Markov of any order in the words. Does it still define a probability distribution over sentences, or could probability leak to sentences that never end?
Theorem 4 (A softmax recurrent model is tight).
Write for the column of belonging to word , and “eos” for the index of </s>. Let
Then the probability of ending, , is at least for every state with , and so for every state the network can reach. Consequently, for the length of a sentence sampled from the model, . The probabilities of all finite sentences sum to one, and every moment of is finite.
Proof.
By Hölder’s inequality, , and , which gives the first claim since keeps every coordinate in . The probability that none of the first tokens ends the sentence is . So , and .
∎A model with this property is called tight (Du et al. 2023). Unbounded states break the argument, and for recurrent networks with unbounded activations even deciding consistency is hard (Chen et al. 2018). Tightness is what lets the perplexity topic treat a model’s sentences as a sentence source with finite moments. For the trained network : positive, so the model is tight, but as a numerical tail bound useless. Sampled sentences end quickly anyway, and the smallest probability of ending along held-out sentences is far above .
Corollary 3 (Backpropagation through time).
Unroll the recurrence over a sentence and apply Theorem 3. With the gradient at the pre-activation of step and the gradient arriving at from the loss at step itself,
and likewise for , , and the embeddings: weights shared across steps receive the sum of their per-step gradients (Werbos 1990).
The gradient that reaches an early state from a late loss passes through every step in between, and each step multiplies it by a Jacobian.
Theorem 5 (Products of Jacobians).
For the recurrence of Definition 3,
with the factor for on the left, and therefore
- If , every contribution of a loss at step to the state at step shrinks at least geometrically in .
- Growth with is possible only if .
- Without the , , and with , the spectral radius. So linear gradients explode when and vanish when .
Proof.
The product is the chain rule applied to , whose Jacobian in is . The first inequality is submultiplicativity of the operator norm, and the second uses and . Statements 1 and 2 read the bound in each direction. For 3, an eigenvector gives , so . The limit is Gelfand’s formula (Horn and Johnson 2012, Corollary 5.6.14).
∎This is the vanishing- and exploding-gradient analysis of Bengio, Simard, and Frasconi (1994) and Pascanu, Mikolov, and Bengio (2013), whose gradient clipping we use during training. The theorem gives conditions on alone. The trained network satisfies none of the clean ones: and , so neither statement 1 nor the linear picture predicts anything. Worse for the bound, every one of its per-step factors along held-out sentences exceeds one, with a minimum of and a median of . Measured back from each sentence’s last state:
| lag | |||||||
|---|---|---|---|---|---|---|---|
| median | |||||||
| median bound from per-step norms |
The bound grows by a factor of about two per step and the measured norm falls. Saturation explains part of the gap ( of the units sit beyond , where is small), but not all of it, since every factor still has norm above one. The rest is alignment: the direction one factor stretches is not the direction the next one stretches, so the product shrinks while every factor expands. The measured norm peaks at lag , falls at every lag after that, and drops below one between lags and (, then ). No bound built from per-step norms can see this. In effect the recurrent state lifts the trigram’s two-word horizon, softly, to about a dozen words.
The long short-term memory network was designed to keep a gradient alive across many steps (Hochreiter and Schmidhuber 1997).
Definition 4 (LSTM).
Gates (sigmoids) and () are functions of , and
where is the cell and the forget gate (Gers, Schmidhuber, and Cummins 2000).
Proposition 4 (The cell path).
With and held fixed,
where every term of contains at least one factor , which is linear in the recurrent weights of the gates , , and . In particular, if those weights are zero, exactly: a product with no weight matrix in it.
Proof.
Treat the state as the pair and expand , by the chain rule, as a sum over paths through the one-step block Jacobians. No gate reads the cell, so , and the path that never leaves the cell contributes . Every other path enters the hidden state and must come back to the cell, since the output is , and the only block leading from the hidden state back to the cell is
which is linear in the three gates’ recurrent weights.
∎With no forget gate, as in the original LSTM, the cell path is the identity, Hochreiter and Schmidhuber’s “constant error carousel”. With one, the forget gate’s bias sets the cell path at initialization to about . A bias of one (Jozefowicz, Zaremba, and Sutskever 2015) gives across sixty steps, and a bias of three gives . To see what that decides, train three networks with hidden units to read a bit, read random noise symbols, and then report the bit:
| model | median gradient reaching the bit at initialization (12 starts) | accuracy after 600 training steps (one start) |
|---|---|---|
| Elman network | ||
| LSTM, forget bias | ||
| LSTM, forget bias |
In this run, only the network whose gradient reaches the bit learns to report it. The direction follows Proposition 4, and the scale does not: the measured ratio between the two LSTMs, about , is far smaller than the cell paths’ ratio of about , because the gradient also reaches the bit through the input gate and through paths that leave the cell. Each accuracy in the table comes from one training start. In an exploratory rerun from eight further starts per model, which the harness does not run, the bias-three network learned the task from seven, the bias-one network from none, and the Elman network from two. A gradient that reaches the bit at initialization makes learning likely, not certain, and a vanishing one makes it unlikely, not impossible. Choosing from the lag a task needs is the idea behind chrono initialization (Tallec and Ollivier 2018).
The softmax bottleneck
Arrange a model’s predictions as a matrix: one row per context, one column per word, entries . For interpolated Kneser–Ney over the most frequent training contexts, that matrix has rank . For the NPLM it has rank .
Theorem 6 (The softmax bottleneck).
Suppose a model’s logits are for a state . On any contexts, let stack the states, and let be the log-sum-exp of row of the logits. The log-probability matrix is
so . Consequently, a target matrix of log-probabilities can be represented exactly by such a model only if adding a suitable constant to each row of brings its rank down to at most , however the model is trained.
Proof.
has rank at most , and each of the two outer products has rank at most one. Adding back to row of removes the term and leaves , of rank at most . So if , the row-shifted matrix has rank at most .
∎For the NPLM , and its matrix has rank exactly , as does the recurrent network’s over held-out prefixes. A mixture of several softmaxes is not of this form, and Yang et al. (2018) proposed it for exactly this reason. Whether the true log-probability matrix of a language has high rank is their hypothesis, not a theorem. On our corpus the bottleneck is real in rank and small in energy: the best rank- approximation of Kneser–Ney’s row-centered matrix leaves only of its squared Frobenius norm (Eckart–Young, formalML’s Singular Value Decomposition). Frobenius distance between log-probabilities is not cross-entropy, so this does not bound what the bottleneck costs. A low-rank matrix of log-probabilities, or of association scores like pointwise mutual information, is also what word embeddings factorize, which is where the later topic on word2vec begins.
One sentence, four models; gradients through time
The laboratory puts the last four sections side by side. In panel A, pick a sentence: each token gets one bar per model, in bits, and the chip beside the word says what training saw. In the first sentence the networks win on the tokens whose word pair is new. In the second, the recurrent network wins on footprint, three words after expanded its. In the EDGAR sentence, an unknown word’s hatched spelling segment is the same for every model, and dynamic evaluation, which keeps learning on the text it is coding, takes over. Click a token, and panel B shows how strongly its loss depends on every earlier state of the trained network, against Theorem 5’s bound. Switch panel B to the synthetic view to vary the spectral norm of , with and without the .
Click a token to see, in panel B, how far back its loss reaches. Totals are closed-vocabulary bits; the second number is the spelling, which every model pays. On the whole held-out text, in bits per character: Interpolated KN 0.6371, NPLM 0.6001, Elman RNN 0.5545, RNN, dynamic evaluation 0.5158.
Every per-step factor exceeds 1, so the bound only grows going back. The measured gradient does not follow it: the factors' expanding directions do not line up, and the product shrinks or holds steady while the bound explodes.
Medians over 12 initializations; gold ticks mark the LSTM's cell path σ(b_f)^60 (Proposition 4). Only the network whose gradient reaches the bit learns to report it.
The honest comparison
Each model is scored the perplexity topic’s way: a ratio estimate over held-out sentences, with a sentence-level standard error, per token and in bits per character of an open-vocabulary code. An unknown word is coded as <unk> followed by its letters under the perplexity topic’s speller. All models share one vocabulary and one speller, so the spelling bits are identical across rows ( bits per character held out). The mixtures average a network’s prediction with Kneser–Ney’s, , with for the NPLM and for the recurrent network, chosen on dev.
| held out | nats per token (se) | perplexity | bits per character (se) | minus Kneser–Ney (paired se) |
|---|---|---|---|---|
| interpolated Kneser–Ney | () | () | — | |
| NPLM | () | () | () | |
| NPLM with Kneser–Ney | () | () | () | |
| Elman RNN | () | () | () | |
| Elman RNN with Kneser–Ney | () | () | () | |
| Elman RNN, dynamic evaluation | () | () | () |
Every network beats Kneser–Ney by more than twenty paired standard errors, and mixing in Kneser–Ney helps each a little. All models here share one tokenizer, vocabulary, and speller, so per-token perplexity and bits per character rank them identically; bits per character is the number that stays comparable when a later model tokenizes differently (the perplexity topic’s Theorem 5). The networks do it with more numbers: and parameters, against stored n-gram counts.
The last row is dynamic evaluation (Mikolov et al. 2010; Krause et al. 2018): after scoring each held-out sentence, take one gradient step on it, with a step size chosen on dev. It is an honest score because it is a code.
Proposition 5 (Dynamic evaluation is a code).
The arithmetic code of the perplexity topic’s Theorem 4 needs only a sequential model . If the model’s parameters are a deterministic function of the text already coded, it is such a model, and its codeword is within two bits of .
Proof.
The decoder, having decoded , can recompute the same parameters, so it can compute the same conditional and decode . The coding argument never used anything else about .
∎This is prequential coding (formalML, Minimum Description Length). Run exactly, the whole held-out text becomes one codeword of bits, within two bits of the model’s own of . That codeword is encoded and its length checked; the decoder’s replay of every update is checked on two others, the EDGAR text’s codeword and a separate codeword of the first held-out sentences, and decoding each reproduces its text exactly. The perplexity topic’s Kneser–Ney code of the same text was bits, so the recurrent network with dynamic evaluation writes a file shorter.
Finance case study: what adapts, and what cannot
Where this goes next
- Word embeddings. The NPLM’s embedding table is a by-product here. The word2vec topic makes it the product, and shows that its training objective factorizes a matrix of association scores, a low-rank matrix of the kind Theorem 6 is about.
- Attention. The recurrent state compresses the whole prefix into numbers, and Theorem 5 says how fast it forgets. Attention replaces the compression with a weighted lookup over every earlier position, and the attention topic reads that lookup as kernel smoothing.
- Scaling laws. Loss-versus-size curves are fit to exactly this cross-entropy. The unit matters there as it did here: bits per character survive a change of tokenizer, and nats per token do not.
- Decoding. A tight model can be sampled or searched for its most probable sentence; the beam-search topic asks how well that search does.
- Calibration. Theorem 2’s moment matching makes a trained model calibrated on average over its training data; the calibration topic asks whether it is calibrated event by event, and on text unlike its training data.
Honest caveats
Implementation
The companion notebook (notebookPath) imports neural_language_models.py, which owns every number on this page. It imports the perplexity topic’s speller and arithmetic coder, the n-gram topic’s smoothers and corpus, and the shared finance corpus, and trains both networks from scratch in NumPy on a laptop CPU. Running it as a script executes a harness of assertion-based tests in under a minute. The tests cover:
- Proposition 1 on random and trained networks, Theorem 1 on random networks and on the trained NPLM, and the event-class table.
- Proposition 2 and Theorem 2 on random softmax regressions, with complex-step Jacobians and L-BFGS stationary points; Corollary 1 by gradient descent and on the corpus, with and without word dropout; Proposition 3 on the trained network.
- Theorem 3 on random computational graphs, and the hand-written gradients of both networks and of the long-lag models, against complex-step derivatives and central differences.
- Theorem 4 on random networks with large and on the trained one; Theorem 5 on random and trained networks, including the linear case and Gelfand’s formula; Proposition 4 exactly and to first order; the long-lag task from one start per model.
- Theorem 6 on random instances, a mixture of softmaxes, and both trained networks; the comparison table; dynamic evaluation as an exact code, decoded back; and the finance case study.
The laboratory reads its data from a JSON file that one of those tests requires to equal the module’s viz_payload() exactly, so the figure cannot drift from the code.
References & Further Reading
- paper A Neural Probabilistic Language Model — Yoshua Bengio, Réjean Ducharme, Pascal Vincent, and Christian Jauvin (2003) Journal of Machine Learning Research 3: 1137–55. Definition 1
- paper Taylor Expansion of the Accumulated Rounding Error — Seppo Linnainmaa (1976) BIT Numerical Mathematics 16 (2): 146–60. Reverse-mode differentiation
- paper The Complexity of Partial Derivatives — Walter Baur and Volker Strassen (1983) Theoretical Computer Science 22 (3): 317–30. The cost of a gradient is a constant times the cost of the function
- paper Learning Representations by Back-Propagating Errors — David E. Rumelhart, Geoffrey E. Hinton, and Ronald J. Williams (1986) Nature 323 (6088): 533–36. Backpropagation in networks
- paper Finding Structure in Time — Jeffrey L. Elman (1990) Cognitive Science 14 (2): 179–211. The simple recurrent network, Definition 3
- paper Backpropagation Through Time: What It Does and How to Do It — Paul J. Werbos (1990) Proceedings of the IEEE 78 (10): 1550–60. Corollary 3
- paper A Cache-Based Natural Language Model for Speech Recognition — Roland Kuhn and Renato De Mori (1990) IEEE Transactions on Pattern Analysis and Machine Intelligence 12 (6): 570–83. Cache models
- paper Implementing the PPM Data Compression Scheme — Alistair Moffat (1990) IEEE Transactions on Communications 38 (11): 1917–21. The PPM-C escape used by the spelling cache
- paper Learning Long-Term Dependencies with Gradient Descent Is Difficult — Yoshua Bengio, Patrice Simard, and Paolo Frasconi (1994) IEEE Transactions on Neural Networks 5 (2): 157–66. Vanishing gradients, Theorem 5
- paper Long Short-Term Memory — Sepp Hochreiter and Jürgen Schmidhuber (1997) Neural Computation 9 (8): 1735–80. The LSTM and the constant error carousel
- paper Using Complex Variables to Estimate Derivatives of Real Functions — William Squire and George Trapp (1998) SIAM Review 40 (1): 110–12. The complex-step derivative
- paper Learning to Forget: Continual Prediction with LSTM — Felix A. Gers, Jürgen Schmidhuber, and Fred Cummins (2000) Neural Computation 12 (10): 2451–71. The forget gate
- book Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation — Andreas Griewank and Andrea Walther (2008) 2nd ed. SIAM. Reverse accumulation and its cost
- paper Recurrent Neural Network Based Language Model — Tomáš Mikolov, Martin Karafiát, Lukáš Burget, Jan Černocký, and Sanjeev Khudanpur (2010) Proceedings of Interspeech 2010, 1045–48. Recurrent language models and dynamic evaluation
- book Matrix Analysis — Roger A. Horn and Charles R. Johnson (2012) 2nd ed. Cambridge University Press. Gelfand's formula (Corollary 5.6.14)
- paper On the Difficulty of Training Recurrent Neural Networks — Razvan Pascanu, Tomas Mikolov, and Yoshua Bengio (2013) Proceedings of ICML 2013, PMLR 28 (3): 1310–18. Spectral conditions and gradient clipping
- paper Adam: A Method for Stochastic Optimization — Diederik P. Kingma and Jimmy Ba (2015) ICLR 2015. The optimizer used for every network here
- paper An Empirical Exploration of Recurrent Network Architectures — Rafal Jozefowicz, Wojciech Zaremba, and Ilya Sutskever (2015) Proceedings of ICML 2015, PMLR 37: 2342–50. A forget-gate bias of one
- book Deep Learning — Ian Goodfellow, Yoshua Bengio, and Aaron Courville (2016) MIT Press. Background on backpropagation and recurrent networks
- paper Simple and Accurate Dependency Parsing Using Bidirectional LSTM Feature Representations — Eliyahu Kiperwasser and Yoav Goldberg (2016) Transactions of the ACL 4: 313–27. Word dropout to the unknown-word symbol
- paper Recurrent Neural Networks as Weighted Language Recognizers — Yining Chen, Sorcha Gilroy, Andreas Maletti, Jonathan May, and Kevin Knight (2018) Proceedings of NAACL-HLT 2018, 2261–71. Consistency of recurrent models
- paper Dynamic Evaluation of Neural Sequence Models — Ben Krause, Emmanuel Kahembwe, Iain Murray, and Steve Renals (2018) Proceedings of ICML 2018, PMLR 80: 2766–75. Proposition 5
- paper Can Recurrent Neural Networks Warp Time? — Corentin Tallec and Yann Ollivier (2018) ICLR 2018. Chrono initialization of the forget bias
- paper Breaking the Softmax Bottleneck: A High-Rank RNN Language Model — Zhilin Yang, Zihang Dai, Ruslan Salakhutdinov, and William W. Cohen (2018) ICLR 2018. Theorem 6 and the mixture of softmaxes
- paper A Measure-Theoretic Characterization of Tight Language Models — Li Du, Lucas Torroba Hennigen, Tiago Pimentel, Clara Meister, Jason Eisner, and Ryan Cotterell (2023) Proceedings of ACL 2023, 9744–70. Tightness, Theorem 4