Saturated Transformers are Constant-Depth Threshold Circuits
William Merrill, Ashish Sabharwal, Noah A. Smith
Introduction
Opening the “black box” (Alishahi et al., 2020) of the representations within neural networks is an important step towards building systems with robust and interpretable behavior. In NLP, one part of this question is analyzing the languages networks can model, and the mechanisms they use to represent linguistic structure and dependencies.
One path toward this goal is via formal analysis of specific network architectures (Merrill, 2021); for example, recurrent neural networks (RNNs). Due to their autoregressive formulation, formal linguistic analysis of RNNs has often characterized their power by relating them to automata-theoretic classes of formal languages (Weiss et al., 2018; Peng et al., 2018; Merrill, 2019, inter alia). Recently, however, RNNs have largely been overtaken in NLP by a new class of models: transformers (Vaswani et al., 2017). Transformers are not autoregressive, and therefore less naturally resemble automata, posing challenges to characterizing their linguistic capacity or inductive biases in the same terms as RNNs. Instead, some recent work has related them to circuit complexity classes, a direction that we continue to pursue in this paper. Drawing on classical circuit lower bound results, Hao et al. (2022) and Hahn (2020) derive theoretical limitations of transformers with hard attention, meaning the attention distributions focus all probability mass on one index. Together, their results show that —the class of languages recognizable by constant-depth circuit families—upper bounds the formal languages hard-attention transformers can recognize.
However, hard attention is a strong assumption, making it unclear how these results transfer to practical transformers. For example, Bhattamishra et al. (2020) showed how transformers can solve synthetic counting tasks by using uniform attention patterns, which hard attention does not allow. Motivated by this potential disconnect between theory and practice, we aim to extend circuit-based analysis to transformers with saturated attention: a generalization of hard attention that has been argued to approximate attention patterns acquired through gradient descent (Merrill et al., 2021). Broadly speaking, saturated attention goes beyond hard attention in that it can “tie” across a subset of positions, rather than selecting just one position. The tied positions are then aggregated by averaging. Qualitatively, saturated attention heads can “count”: a capability observed in transformers in practice (Bhattamishra et al., 2020). Further, Merrill et al. (2021) show that transformer training dynamics lead attention heads in several pretrained transformers to approximate saturated attention. In summary, saturated attention strictly generalizes hard attention and should more closely reflect the attention patterns acquired in practical transformers.
Our main contributions are twofold. First, we show that saturated transformers can recognize languages outside . Then, as depicted in Table 1, we prove that transformers with floating point activations and saturated attention can only recognize formal languages in the circuit complexity class , constituting an upper bound for a more realistic model of transformers than past results with hard attention.
Roadmap
In § 3, we formally define our model of the transformer, including defining saturated attention in contrast to hard attention. § 4 introduces circuits in theoretical computer science and relevant complexity measures and classes for them.
In § 5, we first briefly analyze saturated transformers with rational values where the embedding, scoring, and activation functions are allowed to be any size-preserving function. We find such transformers to be universally powerful. We also observe that when the positional embeddings are computed in time linear in the sequence length, saturated rational-valued transformers are exactly as powerful as the complexity class of their activation functions, because the full input sequence can be pooled to a single position, and an activation function can be used as an oracle over the full input sequence. However, this setup relies on the use of unrealistic embedding functions. To move to a more realistic model of computation, we then focus on saturated transformers whose values are restricted to be floats, which have a coarser granularity and, thus, cannot encode the full input sequence into a single position.
Building on results of Pérez et al. (2019), we demonstrate in § 6 that saturated transformers with float activations transcend the theoretical limitations of hard-attention transformers. In particular, we will show that they can recognize the majority language, which lies outside . We experimentally validate that transformers can learn to recognize the majority language. Taken together, these results suggest that the very weak characterization of hard-attention transformers does not hold in practice for saturated or soft attention.
Finally, in § 8, we use the bounded size of transformer representations to upper bound that formal languages that can be recognized by a saturated transformers with floating-point values. In particular we show that they can be simulated by constant-depth threshold circuits, i.e., fall in . Informally, this suggests that moving from hard attention to saturated attention can be thought of as extending the implicit class of circuit gates available in the network to include threshold gates.
Our results make progress in the analysis of transformers by deriving upper bounds for a more realistic model of transformers than has previously been analyzed. RoBERTa, T5, and other pretrained transformers have been shown to be approximately saturated (Merrill et al., 2021), so our results imply may be a meaningful upper bound on the computation expressible within such networks. Our analysis also motivates future work further refining the characterization of saturated transformers, as well as comparing transformers with soft and saturated attention.
Definitions and Notation
We will often use to refer to a string over any generic alphabet , i.e., . Semantically, corresponds to the string a transformer receives as input. In contrast, we use and other symbols to refer to binary strings in . These binary strings will represent intermediate values within the transformer computation, rather than the raw input to the transformer.
Under our model, all values in the transformer are binary strings. In order to compute self attention and other operations over binary strings, we need to define datatypes describing the semantics of these binary strings as numbers. We will describe a semantics for binary strings as integers, as often comes up in circuit complexity. We then extend this to rational numbers and floats, which are necessary for representing the division operations that occur in attention heads within transformers.
We can interpret binary strings as unsigned integers in the standard way, i.e., the numerical value of is
Rationals
To interpret as a rational number, we first view it as a sign bit along with a tuple of two unsigned integer substrings .Under the hood, we imagine the pair is encoded by padding and to the same length with ’s and interweaving bits from each. The numerical value represented by is
Floats
Size of Binary Strings
Under our model, integers, rationals, and floats are all abstractions built out of binary strings. For any (which can be interpreted semantically as an integer, float, or rational), we define its size as the total length of measured in bits. We imagine a tuple is encoded by padding to the same length with leading ’s, and interleaving bits from each sequence. This means the size of a rational is . For example, the integer takes bits to specify, while the float takes bits ( for the sign, for the numerator, for the denominator).
Size Preservation
We say that a function is size-preserving iff there exist constants such that for all inputs with , . Let be the set of size-preserving functions. While size-preserving functions are defined here over binary strings, they can be equivalently applied over integers, rationals, and floats, since these datatypes, as we have defined them, are just binary strings.
2 Transformers
We define the following general transformer model, which can be parameterized to use different types of attention patterns and whose internal functions (e.g., feedforward blocks) can be computed by different function classes.
is a finite input alphabet, i.e., the set of token types in a formal language.
Embedding Layer: .
3 Attention Functions
Hard attention collapses the attention scores to a one-hot distribution with all mass concentrated at one index. Let .
In contrast, saturated attention spreads probability mass evenly across “tied” scores.
Merrill (2019) shows how this form of attention can be derived by taking a large-norm limit of the network weights; a derivation can be found there. Saturated attention reduces to hard attention when , and attends uniformly when . Both hard and uniform attention can be implemented with numerical stability, motivating weak saturated (or, “uniform”) attention:
Each head implements either hard attention (Def. 2) or the uniform pattern .
In general, we will use “saturated attention” to refer to strong saturated attention and provide upper bounds for this setting. On the other hand, our lower bounds only use weak saturated attention, thereby showing that even weak saturated attention is more powerful than hard attention.
4 Language Recognition
Finally, we define language recognition for transformers.
This says the decision problem of recognizing must be linearly separable using the first value in the last layer of the transformer. In practice, the first token in a transformer is often set to CLS, and its output can be passed to a classifier during finetuning (Devlin et al., 2019). This inspires Def. 5. There are other potential ways to define language recognition and generation for transformers (Hewitt et al., 2020; Yao et al., 2021), but they do not lead to meaningful differences for our purposes.
We note that size preservation is a weak condition to assume about the internal functions in practical transformers: since any linear-time-computable function is size-preserving, it is strictly weaker than assuming the internal functions can be computed in linear time. To further justify this condition, we explicitly show in § B that the component functions within transformers are size-preserving.
Circuit Complexity
Circuit complexity is a branch of computational complexity theory that studies circuit families as a model of computation.For more reference material on circuit complexity, we refer the reader to chapters 6 and 14 of Arora and Barak (2009) or chapters 1 and 2 of the Handbook of Theoretical Computer Science, Volume A (van Emde Boas, 1991; Johnson, 1991). Intuitively, circuits are useful for formally studying the types of computational problems that can be efficiently solved with parallelism, as the depth of a circuit corresponds to the runtime of a program on an idealized, fully parallel computer. We review background on circuits, circuit families, and relevant complexity measures and classes.
For a fixed , a circuit is a computation graph, where leaves correspond to input bits and their negations , and the internal nodes are logic gates (typically and ), with one labeled as the output node. The gates can conventionally be taken to have either binary or unbounded fan-in. The circuit computes a function by substituting the input values into the leaf nodes, propagating the computation through the graph, and returning the value of the output node. Fig. 1 shows an example circuit that takes inputs of length , and returns whether they contain the bigram .
Circuit Families
Circuit Complexity
Two important notions of complexity for a circuit are its size and depth. The size of a circuit is the number of gates. The depth is the longest path from an input node to the output node. For a circuit family, both quantities can be expressed as functions of the input size . A circuit complexity class is a set of formal languages that can be recognized by circuit families of a certain size, depth, and set of gates. In particular, we will discuss the classes and .
Intuitively, represents the class of problems that are highly parallelizable when the computational primitives are standard logic gates. In contrast, will also represent highly parallelizable computation, but when the gates are expanded to include threshold gates. For a bitstring , define the threshold gate to return iff bits in are , and equivalently for . For example, .
Uniformity
The circuit classes defined above (and which we will use in this paper) are non-uniform, meaning circuits for different input sizes are not constrained to have any relation to each other. Non-uniform circuit families can recognize some uncomputable languages, such as the language of strings such that Turing machine does not halt on the null input (cf. Arora and Barak, 2009). In contrast, the uniform variants of circuit families are constrained such that a log-space Turing machine must output a string encoding of circuit on the input string , forcing any language the circuit family can recognize to be computable. For these uniform classes (which we write with a u prefix), it is known that
where and denote the conventional complexity classes of log-space and polynomial-time decision problems. Thus, it is unknown whether is restricted compared to general polynomial-time computation, but if we accept the common conjecture that one (if not all) of the above containments are strict, then forms a restricted family of problems compared to , which, intuitively, are more parallelizable than other problems in .
Aren’t Transformers Universal?
We now begin our analysis of saturated transformers. Hao et al. (2022) and Hahn (2020) were able to give upper bounds on the power of hard attention without imposing any constraints on the embedding, scoring, and activation functions. The same will not be the case with saturated attention: any bounds on transformers will require leveraging some properties constraining their internal functions. One property we use will be size preservation. We will first show though that size preservation is not enough on its own: deriving a nontrivial upper bound will depend on subtle assumptions about the transformer’s datatype.
With rational values and size-preserving internal functions, we will show saturated transformers can recognize any formal language, i.e., the class . Our construction resembles the universal approximation construction of Yun et al. (2020), which relies on the ability of the transformer to uniquely encode the full input string into a single value vector. After the full sequence is encoded locally into a single vector, the activation block can be used as a black box to recognize any language.
Since for large by the prime number theorem (cf. Goldstein, 1973), the number of bits needed to represent is
Since had size , this implies is size-preserving.
Now, we define a single uniform attention head that sums across all , outputting . The denominator of this sum is the product . Observe that if and only if divides . Thus, we can define a function that extracts the input sequence from by checking whether, for each , divides . We let be a function recognizing , and set . The output of the transformer will now compute whether , since outputs an encoding of the original input sequence , and decides whether . Note that any function solving a decision problem is size-preserving, hence . ∎
Thm. 1 says that our transformer architecture parameterized with a rational datatype can recognize any formal language. But a construction of this form feels unrealistic for two reasons. First, it requires the embedding layer to implement an unconventional prime encoding scheme in the embedding layer. Second, we are using the activation layer as a black box to recognize any language—even uncomputable ones! On the other hand, the feedforward subnetworks used in practice in transformers cannot even implement all computable functions when the weights are fixed independent of the sequence length . We can get around both these issues by instead restricting the datatype to floats, which is the direction we will pursue in the remaining sections.It may also be possible to derive tighter bounds for rational-valued transformers by imposing stronger constraints on the internal functions. However, with floats, we will see that size preservation is sufficient to derive a tighter characterization of transformers’ power. We leave this alternate direction to future work.
In § C, we develop an alternate perspective on the universality of transformers, showing that, if the embedding function is allowed to be computed in time linear in the sequence length, then the transformer’s complexity is equivalent to its activation functions’ complexity.
If can be any function computable in time linear in , and the scoring and activation functions can be computed in time on inputs of size with , then languages recognizable by the transformer are .
§ C contains a formal statement and proof. For example, allowing polynomial-time functions inside the transformer implies that the transformer will recognize exactly the complexity class . A major unrealism about this setup is the assumption that can be an arbitrary function computable in time linear in , motivating our main results in a more constrained setting in § 8.
2 Discussion
We are not stating the results in this section as evidence that practical transformers are capable of universal or arbitrary polynomial computation. Rather, the unnaturalness of these constructions (specifically, the prime numbers based position encoding) motivates us to slightly constrain our model of the transformer in a realistic way: we will switch the datatype from rationals to floats, since even using only simple uniform attention, a model with rationals and unconstrained internal functions is universal. We will soon see that this realistic constraint prevents universal simulation, and in fact bounds the capacity of the saturated transformer within .
Beyond Hard Attention, with Floats
We now move to the setting of saturated transformers over floats. Hao et al. (2022) identified that hard-attention transformers can only recognize languages within . In contrast, saturated transformers over floats can recognize the “majority” language maj, which is known to lie outside (Furst et al., 1981). Pérez et al. (2019, Prop. 3.3) show how maj can be recognized by transformers. In Thm. 3, we offer a simpler construction that leverages only a single uniform attention head, as opposed to the model of transformers they were considering. Thus, this construction is achievable with saturated attention.
Let be a -hot encoding of . For all , set , resulting in a single head attending everywhere:
Finally, set to return whether , which, for , is true iff . ∎
Notably, the construction in Thm. 3 is not just possible within our generalized transformer framework, but can also be implemented by the standard parameterization of , and in real transformers (Vaswani et al., 2017). The uniform attention pattern can be implemented by setting all query and key attention parameters to . Then, we can use the affine transformation that aggregates the head outputs to compute the tuple:
This tuple is then passed through layer normalization (Ba et al., 2016), resulting in a new tuple . Crucially, if and only if the same applies to the quantities in the original tuple. Thus, a linear classifier can decide whether to successfully recognize the language, as per Def. 5.
In Fig. 3, we show empirically that a -layer transformer can learn and generalize maj. This supports our argument that the theoretical limitations of hard-attention transformers do not apply to practical transformers. We train with three different types of positional encoding: none, meaning no positional information; learned, where each position gets a trainable embedding vector, and the sinusoidal scheme of Vaswani et al. (2017). The model with no positional embeddings generalizes the best, followed by the learned embeddings. It appears that while maj is in the capacity of the transformer, the standard sinusoidal positional embedding scheme provides the wrong inductive bias for learning it. This recalls the finding of Yao et al. (2021) that the choice of positional encodings seems to greatly impact the transformer’s ability to generalize formal language tasks to longer sequences.
Size of Transformer Values
Let be a sequence of floats, each with size at most . Then there exists such that has size at most .
which, represented as an integer, has size:
2 Size of Transformer Values
We will now leverage Lem. 1 to show that the values are of bounded size in any transformer over floats with an elementwise-size-preserving attention function.
Note that saturated attention satisfies this definition. We are ready to prove a theorem bounding the size of the representations in transformers with elementwise-size-preserving attention.
Inductive Case
Cor. 4.1 follows because saturated attention is elementwise-size-preserving. Softmax attention, on the other hand, is not guaranteed to fulfill this property, since it requires computing the exponential function. This technical challenge prevents generalizing our technique to soft attention.
3 Discussion
Threshold Circuit Simulation
Any function can be computed by a boolean circuit of depth and size at most .
So that our results are self-contained, we reproduce a proof of this lemma in § D. Applying Lem. 2 to a size-preserving function with at most input bits immediately yields:
Any size-preserving function with at most input bits can be computed by a boolean circuit of depth and polynomial size.
In other words, such functions can be computed with circuits. In addition, we will show that the sum of floats of size at most can be computed by circuits.
Let be a sequence of floats, each with size at most for some . Then the sum is computable by a threshold circuit of constant depth and polynomial size.
We now construct a circuit that simulates a saturated transformer over floats.
For each , we construct a circuit that simulates a saturated transformer on inputs of size . We construct the circuit modularly, with one subcircuit for the attention mechanism, and another for the feedforward subnetwork.
Feedforward
We have simulated each transformer component with a subcircuit, completing the proof. ∎
1 Discussion
Recall that, over rationals, we found that size-preserving saturated transformers could recognize any language. In contrast, we have now shown that using floating-point representations places such transformers within . In this paper, we have only considered non-uniform and , as opposed to the uniform variants of these classes, which are more closely connected to familiar formal language classes like the regular and context-free languages (cf. Cojocaru, 2016; Mahajan, 2007). As transformers satisfy some intuitive notion of uniformity, an open question is whether saturated transformers also fall into uniform .
Conclusion
Compared to hard attention, saturated attention adds theoretical power to transformers. We showed that saturated attention lets transformers recognize languages outside , which is the upper bound with hard attention. Further, while saturated transformers with rational values and size-preserving internal functions can recognize any language, we characterize the limits of size-preserving saturated transformers with floats. Specifically, saturated transformers with float values fall in , a more powerful circuit class than . Thus, going from hard to saturated attention can be understood as augmenting the model with threshold gates. This illustrates one way that the circuit complexity paradigm characterizes the power of transformers. Going forward, there are many interesting open questions that circuit analysis can answer, such as comparing the power of saturated and soft attention, and refining existing upper bounds for transformers in terms of uniform circuit families.
Acknowledgments
Thanks to Yiding Hao, Dana Angluin, and Robert Frank for sharing an early draft of their work. We also appreciate helpful feedback from Dana Angluin, Matt Gardner, Yoav Goldberg, Michael Hahn, Kyle Richardson, and Roy Schwartz.
Appendix A Float Division
Let be truncated division between integers. We divide a float by an integer by defining an approximate multiplicative inverse . The numerator is and the denominator is . For division by a float , we simply apply the integer approach and then multiply by . This yields numerator and denominator .
The fact that float division is defined in terms of integer multiplication and division implies it is size-preserving and can be simulated in , which we use in § 8.
Appendix B Justifying Size Preservation
Division can be analyzed in terms of the approximate multiplicative inverse (§ A).The exact multiplicative inverse over unconstrained rationals is also size-preserving. Thus, neural networks are size preserving over both floats and rationals. Its numerator has size for large enough input size. The denominator has size for large enough input size.
Size preservation is trivially satisfied for ReLU, which cannot expand the size of the input.
To make layer norm work, we just need to analyze square root, which we will define in a truncated fashion over integers. The square root of a rational, then, simple takes the square root of and . We have that and analogously for .
Appendix C Resource-Bounded Transformers
Each of these components is computable in time linear in . Define three heads , , . Without loss of generality, consider to act on alone, rather than the full embeding vector. is defined as a uniform head, while and are computed with . Thus,
Appendix D Proof from Hao et al. (2022)
The proof for Lem. 2 largely follows the proof of a core lemma of Hao et al. (2022). We reproduce a slightly adapted version of their proof here, since their manuscript is not yet publicly available, and we wish for our paper to be self-contained.
Any function can be computed by a boolean circuit of depth and size at most .
The idea of the proof is to define subcircuits of size at most that compute the output bits of in parallel. We will build a circuit that computes each output bit of according to its representation in disjunctive normal form (DNF). We define a first layer of the circuit that computes the negation of each input, which takes gates. The second layer then computes the value of each DNF term by computing a conjunction ( gate) over the corresponding literals or negated literals. Note that a formula of variables has at most DNF terms. Finally, the third layer of the circuit computes a disjunction ( gate) over the values of all terms, yielding the output of , and adding a single gate. In summary, we have shown how to compute each output bit with a circuit of size at most , which implies the full function can be computed by a circuit of size at most . ∎