M4 · Multimodal DataM4-0326 min read
Lesson 30 of 51 · Module 5 of 7 · Week 4
Threads:The generative pipeline thread
CLIP and the Shared Embedding Space: How Text and Images End Up in One Vector Space
CLIP trains an image encoder and a text encoder jointly on roughly 400 million image-text pairs with a contrastive objective, pulling matched pairs close together in one shared vector space — the mechanism behind zero-shot image classification with no task-specific fine-tuning, and the text-conditioning signal that steers text-to-image diffusion generation.
What CLIP is and what its contrastive training objective does
Identity statement: CLIP is a model made of two separately-shaped encoders — one for images, one for text — trained jointly so that the vector each one produces for a matching image-caption pair ends up close together in a single shared embedding space, and vectors for non-matching pairs end up far apart.
When it matters: any time a scenario mentions comparing an image to a text description, classifying an image without labelled training data for the new classes, or steering what an image-generation model draws from a text prompt.
Unpack the identity statement piece by piece, because each clause is a separate testable fact.
Two encoders, one for each modality. The image encoder is typically a vision architecture (a convolutional network or a vision transformer, depending on the CLIP variant) that reads pixels and outputs a fixed-length vector. The text encoder is a language model that reads the caption and outputs a fixed-length vector of the same length. Neither encoder is CLIP-specific magic; the innovation is not in either tower alone, it is in how they are trained together.
Trained jointly, not separately. If you trained the image encoder to classify images and the text encoder to model language, and then tried to compare their outputs, the two vector spaces would have no reason to align — nothing in either training run ever asked the two towers to agree on anything. CLIP trains both towers at the same time, on the same batch of image-caption pairs, with a single loss that only makes sense if both towers cooperate. That joint training is what produces a genuinely shared space rather than two unrelated spaces that happen to have the same number of dimensions.
The contrastive objective. Take a batch of, say, N image-caption pairs. Encode all N images and all N captions. Now you have an N-by-N grid of possible image-caption combinations, of which exactly N are true matches (the diagonal) and N² − N are non-matches. The training objective pushes the similarity of every true match up and the similarity of every non-match down, simultaneously, across the whole batch. "Contrastive" names exactly this: the model does not learn from a match in isolation, it learns from a match contrasted against every mismatch available in the same batch. A larger batch gives the objective more negative examples to contrast against, which is part of why CLIP-style training uses very large batches.
No task-specific fine-tuning required afterward. Because the space itself — not a downstream classifier head — carries the meaning, you can drop in a brand-new set of class names it never saw during training and it works immediately. That property, more than the architecture, is why CLIP is treated as a foundation model rather than as a single-purpose image classifier.
Free supervision, again. Notice the parallel to the self-supervised objective that trains language models: nobody hand-labelled 400 million images with "this is a golden retriever on a beach at sunset." The captions already existed, attached to the images as alt text or surrounding page text, and the contrastive objective turned that pre-existing, unstructured pairing into a supervision signal at essentially zero labelling cost. CLIP's scale is a direct consequence of not needing a human annotator for any of those 400 million examples.
How a shared embedding space makes cross-modal comparison possible
A shared embedding space is a single vector space where a vector's position carries meaning that is comparable regardless of which encoder produced it. Once you have that, "how similar is this image to this sentence" stops being an unanswerable category-mismatch question and becomes an ordinary geometry question: compute the cosine similarity (or the dot product on normalised vectors) between the image's vector and the text's vector. High similarity means the space judges them as describing the same thing. Low or negative similarity means it does not.
This is worth contrasting with what a non-shared setup looks like, because the exam likes to test the distinction implicitly through scenario wording. An image classifier trained the ordinary supervised way produces a vector that is meaningful only relative to the fixed set of classes it was trained on — its output is a set of class scores, not a general-purpose position in a comparable space. Swap in a new class and the model has nothing to say about it until you retrain or fine-tune. A CLIP-style shared space instead produces a vector whose meaning is general: it can be compared to the embedding of any text string you can think to write, at any time, including strings that named concepts that did not exist when CLIP was trained. That generality is the entire value proposition, and it is why shared embedding spaces are the connective tissue behind cross-modal search, zero-shot classification, and multimodal retrieval-augmented generation alike — a system that can embed both a query image and a library of candidate captions, or a text query and a library of candidate images, into the same space and rank by similarity.
The same idea generalises past text-and-image. Any two modalities can share an embedding space if something is trained to align them with a contrastive-style objective — audio and text, video and text, even three or more modalities in one joint space. CLIP is the canonical, most heavily tested instance on this exam because text-to-image is the dominant multimodal pairing in the current tooling landscape, but the underlying mechanism — joint encoders, contrastive alignment, one shared space — is the general pattern Domain 4 wants you to recognise wherever it appears.
Why cosine similarity, specifically
Embeddings are compared with cosine similarity (equivalently, the dot product after normalising each vector to unit length) rather than something like raw Euclidean distance, because cosine similarity measures the direction two vectors point in and ignores their magnitude. Two embeddings can end up with different lengths for reasons that have nothing to do with meaning — differences in how confidently the encoder produced them, for instance — and cosine similarity is deliberately insensitive to that. What it is sensitive to is exactly the thing you want: do these two vectors point the same way in the space the contrastive objective built. This is the same comparison operation that underlies vector-database retrieval generally, so getting comfortable with it here pays off again the moment RAG enters the picture.
Zero-shot classification: turning a shared space into a classifier with no fine-tuning
Identity statement: zero-shot classification with CLIP means classifying an image into categories the model was never explicitly trained to recognise, by comparing the image's embedding to the embeddings of candidate text labels and picking the closest one — with no gradient update, no labelled training set for the new categories, and no architecture change.
The procedure has four steps, and every step reuses the encoders exactly as trained:
- Write your candidate class names as short text prompts. A common trick is to wrap each class name in a templated sentence — "a photo of a
<class>" — because CLIP was trained on natural captions, not bare nouns, and a sentence-shaped prompt matches the training distribution better than a single word does. - Encode every candidate prompt with the text encoder. This gives you one vector per class, all living in the shared space.
- Encode the image you want to classify with the image encoder. One vector, same space, same length.
- Compute the similarity between the image vector and every class vector, and pick the class with the highest similarity. No parameters change. No new training data is required for the new class set. Add a new candidate class tomorrow by writing one more sentence.
That is the whole mechanism, and it is why the phrase "no task-specific fine-tuning" recurs in the source material: the classifier is not a trained head sitting on top of the image encoder, it is a comparison operation over embeddings that already exist. Contrast this with a traditional image classifier, which bakes its fixed class list into a trained output layer — add a class, retrain that layer at minimum. CLIP-style zero-shot classification instead treats the class list as just more text, interchangeable with any other text you might embed.
This is also the mechanism underneath a broader capability worth naming: cross-modal search. If zero-shot classification is "compare one image to several candidate texts and rank the texts," cross-modal search is the same operation run the other direction — compare one text query to many candidate images (or vice versa) and rank the images by similarity. A product-search feature that lets a user type "red leather boots" and returns matching product photos, with no product ever having been tagged with that exact phrase, is zero-shot classification's sibling operation, not a different technology.
Early, intermediate, and late fusion: three answers to when modalities combine
Fusion is the general term for when, architecturally, two or more modalities get combined into one model's reasoning. It is a separate question from how you represent each modality (tokens for text, patches or feature maps for images, spectrograms for audio) — fusion is about the point in the pipeline where those separate representations start talking to each other. Three points on that pipeline give the three named strategies, and the exam expects you to place a described system into one of the three and reason about its tradeoffs.
| Fusion | Where modalities combine | Strengths | Weaknesses |
|---|---|---|---|
| Early fusion | Raw inputs or low-level features, before most of the model's depth | Captures cross-modal interactions from the start; typically lower inference latency because there is one pipeline, not several | Sensitive to alignment — inputs must line up correctly at a low level; one preprocessing pipeline has to fit every modality, which is inflexible |
| Intermediate / deep fusion | Hidden layers, partway through the network | Flexible; the most common choice in practice, since it lets each modality get some independent processing before combining | More design choices — where exactly to fuse, how much independent depth each modality gets first, is itself a decision with no single right answer |
| Late fusion | Model outputs or decisions, after each modality has been fully processed independently | Robust to a missing modality, since each branch is modelled independently; often the highest accuracy of the three | Misses low-level cross-modal cues, because by the time information combines, each branch has already thrown away everything except its own summary |
Two comparative facts from the source material are worth holding as separate, specific claims rather than a vague "it depends": late fusion can give the highest accuracy, because each modality gets a dedicated, unconstrained model of its own before anything is combined, and early fusion tends to have lower inference latency, because there is a single unified pipeline rather than several independent branches that all need to run and then be merged. Intermediate fusion sits between the two on both axes and is the default reached for in practice precisely because it does not force you all the way to either extreme.
Do not read "late fusion often wins on accuracy" as "late fusion is universally best." Which strategy is correct for a system depends on the constraint that matters most for that system: a latency-critical real-time system pulls toward early fusion; a system that must keep working when a sensor drops out pulls toward late fusion; a system with no dominant constraint and engineering time to spend on tuning the fusion point pulls toward intermediate fusion. The exam's own stated trap is exactly this: assuming one fusion type is universally best, when the honest answer is contextual.
The broader taxonomy fusion sits inside
Fusion is the piece of multimodal machine learning that gets the most exam attention, but the field's own taxonomy names it as one of several core challenges, and recognising the others by name is cheap insurance against a question that uses a term you have not seen. Representation is the challenge of how to encode each modality so it is usable at all — the tokens-versus-patches-versus-spectrograms question from the start of this section. Translation is mapping one modality into another, such as generating a caption from an image or an image from a caption. Alignment is identifying which pieces of one modality correspond to which pieces of another — which word in a caption corresponds to which region of an image. Co-learning is using knowledge learned from one modality to improve a model on a different, often more data-scarce, modality. Fusion is the piece concerned with combining already-aligned, already-represented modalities into one prediction; it is downstream of the other three, not a replacement for them.
Worked example: picking a fusion strategy for a returns-inspection pipeline
A retailer wants a model that decides whether a returned item matches its listing, using a photo the customer uploads and the free-text return reason they typed. Three teams propose three different architectures, and the choice is a direct application of the table above.
Team A proposes concatenating raw image pixels (flattened) with the raw text tokens before any modality-specific processing, feeding the combined input into a single network. This is early fusion. It would need every image resized and every text string tokenised into a compatible, aligned representation before the network sees anything, and if a future version of the product wants to add a third modality — say, a video walkthrough — the whole input pipeline has to be redesigned to keep everything aligned. In exchange it gets the lowest inference latency of the three options, which matters if this check has to run inline at the moment of return, not in a batch job overnight.
Team B proposes running the image through several convolutional layers and the text through several transformer layers independently, then combining the two hidden representations partway through and continuing with shared layers to a final decision. This is intermediate fusion. It is more design work — where exactly to merge, how many independent layers each modality gets first — but it does not require the raw-input alignment early fusion demands, and it is the most common choice for exactly this reason: it captures cross-modal interaction without forcing every modality through one undifferentiated pipeline from the first layer.
Team C proposes training a separate image classifier ("does this photo look like the listing category?") and a separate text classifier ("does this description match a return reason for this category?"), then combining only their two final decisions with a simple rule. This is late fusion. Notice what it buys: if the customer uploads a photo but leaves the text field blank — a routine real-world occurrence — Team C's system can still produce a decision from the image branch alone, because the two branches never depended on each other. Team A's and, to a lesser extent, Team B's systems have a harder time with that missing input, because their architectures assumed both modalities would be present. If the retailer's real operational pain point is "customers frequently skip the text field," that single fact should override every other consideration and point straight at late fusion — this is the missing-modality property from section 4's table doing real work in a concrete decision, not just sitting in a table as trivia.
The lesson to generalise: a fusion-strategy question is answered by naming the constraint the scenario actually cares about — latency, accuracy ceiling, or tolerance for a missing modality — and then reading that constraint straight off the comparison table.
Worked example: computing a contrastive similarity score by hand
Treat the following as an illustrative construction built to make the arithmetic legible, not a measurement from any named CLIP checkpoint. Suppose an image encoder and a text encoder both produce 4-dimensional vectors (real CLIP embeddings are hundreds of dimensions; four keeps the arithmetic visible), already normalised to unit length so a dot product equals a cosine similarity directly.
An uploaded photo of a dog on a beach encodes to:
image vector v_img = [0.60, 0.50, 0.30, 0.55]
Three candidate captions are embedded with the text encoder:
"a dog on a beach" v_1 = [0.58, 0.52, 0.28, 0.56]
"a cat on a sofa" v_2 = [-0.40, 0.10, 0.85, -0.30]
"a mountain landscape" v_3 = [0.10, -0.60, 0.20, 0.75]
Compute the dot product of the image vector against each candidate:
v_img · v_1 = (0.60×0.58) + (0.50×0.52) + (0.30×0.28) + (0.55×0.56)
= 0.348 + 0.260 + 0.084 + 0.308 = 1.000
v_img · v_2 = (0.60×-0.40) + (0.50×0.10) + (0.30×0.85) + (0.55×-0.30)
= -0.240 + 0.050 + 0.255 - 0.165 = -0.100
v_img · v_3 = (0.60×0.10) + (0.50×-0.60) + (0.30×0.20) + (0.55×0.75)
= 0.060 - 0.300 + 0.060 + 0.413 = 0.233
Read the three scores as a ranking, not as raw probabilities yet: v_1 (1.000) far outranks v_3 (0.233), which in turn outranks v_2 (−0.100). "A dog on a beach" is the closest match by a wide margin, "a mountain landscape" is a distant second because a beach and a landscape share some low-level visual similarity a cat-and-sofa scene does not, and "a cat on a sofa" is actively dissimilar, reflected in the negative score. This ranking-by-dot-product step is exactly what zero-shot classification in section 3 runs, with the three captions playing the role of candidate class labels.
To turn the raw scores into a probability distribution over candidates — the form CLIP's own training and inference typically use — apply softmax with a temperature term, exactly the decoding-adjacent operation from the language-model lessons applied here to similarity scores instead of vocabulary logits:
scores: [1.000, -0.100, 0.233]
softmax (illustrative, temperature = 1):
e^1.000 = 2.718, e^-0.100 = 0.905, e^0.233 = 1.262
sum = 4.885
probabilities ≈ [0.556, 0.185, 0.258]
The dominant candidate captures a bit over half the probability mass here because the raw score gap, while decisive for ranking, is not overwhelming at temperature 1 — a smaller temperature would sharpen the winner further, mirroring exactly how temperature reshapes a next-token distribution. The mechanical takeaway to carry forward: a contrastive similarity score is a dot product on normalised vectors, ranking candidates is picking the largest score, and turning scores into a calibrated-looking distribution is an optional extra step, not something the underlying comparison requires.
CLIP as the conditioning signal for text-to-image diffusion
Domain 3's diffusion material and Domain 4's CLIP material meet at exactly one point, and it is worth being explicit about the join because the exam tests it as a cross-domain fact rather than as two separate topics.
A diffusion model generates an image by learning to reverse a noising process: the forward process adds Gaussian noise to a real image step by step until it is indistinguishable from random noise, and the reverse process is what the model learns — a denoising network trained to remove that noise a step at a time, so that starting from pure random noise and running the reverse process produces a new, coherent sample. NVIDIA's own framing calls this a denoising diffusion probabilistic model, or DDPM, with those same two phases.
Left alone, that reverse process has no notion of what to draw — it will denoise its way to some plausible-looking image, but nothing in the bare forward/reverse mechanism points it at "a lighthouse at sunset in the style of a watercolor" rather than anything else the training distribution could produce. Context embeddings are what steer the reverse process toward a specific target, and text-to-image diffusion's dominant way of producing those context embeddings is to run the prompt through CLIP's text encoder. The resulting vector is injected into the denoising network at every step of the reverse process, so each step of noise removal is nudged toward the region of image-space that the shared embedding space associates with that text.
This is why the phrase "testing and refining these embeddings is how you achieve a desired image" belongs to diffusion prompt engineering rather than to some separate image-editing skill: the text embedding is the steering wheel, and it is the same shared embedding space this lesson has been building throughout, reused as a conditioning signal instead of as a similarity score. Change the prompt, change the CLIP text embedding, change what the reverse process is nudged toward — nothing about the noising or denoising mechanics themselves needs to change for the output to change completely.
Two consequences of the join are worth carrying into scenario reasoning. First, a diffusion model's reliance on CLIP-style text conditioning means a limitation of CLIP's embedding space — a phrase CLIP's training data rarely saw, or a compositional instruction CLIP's contrastive objective was never asked to represent precisely — becomes a limitation of the image the diffusion model produces, even though the diffusion model's own denoising network is not directly at fault. Second, it means the same shared-embedding-space vocabulary you now have for zero-shot classification transfers directly to explaining a diffusion prompt's behaviour: "the image doesn't match the prompt" is, mechanically, "the text embedding didn't land where you expected in the shared space," which is a CLIP-shaped explanation, not a diffusion-shaped one.
Representation, translation, alignment, and co-learning: the multimodal challenges beyond fusion
Fusion answers "when do we combine." It does not answer three other questions the multimodal literature treats as separate, and Domain 4's own framing names all four together, so a question that uses one of the other three terms should not read as unfamiliar.
Representation is the question this lesson opened with implicitly and Domain 4's modality table answers explicitly: text becomes tokens and then embeddings, images become normalised pixels or patch embeddings, audio becomes a waveform or spectrogram turned into frame features, time-series becomes windowed and normalised sequences, geospatial data becomes coordinates or rasterised grids. Every modality has to become a numeric tensor before anything downstream — fusion included — can touch it. CLIP's two encoders are, from this angle, a representation solution for exactly two modalities, built so that their two outputs land in one comparable space rather than two incompatible ones.
Translation is mapping one modality into another directly — captioning an image, or generating an image from a caption, as diffusion does. It differs from fusion in that fusion combines modalities to produce a joint decision, while translation produces one modality as the output, using another as the input.
Alignment is the correspondence problem underneath both fusion and translation: which word in a caption points at which region of the image, which frame of audio corresponds to which word being spoken. Contrastive training solves a coarse version of alignment — whole-image-to-whole-caption — without ever solving the fine-grained version explicitly, which is a real limitation worth knowing: CLIP tells you an image and a caption match overall, not which pixels correspond to which words.
Co-learning is transferring what a model learned from a data-rich modality to help it perform on a data-scarce one. CLIP is frequently cited as an enabler of co-learning in exactly this sense: because natural-language supervision is comparatively abundant on the web, a joint image-text objective lets the image side benefit from the sheer scale of text data available, rather than requiring an equally enormous hand-labelled image dataset on its own.
None of these four is fusion, and mixing any pair of them up — treating "alignment" as a synonym for "fusion," say — is exactly the kind of precise-terminology trap this exam's foundational-level framing still leaves room for.
Why CLIP and fusion strategy are on the NCA-GENM exam
Multimodal Data is Domain 4 of the NCA-GENM blueprint at 15% weight, and its own scope note says explicitly: know the modalities, know how to fuse them, know the common tools and patterns — you are not expected to build a production multimodal system from scratch. CLIP and fusion strategy sit at the center of exactly that scope. The domain's own key-terms list names CLIP and shared embedding space individually, which is a strong signal that both are treated as standalone testable facts rather than incidental detail.
The cross-domain tie matters just as much for how the question gets phrased. Domain 3, Experimentation, is the heaviest domain at 25%, and its diffusion-model material explicitly names "context embeddings (e.g., text conditioning from CLIP)" as the thing that controls what a diffusion model generates. A scenario question about diffusion image quality or prompt behaviour can therefore be, underneath, a CLIP question — and a scenario question framed around Domain 4's fusion material can reuse CLIP's own dual-encoder design as a fusion example. Recognising CLIP wherever it appears, across both domains, is worth more exam credit than the single Domain 4 entry suggests on its own.
The question tends to arrive in a small number of recognisable shapes:
- Mechanism identification. "What does CLIP produce that enables zero-shot image classification?" The keyed answer names a shared embedding space built via contrastive training on image-text pairs; distractors offer a discriminator, a denoising network, or an audio tokenizer — real components from other Domain 4/6 topics, misapplied here.
- Fusion tradeoff recall. "Which fusion strategy is most robust when one modality is missing at inference?" The keyed answer is late fusion, because each modality is modelled independently and a missing branch can simply be dropped.
- Fusion tradeoff, comparative form. "Which tradeoff is generally correct for fusion strategies?" The keyed answer pairs late fusion with the accuracy edge and early fusion with the latency edge — the two comparative facts from section 4, offered against distractors that claim one strategy dominates on every axis.
- Cross-domain conditioning. "What controls what a diffusion model generates from a text prompt?" The keyed answer is context embeddings, with CLIP text conditioning as the named example, against distractors offering the noise schedule or the number of denoising steps — real diffusion parameters, but not the one that controls what rather than how well.
What the distractors typically look like
The reliable traps mirror the ones the source material calls out directly: confusing early (feature-level) fusion with late (decision-level) fusion in either direction; asserting that one fusion strategy is universally best rather than contextual; and, for CLIP specifically, describing its output as a classifier trained on fixed labels rather than as a general-purpose shared space compared against arbitrary text at inference time. Each of these is a plausible-sounding claim that is true of some other model or some other fusion strategy, which is exactly what makes it a workable distractor rather than an obviously wrong option.
Common mistakes about CLIP and fusion
| Mistake | Symptom you would actually observe | Fix |
|---|---|---|
| Thinking CLIP is a fixed-label image classifier | You expect it to need retraining before it can recognise a new class name | CLIP compares an image embedding to whatever text embeddings you supply at inference; the class list is not baked into any trained layer |
| Believing the two CLIP encoders were trained separately and then compared | You cannot explain why the two vector spaces are actually comparable | Joint training on paired data, with one contrastive loss spanning both towers, is what makes the space shared in the first place |
| Confusing early and late fusion | You pick "early fusion" for a system that must tolerate a missing modality, or "late fusion" for a system with a hard latency budget | Early combines at raw inputs/features (lower latency, alignment-sensitive); late combines at outputs/decisions (missing-modality-robust, often higher accuracy) |
| Assuming one fusion strategy is universally best | You default to intermediate fusion (or any single strategy) regardless of the stated constraint | Match the strategy to the constraint that actually matters in the scenario — latency, accuracy ceiling, or missing-modality tolerance |
| Treating cosine similarity as an arbitrary implementation detail | You cannot explain why two embeddings of different magnitude but the same direction still score as a strong match | Cosine similarity measures direction, deliberately ignoring magnitude, which is what makes it robust to per-embedding scale differences |
| Thinking diffusion models "understand" the prompt directly | You cannot explain why a diffusion model can misinterpret a prompt CLIP itself embeds oddly | The diffusion network never reads the raw text; it is steered by a CLIP text embedding, so a CLIP-space limitation becomes a generation limitation |
| Conflating fusion with alignment or translation | You use "fusion" to describe captioning a photo, or mapping which word matches which image region | Fusion is combining already-represented modalities into one decision; translation and alignment are different, named challenges |
| Assuming zero-shot classification needs no text at all | You expect CLIP to output a class name on its own | Zero-shot classification requires you to supply the candidate class names as text; CLIP ranks them, it does not invent them |
Glossary recap: the terms this lesson introduced
| Term | One-line definition |
|---|---|
| CLIP (Contrastive Language-Image Pretraining) | A model with a jointly-trained image encoder and text encoder, aligned by a contrastive objective on image-caption pairs |
| Contrastive objective | A training loss that pulls matching pairs' embeddings together and pushes non-matching pairs' embeddings apart within the same batch |
| Shared embedding space | A single vector space where positions from different encoders (or modalities) are directly comparable by similarity |
| Zero-shot classification | Classifying into categories never explicitly trained for, by comparing embeddings rather than using a fixed trained output layer |
| Cosine similarity | A comparison of two vectors' direction, ignoring magnitude; the standard metric for comparing embeddings |
| Early fusion | Combining modalities at raw inputs or low-level features, before most of the model's depth |
| Intermediate / deep fusion | Combining modalities at hidden layers, after some independent per-modality processing |
| Late fusion | Combining modalities at model outputs or decisions, after each modality is processed fully independently |
| Representation (multimodal) | The challenge of converting each raw modality into a usable numeric tensor or embedding |
| Translation (multimodal) | Mapping one modality directly into another, such as image-to-caption or caption-to-image |
| Alignment (multimodal) | Identifying which parts of one modality correspond to which parts of another |
| Co-learning (multimodal) | Using knowledge learned from a data-rich modality to improve performance on a data-scarce one |
| Context embeddings | Conditioning vectors, often CLIP text embeddings, that steer what a diffusion model generates |
| Diffusion model (DDPM) | A generative model that learns to reverse a forward noising process, denoising random noise into a sample |
| Modality dropout | Randomly withholding a modality during training so a model does not over-rely on any single one |
Key takeaways on CLIP and shared embedding spaces
- CLIP jointly trains an image encoder and a text encoder with a contrastive objective, on roughly 400 million image-text pairs, so matched pairs land close together in one shared embedding space.
- That shared space is what makes zero-shot classification possible: compare an image embedding to candidate text-label embeddings, no fine-tuning required, and no retraining needed to add a new class.
- Cosine similarity (a dot product on normalised vectors) is the operation that turns "how similar are these two things from different modalities" from an unanswerable question into ordinary geometry.
- Early fusion tends to have lower inference latency but is sensitive to alignment; late fusion tolerates a missing modality and often reaches the highest accuracy; intermediate fusion is the flexible middle ground. No strategy wins on every axis.
- The correct fusion strategy is decided by the scenario's binding constraint — latency, accuracy ceiling, or missing-modality tolerance — never by a universal default.
- CLIP's text encoder supplies the context embeddings that steer text-to-image diffusion, joining Domain 4's fusion material to Domain 3's diffusion material at one specific mechanism.
- Representation, translation, alignment, and co-learning are separate named multimodal challenges; fusion is the one concerned with combining already-represented, already-aligned modalities into a joint decision.
Next: handling missing and incomplete modalities
You now know that late fusion tolerates a missing modality by construction, because each branch never depended on the others being present. What you have not yet seen is the fuller toolkit for the more general problem underneath that fact: not every real-world sample arrives with every modality attached, and choosing late fusion is only one of several available responses.
Next: handling missing and incomplete modalities — imputing or masking a missing modality's features, generating a missing modality from the ones you do have, and training with deliberate modality dropout so a model never becomes silently dependent on a sensor that will eventually fail — the practical continuation of the robustness property late fusion only gets you partway toward.