Cross-attention is the attention mechanism that connects two separate sequences, allowing one sequence to query and draw information from another — most commonly seen in encoder-decoder transformers, where a decoder uses cross-attention to ground its generation directly in the encoder's understanding of the input. While self-attention (covered in depth in previous topics) relates a sequence to itself, cross-attention relates one sequence to a completely different one.
Cross-attention was actually the original inspiration behind the entire attention mechanism, first developed to solve the fixed-size bottleneck problem in early sequence-to-sequence RNN models (as covered in the Limitations of RNN/LSTM topic), before the "Attention Is All You Need" paper generalized the idea into the full self-attention-based transformer architecture.
Why Does Cross-Attention Matter?
Cross-attention helps to:
Connect two different sequences, allowing one to draw relevant information from the other
Ground a decoder's generation directly in an encoder's understanding of the input
Solve the information bottleneck problem that limited earlier sequence-to-sequence models
Enable strong performance on tasks with a clear separate input and output (translation, summarization)
Provide the mechanism that distinguishes full encoder-decoder models (like T5) from decoder-only models (like GPT)
Complete the picture of the different attention types used throughout transformer architectures
Self-Attention vs Cross-Attention: The Key Distinction
Whiteboard
Loading diagram...
Self-Attention:
Q, K, V ← all computed from the same sequence
"How do tokens within THIS sequence relate to each other?"
Cross-Attention:
Q ← computed from sequence A (e.g., the decoder's current state)
K, V ← computed from sequence B (e.g., the encoder's output)
"How does what I'm generating right now (A) relate to
the separately encoded input (B)?"
Where Cross-Attention Fits in an Encoder-Decoder Transformer
Whiteboard
Loading diagram...
Within each decoder layer of an encoder-decoder model (like T5),
there are actually two different attention sub-layers:
1. Masked Self-Attention: relates the decoder's own tokens
generated so far to each other (as covered in earlier topics)
2. Cross-Attention: relates the decoder's current state to
the ENCODER's output — this is what "grounds" generation
in the original input, rather than relying solely on what's
been generated so far
How Cross-Attention Computes Q, K, and V
Cross-Attention(Q, K, V) = softmax( (Q · K^T) / √d_k ) · V
Same formula as standard self-attention, but with a
critical difference in where each vector comes from:
Query (Q) = Decoder's current representation × W_Q
Key (K) = Encoder's output × W_K
Value (V) = Encoder's output × W_V
The decoder asks "what am I looking for right now?" (Query),
and searches across the ENTIRE encoded input (Keys) to find
the most relevant information (Values) to incorporate.
A Simple Illustrative Example: Translation
Task: Translate "The cat sat" (English) to French
Encoder processes: "The cat sat"
→ produces rich Key/Value representations for each English word
Decoder is generating the French translation, one word at a time.
When generating the French word for "sat":
Decoder's Query (from its current generation state) is compared
against the encoder's Keys for "The," "cat," and "sat"
Cross-attention likely assigns the highest weight to the
encoder's Value for "sat," ensuring the generated French word
is grounded in the correct corresponding source word — even
though "sat" might appear in a different position in French
word order.
Why Cross-Attention Was the Original Motivation for "Attention"
Before the full transformer architecture existed, early
sequence-to-sequence RNN models had to compress an entire
input sentence into a single fixed-size vector before the
decoder could even begin generating output — a severe
bottleneck for longer sentences (as covered in the Limitations
of RNN/LSTM topic).
Researchers introduced an early attention mechanism specifically
to let the decoder "look back" at different parts of the
encoder's output as needed, rather than relying on one
compressed vector — this was, in essence, an early version
of cross-attention, applied on top of RNNs.
The 2017 transformer paper then generalized this same core
idea (comparing Queries against Keys to retrieve relevant
Values) into self-attention as well, removing recurrence
entirely — but cross-attention itself traces directly back
to this earlier bottleneck-solving innovation.
Cross-Attention vs Self-Attention: Side-by-Side
Aspect
Self-Attention
Cross-Attention
Query Source
Same sequence being processed
The sequence currently being generated (e.g., decoder)
Key/Value Source
Same sequence as Query
A different sequence (e.g., encoder output)
Typical Location
Within encoder or decoder layers
Between encoder and decoder, in encoder-decoder models
Purpose
Relate tokens within one sequence to each other
Ground one sequence's processing in another sequence entirely
Present In
BERT, GPT, and the encoder/decoder of T5
Only in encoder-decoder architectures like T5
Which Model Types Use Cross-Attention?
Model Type
Uses Cross-Attention?
Encoder-Only (e.g., BERT)
No — only self-attention
Decoder-Only (e.g., GPT, Claude, Llama)
No — only masked self-attention
Encoder-Decoder (e.g., T5, original Transformer)
Yes — cross-attention connects decoder to encoder
This is a key reason decoder-only models like GPT don't have a separate "input encoding" step — everything, including any provided context, is simply part of the single sequence processed through masked self-attention, rather than being handled via a separate cross-attention connection to an encoder.
Key Properties of Cross-Attention
Cross-attention computes Queries from one sequence and Keys/Values from a different sequence.
It uses the same scaled dot-product attention formula as self-attention, differing only in the source of Q vs K/V.
Cross-attention is present only in encoder-decoder architectures, connecting the decoder to the encoder's output.
It directly traces back to the original attention mechanism developed to solve the RNN fixed-size bottleneck problem.
Decoder-only models like GPT don't use cross-attention, since they have no separate encoder to connect to.
Where Is Cross-Attention Used?
Field
Application
Machine Translation
Grounding generated target-language text in the source-language encoding
Text Summarization (Encoder-Decoder Models)
Grounding generated summaries in the original document's encoded representation
Image Captioning
Connecting generated text to encoded visual features (a related, adapted use of cross-attention)
Text-to-Image Generation
Conditioning image generation on encoded text prompt representations
Structured Question Answering
Grounding generated answers in an encoded context passage
Advantages
Directly solves the information bottleneck problem that limited earlier sequence-to-sequence models
Allows generation to remain closely grounded in a separately encoded input
Enables strong performance on tasks with a clear, distinct input-to-output structure
Reuses the same well-understood scaled dot-product attention formula as self-attention
Provides architectural flexibility for connecting entirely different types of encoded data (e.g., text and images)
Limitations
Only applicable to architectures that include a separate encoder, not decoder-only designs
Adds computational overhead compared to a purely decoder-only, self-attention-only design
Requires the encoder to have already fully processed the input before decoding can use cross-attention effectively
Less naturally suited to fully open-ended, conversational use cases without a distinct "input"
Still subject to the same quadratic computational scaling concerns as self-attention
Real-World Examples
Application
Cross-Attention Use
T5
Decoder's cross-attention to the encoder's representation of the input text
Original Transformer (Translation)
Decoder attending to encoder output to generate translated text
Image Captioning Models
Text decoder attending to encoded visual features from an image encoder
Image generation process attending to encoded text prompt representations
Structured Summarization Systems
Summary generation grounded in the encoded source document
Best Practices
Distinguish cross-attention from self-attention by tracking where Q versus K/V actually come from.
Recognize cross-attention as specific to encoder-decoder architectures, absent in decoder-only models.
Use cross-attention-based (encoder-decoder) architectures for tasks with a clear, distinct input-to-output transformation.
Understand cross-attention's historical origin as the bottleneck-solving predecessor to full self-attention.
Consider cross-attention patterns when working on multimodal architectures connecting different data types (e.g., text and images).
Interview Tip
A common interview question is:
"What is cross-attention, and how does it differ from self-attention?"
A strong answer is:
Cross-attention uses the same scaled dot-product attention formula as self-attention, but with a key difference in where the vectors come from: the Query comes from one sequence — typically the decoder's current state — while the Key and Value come from a different sequence entirely, typically the encoder's output. This allows the decoder to "look back" at the encoder's full representation of the input while generating each new token, grounding the output in that separately encoded input. Self-attention, by contrast, computes Query, Key, and Value all from the same sequence, relating tokens within that one sequence to each other rather than connecting two different sequences together.
Clearly stating the Q-vs-K/V source distinction makes your answer stronger.
Conclusion
Cross-attention completes the picture of attention mechanisms within the transformer architecture, providing the specific mechanism that connects a decoder's generation process to a separately encoded input in encoder-decoder models like T5. Tracing directly back to the original bottleneck-solving innovation that predated the full transformer, and standing in clear contrast to the self-attention used throughout BERT and GPT, cross-attention rounds out a complete, mechanically detailed understanding of how attention — in all its forms — powers modern transformer-based AI.
Author & Technical Reviewer
Written by:Vinay Adari
Technically reviewed by:ExamAdda Technical Review Team
Technical Reviewers, ExamAdda
Software engineers at ExamAdda who check every article's definitions, complexity claims and code examples before and after publishing.
Published
Jun 29, 2026
Last updated
Aug 19, 2026
Content Verification Methodology
Definitions and complexity claims were checked against authoritative computer-science references. Code examples were compiled and tested with standard, boundary and edge-case inputs.