Revisiting Weakly-Supervised Video Scene Graph Generation via Pair Affinity Learning¶
Conference: ECCV 2026
Paper: ECCV 2026
Code: https://github.com/minseokii/PAWS
Area: Video Understanding
Keywords: video scene graph generation, weakly supervised learning, pair affinity, vision-language grounding, attention modulation
TL;DR¶
This paper shows that weakly-supervised video scene graph generation (WS-VSGG) inherits the fully-supervised two-stage pipeline without accounting for a fundamental shift: an off-the-shelf detector indiscriminately detects objects irrelevant to any interaction, yet these unmatched pairs are discarded at training time, so the model is trained only on interactive pairs while at inference it must rank over a detection space dominated by non-interactive ones. The authors introduce a learnable pair affinity — RAM refines pseudo-labels via vision-language grounding, PALS multiplies an affinity score into inference-time ranking, and PAM gates spatial and temporal attention by affinity — raising weakly-supervised STTran from 15.39 to 22.24 R@10 on Action Genome.
Background & Motivation¶
Video scene graph generation (VSGG) parses a video into structured triplets of the form ⟨subject, predicate, object⟩ that capture spatial and temporal interactions between entities, and it underpins downstream tasks such as video question answering and visual reasoning. Fully-supervised VSGG is hard to scale: every frame needs exhaustive bounding boxes for all objects together with their relationship annotations. This motivated weakly-supervised VSGG (WS-VSGG), and PLA established the setting that later work largely follows — only the middle frame of each clip is annotated, and the triplets are unlocalized: they specify the subject class, predicate, and object class without any bounding box. With no boxes available, proposals must come from an off-the-shelf detector, so nearly all methods adopt a two-stage architecture that detects objects first and predicts relations afterwards.
The problem lies in transplanting that pipeline unchanged: the detector's behaviour has changed completely between the two regimes, while the pipeline has not. On the weakly-annotated training set, a detector fine-tuned on scene graph data produces only about 5.01 proposals per frame, concentrated on relation-relevant objects; an off-the-shelf detector (VinVL in this paper) produces 15.15 per frame, the vast majority irrelevant to any interaction. The conventional pipeline matches proposals to triplets by class identity: class-matched proposals enter the matched set \(P^+\) and receive relation supervision, while unmatched ones \(P^-\) are simply discarded. Consequently the model is trained only on interactive pairs but must rank over a detection space dominated by non-interactive pairs at inference. Worse, objects involved in interactions are frequently partially occluded or motion-blurred, so their detection confidence is low, letting clearly visible but irrelevant background objects outrank them. This is not mere label noise — it is a systematic train-test distribution mismatch.
Fixing only the output ranking is not enough either. Modern VSGG architectures perform contextual reasoning through spatial and temporal attention, where each pair attends to all other pairs and draws context from them; non-interactive pairs participate just the same and dilute the relational context, and temporal attention propagates this uninformative context across frames. On top of that, class-level matching itself produces false positives when multiple instances of the same class coexist in a frame (cup 2 in Figure 1(b) is labelled positive, indistinguishable from the cup 1 that is actually being held), which corrupts both the relation labels and the matched/unmatched partition that affinity supervision rests on. The core idea is to equip the relation prediction model with a learnable pair affinity, a predicate-independent scalar answering whether a subject–object pair actually participates in an interaction, supervised by the matched/unmatched partition as a binary problem, and to let it shape both inference-time ranking and attention gating, with vision-language grounding used to clean up that partition.
Method¶
Overall Architecture¶
The input is a video clip together with unlocalized triplets \(G_u=\{(c_s, p, c_o)\}\) annotated on its middle frame, plus the proposal set produced by an off-the-shelf detector (VinVL) for every frame; the output is a scene graph per frame. The pipeline has three components. RAM is a one-time preprocessing step that uses vision-language grounding to pick, among same-class candidates, the instance most consistent with the described relation, yielding a cleaner matched/unmatched partition. PALS maintains two parallel embeddings inside the relation prediction model — a relation embedding and a pair affinity embedding — trains a binary interaction score on that partition, and multiplies the score into inference-time triplet ranking. PAM injects the affinity matrix as a gate on the attention logits of both spatial and temporal attention, so interactive pairs preferentially attend to each other, and it plugs into attention-based backbones such as STTran and DSG-DETR without architectural changes. The three components depend on one another: the affinity supervision in PALS relies on the clean partition produced by RAM, and PAM in turn cannot work without the affinity embedding that PALS introduces.
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["Middle-frame unlocalized triplets<br/>+ off-the-shelf proposals"] --> B["Relation-Aware Matching<br/>VL grounding refines the partition"]
B -->|"produces P+ / P−"| C["Pair Affinity Learning and Scoring<br/>decoupled relation / affinity embeddings"]
C -->|"affinity embedding gates each layer"| D["Pair Affinity Modulation<br/>gates spatial and temporal attention"]
D -->|"decodes PC and PA"| E["Score = conf·conf·PC·PA<br/>ranking yields per-frame scene graphs"]
Key Designs¶
1. Relation-Aware Matching: resolving class-level matching ambiguity with vision-language grounding
Constructing pseudo-localized supervision means matching unlocalized triplets to detection boxes, but a triplet only supplies class identity and no spatial information, so existing methods treat every class-matched detection as a positive pseudo-label: for an entity \(c\in\{c_s,c_o\}\) they take \(D_c=\{d_j\in D_t: c_j=c\}\). Whenever several instances of the same class coexist in a frame this necessarily fails — the non-interactive cup 2 and the cup 1 that is actually being held are labelled identically, and the resulting false positives poison both objectives: predicate classification receives wrong relation labels, and pair affinity learning receives a corrupted matched/unmatched partition.
RAM builds, for each entity of the triplet, a relation-aware text query (for ⟨person, holding, cup⟩, the query is "cup that the person is holding") and feeds it into a vision-language grounding model together with the frame, extracting the [CLS] cross-modal attention map \(A\in\mathbb{R}^{H_a\times W_a}\) from the final feature enhancer layer. Because the query encodes not only the target class but also its relational context, \(A\) concentrates naturally on the instance actually engaged in that relation. Attention maps are not always reliable, however, so spatial concentration is used as a proxy for localization reliability: \(A\) is normalized into a probability distribution \(W\), and its spatial dispersion \(\sigma_{\text{spat}}\) around the weighted centroid is measured — concentrated attention indicates a clear visual referent, dispersed attention indicates either failure to disambiguate the candidates or the absence of the target. Grounded matching is performed only when the reliability score exceeds \(\tau_r=0.3\); otherwise the method falls back to class-level matching. (⚠️ The reliability formula is corrupted in the cached text; only its meaning is restated here from the prose — refer to Eq.1 of the original paper for the exact form.)
For a reliable attention map, each candidate box \(b_k\) is scored by two complementary quantities: concentration \(C\), the fraction of the total attention mass captured inside the box, and density \(\rho\), the attention mass per unit area, combined into the grounding score \(\text{GS}(b_k)=C(b_k)\cdot\sigma(\rho(b_k))\). The detection with the highest GS is selected as the match, provided it exceeds \(\tau_{gs}=0.2\); if neither condition holds, the triplet is discarded. This step runs once before training and leaves the inference path untouched, so it adds no inference overhead.
2. Pair Affinity Learning and Scoring: learning "whether they interact" separately from "which relation it is"
Correcting the ranking alone still leaves the model unaware of which pairs deserve attention. PALS maintains two parallel embeddings per subject–object pair: a relation embedding \(R\) encoding which predicate the pair performs, and a pair affinity embedding \(P\) encoding whether the pair genuinely participates in a meaningful interaction. \(R_0\) follows the pair representation of STTran / DSG-DETR, built by concatenating subject and object detection features, their spatial union feature, and class embeddings; \(P_0\) is then derived from \(R_0\) through a projection MLP, on the grounds that the visual and semantic cues already present in \(R_0\) provide a reasonable prior for the initial interaction likelihood. The two embeddings are refined jointly through \(L\) spatial and temporal attention layers, progressively diverging toward their respective objectives.
The decoupling is explicit rather than implicit because the two objectives have fundamentally different characteristics: predicate classification is a fine-grained multi-class problem defined over interacting pairs, whereas affinity is a binary decision that must additionally cover the far more numerous non-interactive pairs. Under weak supervision, where the available supervision is scarce and noisy, a single embedding can hardly learn both implicitly; separating them gives each embedding its own supervision signal and data distribution, reducing the burden on the model under constrained supervision. The affinity score is produced by projecting the final-layer affinity embedding through an MLP followed by a sigmoid, \(PA_{(s,o)}=\sigma(\text{MLP}_{PA}(P_L^{(s,o)}))\), and supervised with a class-balanced binary cross-entropy over \(P^+\) and \(P^-\):
Averaging separately over the two sets and then combining them prevents the majority class from dominating training, since non-interactive pairs vastly outnumber interactive ones under weak supervision. (⚠️ Eq.4 is corrupted in the cached text and the negative term is missing; the expression above is completed as binary cross-entropy — refer to the original paper for the exact notation.)
At inference the affinity is multiplied into the final ranking score:
The conventional score uses only \(\text{conf}_s\cdot\text{conf}_o\cdot\text{PC}_p\), and this function systematically penalizes genuinely interactive pairs: objects in interaction are often partially occluded or motion-blurred, so their detection confidence is low, letting clearly visible but irrelevant background objects outrank them. Multiplying by the affinity suppresses non-interactive pairs no matter how confident their detection or how high their predicate score, so ranking is no longer dictated by detector confidence alone.
3. Pair Affinity Modulation: gating attention with affinity so non-interactive pairs cannot dilute context
Fixing the ranking does nothing for the quality of the model's internal reasoning: each pair still attends to all other pairs in the sequence and non-interactive pairs contribute context just the same; in temporal attention this is further amplified, as non-interactive pairs from adjacent frames propagate uninformative context across time. PAM instead allocates information flow directly inside the attention layers according to affinity. Within attention block \(i\), a pair-wise affinity matrix \(G_i=P_iP_i^\top\) is constructed from the affinity embeddings, where \(P_i\) follows the same sequence composition as \(R_i\) — spatial attention operates over pairs within a single frame, temporal attention over pairs across frames, with the specific grouping determined by the backbone. Since \(G_i\) and the attention logits share the same sequence structure, each element of \(G_i\) corresponds exactly to an attention weight between two pairs, enabling element-wise gating:
Information flow between low-affinity pairs is suppressed and the attention mass is redistributed toward interactive pairs, filtering noise before it propagates across frames. The attention output updates the relation embedding \(R\) through the FFN and the affinity embedding \(P\) through a projection MLP, both with residual connections. \(G_i\) receives no direct supervision, so to ensure the final affinity matrix still separates interactive from non-interactive pairs clearly, a triplet ranking loss is applied to \(G_L\): with a pair \(a\) as anchor, its affinity with an interactive pair \(b^+\) must exceed its affinity with a non-interactive pair \(b^-\) by at least a margin \(m\). This constrains only relative ordering, never absolute affinity values. Because PAM touches nothing but the attention logits, it is a plug-and-play module for any attention-based relation prediction architecture, which the paper verifies on both STTran and DSG-DETR.
Loss & Training¶
The overall objective sums relation classification with the two affinity losses, \(L=L_{rel}+\lambda_{PA}L_{PA}+\lambda_{PAM}L_{PAM}\). \(L_{rel}\) is the standard relation classification loss, applied only to \(P^+\) following the backbone architecture; \(L_{PA}\) is the class-balanced binary loss above; \(L_{PAM}\) is the margin ranking loss on the final-layer affinity matrix. Training follows the two-stage PLA pipeline, with VinVL generating proposals and no ground-truth boxes used anywhere. On the RAM side, GroundingDINO (Swin-B backbone) is used with reliability threshold \(\tau_r=0.3\) and grounding score threshold \(\tau_{gs}=0.2\); all experiments run on a single RTX 3090. The two weights \(\lambda\) are not given in the main text — ⚠️ refer to Supplementary Sec. A.3 of the original paper.
Key Experimental Results¶
Main Results¶
The dataset is Action Genome (AG): 234,253 frames from 9,201 videos, 36 object categories and 25 predicate categories, split into 7,464 training and 1,737 test videos following prior work, with only the middle-frame unlocalized triplets as supervision. The protocol is Scene Graph Detection (SGDet, no ground-truth boxes, objects and relations predicted jointly), and the metric is Recall@K (K ∈ {10, 20, 50}) under two settings: With Constraint (only the top-scoring predicate retained per pair) and No Constraint (multiple predicates per pair allowed).
| Backbone | Supervision | Method | With Constraint R@10 / R@20 / R@50 | No Constraint R@10 / R@20 / R@50 |
|---|---|---|---|---|
| — | Zero-shot | RLIPv2 Vanilla | 5.06 / 8.37 / 10.05 | 5.98 / 14.60 / 21.42 |
| STTran | Full | Vanilla | 25.20 / 34.10 / 37.00 | 24.60 / 36.20 / 48.80 |
| STTran | Weak | PLA | 15.39 / 21.44 / 26.24 | 15.83 / 22.83 / 31.74 |
| STTran | Weak | PLA + Ours | 22.24 / 26.48 / 28.00 | 23.20 / 30.24 / 37.47 |
| STTran | Weak | TRKT | 17.56 / 22.33 / 27.45 | 18.76 / 24.49 / 33.92 |
| STTran | Weak | TRKT† | 15.11 / 20.63 / 26.02 | 15.73 / 22.64 / 31.23 |
| STTran | Weak | TRKT† + Ours | 19.63 / 24.29 / 27.55 | 21.13 / 27.95 / 35.89 |
| DSG-DETR | Full | Vanilla | 30.30 / 34.80 / 36.10 | 32.10 / 40.90 / 48.30 |
| DSG-DETR | Weak | PLA | 15.47 / 21.33 / 25.86 | 15.66 / 22.71 / 31.90 |
| DSG-DETR | Weak | PLA + Ours | 21.88 / 25.92 / 27.41 | 23.13 / 30.34 / 37.51 |
| DSG-DETR | Weak | TRKT† | 15.23 / 20.10 / 25.92 | 15.60 / 22.09 / 31.18 |
| DSG-DETR | Weak | TRKT† + Ours | 19.32 / 24.81 / 27.86 | 21.08 / 28.14 / 35.96 |
(† marks results reproduced with official code under identical settings; the Full rows are the fully-supervised upper bounds for each backbone, and RLIPv2 is an image-level relation detection model applied zero-shot. The authors additionally validate the same gains on VidHOI, which has a larger vocabulary (78 object and 50 predicate categories), but the numbers are deferred to Supplementary Sec. C.)
Ablation Study¶
Starting from PLA + STTran as the baseline, the three components are added incrementally (PAM requires the affinity embedding introduced by PALS and therefore cannot be used alone; with PALS but without PAM, affinity is used only for inference-time ranking while attention modulation and the ranking loss are disabled):
| Config | With R@10 / R@20 / R@50 | No R@10 / R@20 / R@50 | Note |
|---|---|---|---|
| (a) Baseline PLA | 15.39 / 21.44 / 26.24 | 15.83 / 22.83 / 31.74 | no component |
| (b) + PALS | 19.79 / 24.00 / 26.34 | 21.03 / 26.94 / 33.63 | largest single-component gain |
| (c) + PALS + PAM | 20.22 / 24.48 / 26.83 | 21.63 / 27.84 / 34.73 | PAM adds a steady gain over PALS |
| (d) + RAM | 15.90 / 21.87 / 26.63 | 16.46 / 23.33 / 32.36 | almost no gain alone |
| (e) + RAM + PALS | 22.14 / 25.74 / 27.07 | 23.12 / 29.94 / 36.35 | RAM amplifies PALS |
| (f) All | 22.24 / 26.48 / 28.00 | 23.20 / 30.24 / 37.47 | best; the three are synergistic |
A separate analysis of RAM's effect on pseudo-label quality (Match = number of pseudo-localized labels generated, TP = number hitting ground truth):
| Detector | VL Model | Match | TP | Precision | Recall | F1 |
|---|---|---|---|---|---|---|
| PLA | – (original class-level matching) | 16,137 | 6,480 | 0.4016 | 0.4423 | 0.4209 |
| PLA | GLIP | 9,109 | 5,363 | 0.5888 (+46.6%) | 0.3660 (−17.2%) | 0.4514 (+7.2%) |
| PLA | GDINO | 8,067 | 5,853 | 0.7255 (+80.6%) | 0.3995 (−9.7%) | 0.5153 (+22.4%) |
| TRKT | – (original class-level matching) | 21,976 | 7,012 | 0.3191 | 0.4786 | 0.3829 |
| TRKT | GLIP | 11,945 | 5,472 | 0.4581 (+43.6%) | 0.3735 (−22%) | 0.4115 (+7.5%) |
| TRKT | GDINO | 10,444 | 5,846 | 0.5597 (+75%) | 0.3990 (−17%) | 0.4659 (+22%) |
Key Findings¶
- PALS is the answer to the primary bottleneck: added without RAM, PALS alone lifts (W)R@10 from 15.39 to 19.79, the largest single-component gain, confirming that the inability to filter non-interactive pairs is indeed the first bottleneck of WS-VSGG. Combined with RAM the gain grows further (19.79 → 22.14), because the cleaner partition directly improves the quality of affinity supervision.
- RAM alone barely helps; its value is amplifying PALS: adding RAM by itself moves (W)R@10 only from 15.39 to 15.90 ((N)R@10 15.83 → 16.46). It reduces label noise but simultaneously reduces the number of matched pairs, while the model at that stage still trains exclusively on matched pairs; the benefit of the refined partition only materializes once unmatched pairs enter training as negative supervision ((b) → (e)). This "looks useless, is actually pivotal" dependency is exactly the evidence that the three components form an interdependent pipeline.
- PAM improves predicate classification itself, and more so at high K: adding PAM on top of PALS improves R@10 / R@20 / R@50 by 0.43 / 0.48 / 0.49 under With Constraint and by 0.60 / 0.90 / 1.10 under No Constraint. The gain grows with K, indicating that removing noisy context lets the model place more correct triplets within a larger candidate budget rather than merely reordering existing outputs.
- Separability of the affinity score and its ranking benefit: on the test set the affinity scores of non-interactive pairs (693,945) cluster near zero while those of interactive pairs (63,737) peak around 0.7–0.9, a clearly separated pair of distributions (a positive-to-negative ratio of roughly 1:10.9, which also explains why the loss must be class-balanced). Using the same trained weights and toggling only whether the affinity score is multiplied in at inference, (W)R@10 rises from 17.08 to 22.24 (+5.16) and (N)R@10 from 16.26 to 23.20 (+6.94) — larger gains under tighter budgets, so the affinity mainly pushes genuinely interactive pairs into the top-K.
- Gap to full supervision: the best configuration (PLA + Ours on STTran) reaches 88.3% of the fully-supervised upper bound in (W)R@10 and 94.3% in (N)R@10, with average gains of +5.47 in (W)R@10 and +6.43 in (N)R@10 across the four baseline–backbone combinations. At R@50 the gap is still visible (28.00 vs 37.00), so long-tail recall remains the hard part of weak supervision.
- RAM is not tied to one VL model: swapping in GLIP still raises pseudo-label precision by 46.6% for PLA and 43.6% for TRKT, though below the +80.6% / +75% of GroundingDINO. Even after refinement, TRKT's precision ceiling (0.56) stays well below PLA's (0.73), which directly explains why TRKT + Ours trails PLA + Ours in the main table — its starting label quality is worse.
Highlights & Insights¶
- Diagnosing the problem as a distribution mismatch rather than label noise: two facts — 5.01 vs 15.15 detections per frame, and "training only ever sees \(P^+\) while inference faces a space dominated by \(P^-\)" — quantify the bottleneck. Arguing that an implicit assumption of the old pipeline has stopped holding and then modifying exactly that assumption is far more persuasive than stacking modules.
- A free localizer: RAM trains nothing new; it reuses the spatial concentration of an off-the-shelf VL model's cross-modal attention as both a reliability signal and a candidate score, runs once before training, and costs nothing at inference. Any task that already has a VL grounding model can use the same trick to bind a free-form description to a specific instance.
- Decoupled dual embeddings are a transferable structure: the main task (fine-grained multi-class, defined only over positives) and the gating task (binary, with a severely imbalanced negative pool) are optimized by two parallel embeddings instead of one embedding implicitly doing both. Any architecture with "a main task plus an auxiliary decision about whether a pair should participate in that task" can reuse this pattern.
- The affinity matrix gates attention rather than only ranking: because \(G_i=P_iP_i^\top\) shares the sequence structure of the attention logits, element-wise gating becomes possible — an extremely lightweight way to let an auxiliary score improve the main network's internal computation, adding no branch and no backbone interface change.
- A concrete transferable idea: video question answering and temporal localization face the same "relevant snippet vs irrelevant snippet" distinction; that distinction can be learned as a scalar, multiplied into inference scores to suppress irrelevant snippets and simultaneously used to gate self-attention so irrelevant snippets cannot dilute context, with both uses sharing one supervision signal.
Limitations & Future Work¶
- Limitations admitted by the authors: the quality of affinity supervision is inherently bounded by the matched/unmatched partition; RAM depends on a pretrained VL model, and reliability estimation, while mitigating uncertain localizations, remains a heuristic proxy. Incorrect grounding can still introduce false positives, and annotation incompleteness can leave false negatives. More principled grounding reliability is listed as future work.
- False negatives are an under-examined risk: supervision only annotates the middle frame, so unmatched pairs include pairs that genuinely interact but are not covered by that annotation. Treating all of them as negative supervision for affinity may suppress relations that should be predicted correctly. The paper discusses the false-positive direction and how reliability estimation mitigates it, but does not quantify the false-negative effect.
- RAM only touches the middle-frame pseudo-label construction: cross-frame supervision still follows PLA's convention that detections matching an annotated entity's class in neighbouring frames become additional training samples, so cross-frame class ambiguity is left to RAM's successor rather than handled — even though the motivation emphasizes that the temporal version of the mismatch is the more severe one.
- Evaluated on a narrow benchmark suite: the main experiments are on Action Genome only, with VidHOI results placed in the supplementary material and no values given in the main text; all experiments run on a single RTX 3090, and the two loss weights \(\lambda_{PA}\) and \(\lambda_{PAM}\) are not disclosed in the main text, so reproduction requires the supplementary material.
- Concrete improvements: replace the heuristic reliability threshold with a calibrated, learnable grounding confidence; use soft labels or uncertainty weighting for unmatched pairs instead of treating them all as hard negatives; extend RAM's relation-aware matching to cross-frame propagation so every propagated sample is also filtered for relation consistency.
Related Work & Insights¶
- vs PLA: PLA first formulated this weakly-supervised setting (middle-frame unlocalized triplets, class-level matching, cross-frame class propagation) but trains only on matched pairs and discards unmatched ones entirely. This paper fully adopts its setting and two-stage pipeline, and contributes exactly the half PLA leaves untouched — treating unmatched pairs as negative supervision and explicitly modelling interaction likelihood in ranking.
- vs TRKT: TRKT argues that off-the-shelf detectors trained on static images give poor proposals in dynamic scenes and instead uses temporal information to refine the detector itself; this paper leaves the detector alone and performs affinity-based filtering on the relation prediction side. From the pseudo-label quality table, TRKT's precision after refinement is still only 0.56 versus PLA's 0.73, showing the two are complementary: detector refinement improves proposal quality, while relation-side affinity learning removes the non-interactive pairs that still slip through.
- vs fully-supervised STTran / DSG-DETR: this paper is a plug-and-play retrofit on top of them, keeping the backbone unchanged and adding one multiplication at inference; the fully-supervised versions ((W)R@10 of 25.20 and 30.30) remain clear upper bounds, and this paper approaches 88%–94% of them using the weakest supervision (single frame, no boxes).
- vs weakly-supervised image scene graph generation: the image domain already used grounding of unlocalized relation labels to regions (e.g. work that matches relation labels to candidate regions), but grounding served only to find regions for relation labels. This paper uses grounding for two purposes at once — deciding which instance it is, and deriving which pairs count as negatives — and the latter is the precondition for affinity learning to work at all.
Rating¶
- Novelty: ⭐⭐⭐⭐ Reframing the WS-VSGG bottleneck as a detection distribution mismatch and deriving a learnable pair affinity from it is a clear, well-argued angle, though "filtering candidate pairs + gating attention" is not an entirely new mechanism.
- Experimental Thoroughness: ⭐⭐⭐⭐ The two backbones × two weakly-supervised baselines × three K values × two constraint settings matrix is fairly complete, with pseudo-label quality and affinity distribution analyses; the weakness is that the main dataset is AG only, with VidHOI in the supplementary material.
- Writing Quality: ⭐⭐⭐⭐ Figures 1 and 2 make the change in detection characteristics and the "training only uses \(P^+\)" convention very intuitive, and each component's motivation maps onto its ablation conclusion.
- Value: ⭐⭐⭐⭐ A plug-and-play, inference-free retrofit of "ranking score + attention gating" is informative for any two-stage weakly-supervised pipeline, and the diagnosis itself is worth borrowing.