wikillm

Concept · 1 paper · updated 2026-11-06

Modality imbalance

When a multimodal network learns mostly from its stronger input and under-uses the weaker one. One method so far: prototype-based rebalancing (PMR). It adds a per-class prototype loss to the weaker modality and an early entropy term to the stronger one, with no change to the architecture or fusion. Author-reported gains on three datasets; one wiki card; released code omits the entropy term.

multimodaltraining-dynamicsloss-function

Markdown4 min read

AI-compiled overview, updated 2026-11-06, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

Overview

A network that takes several input streams, such as audio and video, is trained with one loss over the fused output. The authors argue that the stronger stream then dominates the gradient and the weaker stream's branch is left under-trained, so the combined model does not use all of its inputs 2211.07089 §1 2211.07089 §3. On CREMA-D, the gradient direction from the fused output drifts away from each single-modality guidance direction during training 2211.07089 §3. The shared invariant of the remedies is a per-modality signal that tells the trainer which branch is lagging. The variants below differ in how that signal is measured and applied.

Variants

Prototype-based rebalancing (PMR, full method)

Each modality gets class prototypes, which are mean feature vectors per class, and a nearest-prototype classifier. A batch-level ratio of prototype scores decides which modality is lagging 2211.07089 §4.1 eq. 8. The lagging modality receives an extra prototype cross-entropy loss. In the first epochs, the leading modality receives an entropy regulariser that slows it down 2211.07089 §4.1 2211.07089 §4.2. Card: PMR: Prototypical Modal Rebalance for Multimodal Learning. Author-reported accuracy: CREMA-D concatenation 53.2 to 61.1 and CG-MNIST summation 59.1 to 78.5 2211.07089 tab. 1.

PMR without the entropy regulariser

The same method with the entropy term removed. The paper reports this as an ablation: CREMA-D concatenation 61.1 with the regulariser, 60.3 without 2211.07089 tab. 2. The gap is about one point from single runs, and the paper states no variance, so the effect of the regulariser is not settled by this card 2211.07089 tab. 1 2211.07089 tab. 2.

Released-code variant

The official repository implements the prototype loss and the imbalance ratio but not the entropy regulariser. It also uses a hard switch between the two modalities where the paper uses a clipped ramp. The card's Paper vs code section lists these differences and the code locations 2211.07089 §4.1 2211.07089 eq. 11. Use this variant only if you need to match the released results, and say so in your write-up. Card: PMR.

When to use which

SituationUseWhy
Two modalities, one visibly weaker, labelled classification data, any fusionFull PMRReported gains with concatenation, film and summation fusion 2211.07089 tab. 1. The method needs only each encoder's output 2211.07089 §4.1.
Gated fusionExpect little or no gainReported change on AVE is 63.5 to 62.7 2211.07089 tab. 1.
Intermediate fusion (MMTM) or CentralNetTry it, expect smaller gainsReported gains are 51.6 to 55.1 and 50.2 to 52.9 on CREMA-D 2211.07089 tab. 3. The card did not trace these runs into the code.
Little labelled data for prototypesKeep the prototype subset near 10%On AVE, 1% of the data gives 62.1 against a 65.4 baseline; 10% gives 67.1 2211.07089 tab. 5 2211.07089 tab. 1.
Adaptive optimiser (Adam)Use with careThe derivation assumes one learning rate for all parameters. Reported gain with Adam is 59.8 to 65.3, which is empirical only 2211.07089 §5.4 2211.07089 tab. 6.
Tight compute budgetCheck the cost firstThe prototypes need a forward pass over the subset every epoch, which the paper names as the main extra cost 2211.07089 §5.4.
Need to match released resultsReleased-code variantThe code lacks the entropy term 2211.07089 §4.2.
Need a method that changes the fusionOther familiesThe paper compares against Modality-Drop, Gradient-Blending and OGM-GE 2211.07089 tab. 2. Those papers have no card here, so this page does not describe them.

Implementation sketch

The common core is a per-modality prototype classifier, an imbalance ratio, and a loss that adds a term for the lagging modality. The released code and the paper differ in the coefficients and the entropy term; the sketch follows the paper's printed form.

Pseudocode
# Refresh per-modality class prototypes once per epoch  [arxiv:2211.07089 §4.1]
# Prototypes come from a subset of training data  [arxiv:2211.07089 §5.2]
protos0, protos1 = momentum_update(protos0, protos1, subset)

for x0, x1, y in batches:
    # Each encoder output, then the usual fused head  [arxiv:2211.07089 eq. 1]
    z0, z1 = enc0(x0), enc1(x1)
    logits = head(concat(z0, z1))

    # Per-modality prototype probabilities  [arxiv:2211.07089 eq. 7]
    p0 = softmax(-dist(z0, protos0))
    p1 = softmax(-dist(z1, protos1))

    # Imbalance ratio from batch sums of true-class scores  [arxiv:2211.07089 eq. 8]
    rho = sum(p0[y]) / sum(p1[y])

    # Prototype cross-entropy per modality  [arxiv:2211.07089 eq. 9]
    pce0 = cross_entropy(-dist(z0, protos0), y)
    pce1 = cross_entropy(-dist(z1, protos1), y)

    # Weights from rho, clipped ramp as printed  [arxiv:2211.07089 eq. 11]
    beta, gamma = modulation(rho)

    # Acceleration loss on the lagging modality  [arxiv:2211.07089 eq. 10]
    loss = cross_entropy(logits, y) + alpha * (beta * pce0 + gamma * pce1)

    # Early entropy term on the leading modality  [arxiv:2211.07089 eq. 13]
    if epoch < E_r:
        loss = loss - mu * (gamma * entropy(p0) + beta * entropy(p1))
    step(loss)

Guard the division in the ratio against a near-zero denominator. The released code has no epsilon there, and a small denominator makes 1/rho large before the clip 2211.07089 §4.1 (see the card's Pitfalls).

Contradictions

Only one wiki card covers this concept, so no two cards disagree. The paper and its released code do disagree on several points, and both sides are cited here.

  • Entropy term. The paper includes it 2211.07089 eq. 13. The released code has no entropy term 2211.07089 §4.2.
  • Modulation shape. The paper uses a clipped ramp 2211.07089 eq. 11. The code uses a hard switch 2211.07089 §4.1.
  • Modulation window. The paper's algorithm applies the modulation for all training epochs 2211.07089 alg. 1. The code applies it for epochs 0 to 100 by default, as the card's Paper vs code section records.
  • Learning-rate schedule. The paper says the rate "gradually decays" from 1e-3 to 1e-4 2211.07089 §5.2. The code uses a single step down at epoch 70, per the card.
  • Prototype data. The paper uses a subset of training data [arxiv:2211.07089 §5.2]. The code uses the validation split for AVE and CG-MNIST, per the card.
  • Momentum. The paper does not state the momentum coefficient eps 2211.07089 eq. 12. The released repository's default and its CREMA-D example script disagree on it, per the card.
  • Entropy term index. The printed second entropy term in eq. 13 looks like a typo, so its exact form is unclear 2211.07089 eq. 13. Confirm before implementing it.

Papers

Source and license

Compiled from the papers listed on this page, all published under CC BY, CC BY-SA or CC0, with citations. See each paper's page for its authors and license.