MICCAI 2026 DA/DG, Interactive
← text notes · Misc › Domain Adaptation / Generalization. One widget per paper, each a playable version of that paper's static figure on the notes page. Every widget runs on small toy numbers, not the paper's data. Move the knobs the static figure had to freeze and see where each construct holds and where it breaks.
M-PM-011 · MaRS: dividing by λᵢ exposes OOD energy that ‖r‖² hides
Top panel: click or drag the black test residual r. The grey cloud is in-distribution (ID) autoencoder residuals, long along u₁ and thin along u₂. The dashed grey circle has constant ‖r‖². The blue ellipse is the Mahalanobis level set rᵀΣ⁻¹r through r. Move r around the circle: ‖r‖² stays the same, but the Mahalanobis score is much larger across the thin direction than along the long one.
Bottom panel: a 16-dimensional toy whose eigenvalues fall from 4 to 0.01. OOD residuals get extra energy δ in the directions you choose. Compare the AUROC of the two scores, and the share of OOD residuals above the 95th-percentile ID threshold. The ridge ε replaces λᵢ with λᵢ + ε. That is a shrinkage term, and the paper does not use one.
Keep δ = 0.22 but move it to the 8 largest-λ directions. Both scores drop to chance, because the same extra energy is lost in the natural residual spread, and dividing by λᵢ has nothing quiet to amplify. Then return to the smallest directions and raise the ridge ε to about 0.3. The MaRS AUROC falls from 0.86 to about 0.6, which shows how much of the gain sits in the few smallest eigenvalues, the ones that are hardest to estimate.
M-PM-042 · HierEM: a site's noise rates decide how far the network may overrule its label
Top panel: the E-step posterior q, the probability that a voxel is truly lesion, plotted against the network prior π. Solid curves are voxels the site labelled lesion (Y = 1), dashed curves voxels it labelled background (Y = 0). The grey pair is a careful reference site (α = 0.90); the orange pair is the site you tune. Lower its sensitivity α and watch the dashed curve rise towards the diagonal: a confident network can then overrule a missed voxel. Drag across the panel to move π.
Bottom panel: the M-step for site sensitivities with a Gaussian prior on logit αs. Drag any open circle (the raw rate TP/P) up or down. The filled circle is the MAP estimate, and the arrow shows how far it has been shrunk towards the global mean. Sites with few effective counts move a long way; sites with many barely move.
Set α = 1 − β, for example α = 0.03 with β = 0.97. Both orange curves collapse onto the diagonal q = π, so the label carries no information and the network is trained on its own prediction. This is the self-confirmation risk behind the weak identifiability of (π, α, β). In the bottom panel, push σₐ down to 0.05: every site is pulled to σ(μ), whatever its counts.
M-PM-058 · PSP: the Fourier shape prior ignores pose, size and start point, and also phase
The shape descriptor is vspec(i) = |Zi+1| / |Z1|, where Zu is the DFT of the boundary points zm = xm + i·ym. Rotate, rescale, shift the middle copy of the organ outline, and move its start point (the dot). Its descriptor (black ticks) stays exactly on the original's bars (blue). Boundary noise is different: it corrupts the high harmonics first.
The third outline (orange) is the comparison shape. The four-lobed shape gives a clearly different profile. Switch to “scrambled phases” and a visibly different outline gives the same descriptor.
Choose same |Z|, scrambled phases. The orange outline no longer looks like the organ, yet its dots sit on the blue bars and the descriptor distance is zero. A magnitude-only descriptor throws the phase away, so distinct shapes can collide.
M-PM-145 · MKGA: the skip gate suppresses artefacts only if its weights make it
This is a one-dimensional scan line through a thyroid nodule (shaded). The refined skip feature Xref carries speckle, nodule texture, a caliper mark and burnt-in text. The upsampled deep feature Xhigh is smooth and high over the nodule. The gate α = σ(4·ReLU(Wg·Xhigh + Ws·Xref + b) − 2) multiplies the skip before fusion.
The weights here are hand-set; in the paper they are learned. Change them and see which parts of the skip survive in the bottom track. The kernel menu switches the refinement between the plain 3×3 branch (sees 3 pixels here), the dilated 3×3, d = 2 branch (sees 5), or their average. Shifting Xhigh mimics a deep feature that is wrong about where the nodule is.
Raise Ws to about 2.5 so that the gate listens to the skip feature itself. It then opens fully on the caliper and text spikes, and the artefacts pass straight into the decoder. Nothing in the architecture forces α to suppress artefacts; only the learned weights can.
T-AM-027 · ContiStain: relational distillation penalises relative drift, not rotation
Each old biomarker's rendering gives six normalised tokens on the unit circle: domain i in blue, domain j in orange, from the same H&E input and patch positions. Small grey dots mark the frozen teacher. The matrices show R(i,j)pq, the cosine between token p of domain i and token q of domain j, for the teacher and for the student, and their difference. Lrel is the mean absolute difference.
Drag any coloured token, or use the sliders. A global rotation or reflection moves every token but leaves R unchanged. Drift of one domain relative to the other is what the loss sees.
Rotate by 55° and press reflect. Every token moves a long way, yet Lrel stays at exactly 0, because a cosine Gram matrix pins geometry down only up to an orthogonal transform. Then reset and press misaligned token sampling alone. The geometry is untouched, but the loss jumps: the method needs identical sampling positions for i, j, teacher and student.
T-AM-049 · TTA-Flow: matching the histogram and finishing the flow is, per pixel, a rank map
This is a per-pixel toy. The source device's clean intensities have two modes: background near 0.2 and tissue near 0.75. Grey curves are flow-matching ODE trajectories from Gaussian noise at t = 0 to those modes at t = 1, using the ideal x-prediction network. A noisy low-cost scan is histogram-matched to the trajectory marginal at step starget. It is then integrated to t = 1, with no data-fidelity term after entry.
Test-pixel trajectories are coloured by their true class: blue for background, orange for tissue. A blue curve ending in the tissue mode is an error. Move starget, the speckle strength, and the tissue share in the test scan (the source has 40%). Switch histogram matching off to insert the raw intensities instead.
With matching on, moving starget leaves the accuracy fixed at 85%. In one dimension the ODE flow and the quantile map are both monotone, so a pixel's fate depends only on its rank in the scan. Now set the tissue share to 0.7. Matching forces the source's 40/60 split, and accuracy falls to about 71% as tissue pixels are pushed into background: tissue erased, with nothing after entry to stop it. Switch matching off and almost every raw pixel lands in the tissue mode, whatever the entry step.
T-AM-061 · ReGA: used as the EMA step, the reliability score leaves the teacher a memory of a few samples
Top panel: SICE = λ·(λ₁Sv + λ₂e−Sb/α) plotted against the boundary discrepancy Sb, with λ₂ = 1 − λ₁. Sv is the soft-Dice agreement with the dropout copies, and λ = 1 − H(P̄)/log C is the entropy calibration factor. Drag across the panel to move the current sample's Sb. The dashed line is the floor set by the region term: however badly the boundaries disagree, SICE never falls below λλ₁Sv.
Bottom panel: the teacher update φ ← (1 − a)·φ + a·θ with a = SICE. It puts weight a(1 − a)k on the student iterate from k samples ago. Compare that memory with a standard mean teacher at a fixed momentum.
Make the sample as unreliable as the sliders allow: Sv = 0.5, λ = 0.3, Sb = 20. SICE falls to about 0.08, yet the teacher's half-life is still only about 9 samples, against 693 at momentum 0.999. Raise λ₁ and the floor rises, so boundary disagreement stops mattering at all.
T-AM-114 · ASFOSDA: uncertainty picks the candidates, diversity picks which of them to label
Each dot is an unlabelled target volume. In this toy, its uncertainty under test-time augmentation grows with its angular distance from the source-like cluster at 30°. The K volumes with the lowest CDU become source-like prototypes L (blue), and the K with the highest CDU become candidates H (orange). The candidates with the highest CPD = CDD + SDD are then sent for annotation (ringed).
Drag any dot around the circle on the embedding panel. You can also loosen or tighten the clump of three near 196°, and change the weight on the self-domain term SDD (the paper uses 1). Watch which candidates get rings, and how the grey SDD segment of each bar changes.
Set the SDD weight to 0, so that only CDD counts. The clump's near-duplicates then take two of the three queries, because they are all about equally far from the prototypes. Back at weight 1 they share a single query. Next, drag the isolated candidate at 263° into the clump. It loses its ring, because it is no longer different from the other candidates.
T-PM-095 · SC-UNSB: interpolated normalisation statistics remove tile seams
A gigapixel slide is processed in tiles. Strip ① shows one row of pixel intensities x(p) running across the tiles, with each tile's own mean μ⁽ᵏ⁾ (orange steps) and SC-UNSB's mean field μ̂(p), which interpolates linearly between tile centres (blue). Strip ② applies ordinary instance norm, (x − μ⁽ᵏ⁾)/σ⁽ᵏ⁾, and strip ③ applies the dense version, (x − μ̂(p))/σ̂(p).
Change the slide-wide drift, the growth of the texture amplitude, and the number of tiles. Watch the jumps at the tile borders in strip ②, and check whether strip ③ stays continuous.
Set both the drift and the texture growth to 0. The per-tile seams almost vanish, which shows that they come from statistics changing between tiles, not from tiling as such. Now leave the drift at 0, raise the texture growth to its maximum, and switch strip ③ to μ̂ only. Seams of about 0.9 come back, because σ⁽ᵏ⁾ now changes from tile to tile. Both fields have to be interpolated.
T-PM-123 · IntraStyler: a sharp InfoNCE on the style sphere, and blends that stay on it
Left: the query style v (crop 1) and its positive v⁺ (crop 2 of the same image) are blue. The five orange negatives are intensity perturbations of the positive: same anatomy, different style. Drag any of them around the circle and change the temperature τ. The labels show each vector's softmax weight in the InfoNCE denominator.
Right: drag the two style references v₀ and v₁ and slide t. The blue geodesic (SLERP) stays on the unit sphere. The orange straight-line blend cuts through the inside, and its norm drops to cos(θ/2) at t = ½.
At τ = 0.01, drag the contrast negative slowly towards v. At 30° its weight is about 4×10⁻⁶ and at 15° about 0.08. Once it is closer to v than v⁺ (8°), it takes most of the weight. So the loss only cares whether a perturbed style is farther away than the positive. Raise τ towards 1 and every vector gets a similar share, so the loss no longer separates styles. On the right, drag v₁ until it sits almost opposite v₀. The chord midpoint collapses to the centre, and SLERP has no unique path.
T-PM-169 · EchoTracker2: the local window must span the whole end-systolic excursion
Without a global initialisation step, the first refinement iteration copies each query location to every frame. The r×r correlation window, at feature stride s, therefore reaches only ±(r − 1)/2 · s pixels from the query. On the toy left-ventricular wall (apex at the top), each blue loop is a point's true path over one cardiac cycle. Orange marks the frames where the path leaves the window.
Change the window size, the stride, and how strongly the wall moves. Click a query point (black) to plot its displacement on the right. Press Play or drag the frame slider to follow the cycle.
Set r = 7 and select the basal point on the right-hand end of the wall. Its path leaves the window around end-systole, and r = 9 brings it back inside, which matches the paper's ablation choice. Then raise the motion scale to about 1.4. Even r = 9 then fails, so the benefit of the local-motion prior depends on how far the tissue actually moves. One caveat about the toy: a square window is really a test on max(|Δx|, |Δy|). Switch the distance to that and the basal peak drops to 11.5 px, so 7×7 only just suffices at the default motion.
T-PM-200 · CoWA: the co-occurrence weight also penalises low confidence
M is the label co-occurrence matrix, estimated online from 4000 binarised predictions of the model itself. Effusion, cardiomegaly and edema tend to appear together through heart failure, while pneumothorax and nodule are independent of them. Each sample gets the weight w = exp(−‖ŷŷᵀ − M‖²_F / τ) on its entropy term.
Set your own sample with the five class sliders, or load one of the presets: A predicts a common pair, B a rare pair, and C no finding. The lower heatmap shows the squared error of your sample for each entry. The bars split each distance into its diagonal part (grey) and its off-diagonal part (coloured). Try switching the distance to off-diagonal only, and moving the share of heart-failure cases in the target stream.
With the full distance, C (no finding) gets the lowest weight of all, even though predicting nothing is perfectly plausible. The cause is the diagonal: M has 1s there, so every class with low confidence adds (ŷ² − 1)² ≈ 1. Switch to off-diagonal only and the order changes to A > C > B, which is the ranking a label-structure check should give.
T-PM-214 · MedTS-TTT: one label-free inner step, reset for every sample, is linear attention
Left: the plane of two fast weights W = (w₁, w₂). The dashed ellipses are contours of the inner loss ℒ = ½‖KW − (V − K)‖² for two samples, A (blue) and B (orange), which come from different subjects and so have different minima. Both start from the same slow, meta-learned W₀. Drag W₀ (or click anywhere) and change the step size η to see where one step W₀ − ηKᵀG lands for each sample.
Right: the same step for one sample, written as Δ = QW₀ − η(QKᵀ)G. The inner-loss residuals G act as the values of a linear attention with scores QKᵀ. The readout checks that this matches Q·W₁ exactly.
Push η above 2/λ_max. Sample B has the stiffer loss and sets λ_max, so its single step now overshoots and ends with a higher loss than it started with. A still improves. No single step size suits every sample, which is why the step size the paper learns for each head matters. Then tick carry W from A to B: B now starts from A's adapted weights instead of W₀. MedTS-TTT never does this, so its "test-time training" is a data-dependent layer and not persistent adaptation.
W-AM-013 · WALDO: rank references by sliced Wasserstein, then keep the middle band
Top: each image is a cloud of patch tokens (blue = query, orange = healthy reference). Drag the θ handle (or the slider) to project both clouds onto a line. The sorted projections are paired in rank order, and line width is the entropy weight used for that pair. Drag the orange cloud to move the reference. Click a blue point to follow one patch. The strip under the pairing traces W₂²(θ) over every direction, and the dashed line is the Monte-Carlo SW₂² from the first M directions.
Bottom: SW₂ from one query to a pool of 260 healthy references. The shaded band is the [α, 1 − α] percentile window. Choose a selection rule and see how the schematic Bias² + Var error at the chosen references changes.
Keep the Eq. 1 weighting, click the patch with the thickest line, and rotate θ. Its weight jumps about because wᵢ is tied to the sort rank, not to the patch. Switch to “weights follow the patch” and the jumps stop. In the bottom panel, set α = 0 and pick “nearest K”: the picks fall where the variance term blows up.
W-AM-160 · VesselSim: a persistent random walk and Murray's law set all the geometry
Top: a vessel tree grown by recursive branching. Every segment is a random walk whose heading turns by a random angle of standard deviation σθ at each step. Raise σθ and the vessels get tortuous. The random seed stays the same, so the branching pattern and the radii do not change. The exponent γ sets the branching law r_parentᵞ = r₁ᵞ + r₂ᵞ, and γ = 3 is Murray's law. Line width is proportional to radius.
Bottom: a toy of the test-time step. Only the instance-norm (γ, β) are tuned, by gradient descent on the reconstruction loss (orange contours). What we actually care about is the segmentation loss (blue contours). Drag the misalignment φ between the two losses' optima and the number of steps, and see whether L_seg improves.
Set φ = 60° and slide the steps. The first six or so lower L_seg by about a quarter, and by step 60 it is back where it started, so the step count becomes a hidden hyper-parameter. Above about 85°, every step hurts. In the tree, note that the largest radius is always the root's 1.00: vessel calibre coverage is set by hand, not learnt.
W-AM-192 · PromptGate: the OOD gate is an angular sector, rotated per client
Points are normalised image embeddings. Blue points are in-distribution images and orange points are site artefacts. Arrows are the text prototypes t₁, t₂ and t_OOD. The pseudo-label is the argmax of cosine similarity, so each prototype owns the arc nearest to it. Images in the shaded OOD sector are dropped before active learning. Drag an arrow tip, or use the private-rotation slider, to turn t_OOD away from the shared, FedAvg-only direction (dashed boundaries).
Press run AL round to query the three least certain images left in the pool. The OOD prompt is updated only by the artefacts that leaked through the gate and then got queried. Hover over or tap a point to see its softmax at temperature τ.
Pick client B, set the private rotation to 0 (shared prompts only) and run rounds. t_OOD swings towards the artefacts only while some of them leak and get queried. Once none leak, it stops learning. Then switch to two artefact clusters: one prototype cannot cover both, whichever way you turn it. Moving τ never changes which images are gated, because the gate is an argmax.
W-PM-007 · IMaX: Tsallis α-entropy caps the push that flattens a long tail
The marginal-entropy term −H_α(π) in InfoMax pushes every class towards 1/K. The left plot shows how hard it pushes a class of mass π, measured relative to a class sitting at 1/K. Shannon entropy (α = 1) pushes with log(1/(Kπ)), which has no bound as π → 0. For α = 2 the push is 2(1/K − π), which never exceeds 2/K. Dots mark the classes of the learnt marginal.
The right plot gives the marginal π* that minimises cross-entropy to a long-tailed truth minus λ·H_α. Drag α, the imbalance and the weight λ, and watch the tail-to-head ratio of π* against the true one.
Set the imbalance to 200 : 1. With α = 1 the learnt tail class is inflated about twentyfold, and at α = 3 only by about a fifth. Now return to α = 2 and push λ to 5: the tail is again inflated by as much as Shannon's was at λ = 1. H_α is still maximised at the uniform distribution, so α softens the bias towards balance but does not remove it, and λ can undo the gain. For α < 1 the push is stronger than Shannon's.
W-PM-044 · CHILD: spend the physician budget in a one-sided band above the Otsu split
A stream of 400 base OOD scores arrives one at a time (ID if s ≥ τ). At every step CHILD re-splits the history with Otsu (τ). It queries a physician only when the new score falls in the band [τ, τ + Δ], where Δ = Q_α(history) − min(history), and only while budget remains. The labelled features go into ID and OOD caches. Every later score is then shifted by β(δ + H), where δ = S_ID − S_OOD is the difference of nearest-neighbour cosine similarities to the two caches and H is the gated hard vote.
Drag the stream position to replay the stream. The top plot is the score history so far, and the bottom plot is the stream over time with the band as it moved. Change the view to see the calibrated scores cross τ.
Switch on the early outlier. One score far below the rest pushes Δ, which is tied to min(history), from about 0.09 to about 0.9. The band then covers the whole ID side, and the budget runs out near t = 100 rather than t = 220, mostly on easy ID samples. Now change the score scale with β fixed. At ×4 the retrieval shift is too small, and CHILD's errors fall only from 35 to 14 (6 at ×1). At ×0.25 the shift swamps the score and lets OOD samples through. Set β = 0 to see the base detector on its own.
W-PM-047 · One sequence to segment them all: redraw the intensities, keep the labels
This is a toy intensity profile along the spine: bright vertebral bodies with brighter cortical endplates, and darker discs, as in CT. Choose a transform T, drag its strength, and press new draw for fresh random parameters. The coloured label strip underneath never changes, because every T is label-preserving.
Could the family produce the unseen MRI contrast? The bottom plot shows, for 300 random draws spread across the transform families, the correlation r between T(x) and a hand-made MRI-like target profile. r = 1 means the same image up to a positive affine intensity map. Switch the target between T2-like (bright discs) and T1-like (bright marrow, dark discs).
Keep the T2-like target, the CT-to-T2 case that the paper uses to motivate inversion. Here inversion reaches only r ≈ 0.43, because it also turns dark soft tissue bright, and no draw from any family reaches 0.8. The closest are the random function and RedistributeSeg. RedistributeSeg reads the ground-truth mask, so it exists only at training time. Coverage of the real CT-to-MRI mappings is an empirical bet, not a guarantee.
W-PM-054 · PET-Adapter: EM recovers the low frequencies first, and the null space never
This is a 1-D Poisson deblurring toy, y ~ Poisson(Ax + b), with a Gaussian blur A, reconstructed by MLEM. Drag the iteration count k. After only a couple of iterations the low-frequency bands are already right (error ratio near 0), and the high bands stay at 1, meaning nothing has been recovered there. That is why PET-Adapter can invert an early OSEM image to t_r = 0.4 and run just two diffusion steps.
The right-hand plot tracks error and Poisson NLL against k. The measurement loss keeps falling while the error turns back up. Hidden detail adds a fine pattern to the truth in the shaded band where the blur's σ² < 0.01, which is effectively the null space of A.
Slide k from 1 to 300. The NLL falls at every step, but the error bottoms out and then climbs as noise is amplified, so the measurement loss alone cannot say when to stop. Now raise the hidden detail. The measurements barely move, the NLL cannot see the change, and MLEM never recovers it. In PET-Adapter that part of the image can come only from the prior and the MR-weighted TV term, which is why the output depends on how well PET and MR structure agree.
W-PM-078 · BeatRhythm-TTA: a product of three sigmoids never drops below 0.067
Pick a corruption and drag its severity. The top trace is the normalised beat window, with the central QRS strip used for conc shaded and the moving-average baseline used for bwr dashed. Below, every dot is one of 160 clean or 160 corrupted toy beats placed at its SQI = σ(conc)·σ(sharp)·σ(−bwr); the ringed dot is the beat on top.
Drag the quality threshold τq and watch which beats fall below it (hollow dots are gated out). The shaded band is the range the formula, as written, can reach at all.
At the paper's τq = 0.05 not a single beat is gated: the band starts at 0.067. Push τq up to about 0.2 and the gate finally bites, but it drops clean beats while muscle noise (its jagged samples inflate sharp) sails through.
W-PM-122 · BrReMark: GRPO rescales every group to unit spread, whatever the reward was worth
Six sampled responses to one training scan. The top panel stacks each response's reward rᵢ = rfmt + min(IoU, 0.5) + rllm; dashed outlines are what a gate removed. The bottom panel is the advantage Âᵢ = (rᵢ − μr)/σr that actually drives the policy update.
Click a column to select a response, then change its IoU, judge score, format score or gates. Switch between a real lesion scan, a synthetic one (no judge term) and a healthy scan (boxing anything zeroes the reward).
On the synthetic scan, drag response 5's IoU from 0.95 down to 0.50: neither its reward nor its advantage moves, because rloc saturates. Then press “make rewards almost equal”: rewards now differ by hundredths, yet the advantages still run from about −1.5 to +1.5, so noise-level reward gaps get full-strength updates.
W-PM-124 · HD-TTA: the selector only checks the mean intensity of the recruited voxels
A one-dimensional tumour profile: a bright core, a neighbouring region the baseline only half-segments, and optionally a spurious island. Both energies are optimised live on the logits (1000 Adam steps each): compact = entropy + TV + gravity, diffuse = entropy + Σ g|∇P| − λinfμP, both anchored to z₀.
Change the brightness and texture of the neighbouring region and watch the lower panel: the diffuse mask is kept only when d = |μΔ − μcore|/σcore is small enough that Srep = exp(−½(d/γ)²) exceeds 0.95.
Keep the intensity at 0.87 (same mean as the core) and raise the texture to 0.3: the recruited region now looks nothing like the core, yet d stays near zero and the diffuse mask is accepted. The test compares first moments only. Then push λinf past 9: the balloon leaks across the whole profile, and this is what the selector does catch.
W-PM-142 · CoRe-DA: anchoring on exemplars helps only if the relative head is less shifted
Each row is one labelled source exemplar Em (blue dot, its known score). The relative head predicts the difference Δ̂ between target and exemplar, and the arrow ends at that exemplar's vote ŷT,m = yE,m + Δ̂ (orange). The orange line is the average vote ȳT; the grey dashed line is the absolute head on the shifted target video.
Drag the dark target line (or use the slider), and give the relative head noise, a scale error κ (Δ̂ = (1+κ)Δ + b) or an offset b. The “training pull” mimics the target consistency loss, which drags every vote towards the stop-gradient absolute prediction.
Set κ = 0.3 with the target at 19: the votes fan out, but exemplars sit on both sides, so the errors cancel and ȳT barely moves. Drag the target to 28 and they all err the same way. Then raise the training pull to 1: the two heads agree perfectly, on the absolute head's wrong answer.
W-PM-180 · PROTON: confident shifted embeddings fool softmax but not prototypes
A two-dimensional slice of the embedding sphere: three class text embeddings (dashed spokes), in-distribution image embeddings (blue) and covariate-shifted ones (orange). The test stream is replayed once; every sample whose softmax confidence clears the gate γ enters its class's FIFO bank (size 100), and the blue arrows are the renormalised bank means μc. Ringed orange dots ended up inside a bank.
Move the shifted clusters in towards the text spokes or out beyond them, change the gate and the temperature, and compare the two scores in the scatter below. The dashed line is the fused-score threshold that keeps 95% of in-distribution samples.
At the default 75° the shifted points are the most confident of all, so MCM ranks them as the least OOD (AUROC 0.00). Their MCM scores cluster, so the running variance stays below σ₀² = 0.02 and αt sits near 0.6, far from its minimum 0.3: the fusion keeps leaning on the score that is failing. Raising γ does not help either: at 0.99 the banks hold only shifted points. Finally push the shifted share to 0.5: the confident shifted points flood the banks, the outer prototypes drift towards them and even the prototype AUROC falls to about 0.4.
W-PM-207 · JANUS: pooling is blind to size, and the size gate can only switch evidence off
Grow the organ: the ROI covers more tokens, but every token looks the same and attention weights sum to one, so the pooled embedding zv never changes and neither does the visual-only probability. Only the segmentation-derived measurement s (z-scored volume) moves, marked on the curve below.
The size-sensitive channel is scaled by the gate g₁ = σ(Wgs + bg); the other channel keeps its initial gate σ(2) ≈ 0.88. Change the gate's slope and bias, and flip the sign of the evidence that channel carries.
With positive evidence, no setting of the gate can lift the blue curve above the dashed visual-only line: the gate can veto, never promote. Drag w₁z₁ below zero and the same “veto” turns into a boost, because shrinking a negative term raises the logit.